| 譯文 | XPointer element() 模式 | |
|---|---|---|
| ( http://www.opendl.com/openxml/w3/TR/xptr-element/xptr-element-big5.html ) | ||
| 英文 | XPointer element() Scheme | |
| (http://www.w3.org/TR/xptr-element/) | ||
| 注意 |
| |
| 譯者 |
| |
| 時間 | 初次定稿﹕2003 年 8 月 6 日 (NZT) | 最後修改: 2003 年 8 月 13 日 (UTC) |
Copyright © 2003 年 W3C® (MIT, INRIA, Keio), All Rights Reserved. W3C liability, trademark, document use, and software licensing rules apply.
本節描述本文檔在出版時的地位。其它的文檔可能代替本文檔。本文檔系列的最新狀態由 W3C 維護。
本文檔為萬維網協會(W3C)建議(REC)。 本文檔已由萬維網協會(W3C)組織成員和其他感興趣的各方審閱﹐並已被組織理事批准為萬維網協會(W3C)建議。這是一個穩定的文檔﹐可以用作參考材料﹐也可以作為其它文檔的標準參考文獻。W3C 在建議制定過程中的作用是吸引對本規範的注意並促進它的廣泛使用。這能增強 Web 的功能性和互操作性。
本文檔是是作為 W3C XML 制定工作(W3C XML Activity)的一部份的 XML 鏈接工作組的工作成果。它計劃與附隨的 XPointer 架構和 XPointer xmlns() 模式規格說明一起﹐陳述最初的 XPointer 需求的核心子集﹐作為關於 XML 媒體類型的整個或基礎部份的片段標識符語法。
歡迎對本說明提建議。請電郵到公共郵件列表 www-xml-linking-comments@w3.org(存檔)。
有關本規格說明及附隨的 XPointer element() 模式 和 XPointer xmlns() 模式實現的資訊可參看實現報告。
與本推薦相關的應行公告的專利的事項和許可義務﹐依照 W3C 政策可在 XPointer 知識產權聲明頁上查到。
現有 W3C 建議和其它技術文檔的列表在 http://www.w3.org/TR。W3C 出版物可能隨時被其它的文檔更新、代替、或廢除。
XPointer element() 模式計劃與 XPointer 架構〔XPtrFrame〕一起用來對 XML 元素進行基本的定址。
〔定義﹕本規格說明中的關鍵字必須(must)、不能(must not)、必需的(required)、將(shall)、將不(shall not)、應該(should)、不應該(should not)、建議(recommended)、可能(may)、和可選的(optional)依照〔RFC 2119〕所描述的進行解釋。〕
本規格說明中使用的術語指針元件、模式、XPointer 處理器、錯誤和命名空間與上下文的綁定與 XPointer 架構規格說明中所定義的一樣。
用于 element() 模式 的正式文法是在 XML 建議〔XML〕中所描述的、簡單的擴展貝克諾爾格式 (EBNF) 記號。
本規格說明標準化依賴于 XPointer 架構〔XPtrFrame〕規格說明。
支持 element() 模式的 XPointer 處理器依賴于應用程序的能力來清楚地看到 XML 資源﹐正如在 XPointer 架構規格說明中所列出的最低限度的 XML 信息集〔Infoset〕和 XML 模式〔XMLSchema〕信息項和特性。
宣稱支持 element() 模式的、遵從 XPointer 的處理器必須遵照在本規格說明中所定義的行為並可能遵照其它的 XPointer 模式規格說明。
本節描述 element() 模式的語法和語義﹐以及相對本模式來說的 XPointer 處理器的行為。
本模式的名稱為“element”。本模式的語法如下﹔如果帶有 element() 模式的指針元件中的模式數據不遵從在本節中定義的指針元件語法﹐則不標識子資源。
element() 模式語法| [1] | ElementSchemeData | ::= | (NCName ChildSequence?) | ChildSequence
|
| [2] | ChildSequence | ::= | ('/' [1-9] [0-9]*)+ |
模式數據由(如在 XML 命名空間規格說明〔XML-Names〕中所定義的)NCName、或孩子序列、或 NCName 和孩子序列同時組成。
正如在 XPointer 架構〔XPtrFrame〕規格說明中所定義的簡寫指針﹐單獨出現的 NCName 標識一個單一的元素﹐除了不能標識元素的結果只是該指針元件沒有標識任何子資源﹐而非一個 XPointer 架構錯誤。
舉例來說﹐下面的指針元件將標識一個帶有“intro”ID (如 XPointer 架構中所定義) 的元素﹕
element(intro) |
單獨出現的孩子序列經由步進式的導航方式來標識元素﹐它由一個由斜線(/)分開的整數序列來引導﹔每個整數 n 在已經定址的元素中定址第 n 個的孩子元素。在第一個斜線之後的整數 n 找出第 n 個的最高層的元素﹕或是獨一的文檔元素(如果資源是一個 XML 文檔﹐即是[文檔元素]特性﹐這種情況下整數總為 1)﹐或是一些可能的根元素中的一個(如果資源是解析過的外部實體﹐即是實體根元素)。例如﹐假定 XML 資源是一個完整的 XML 文檔﹐以下指針元件在文檔的根元素之內標識第二個孩子元素﹕
element(/1/2) |
在 NCName 之後出現的孩子序列經由步進式的導航方式來標識元素﹐它由指定名稱的元素開始。 例如﹐以下指針元件首先定址由值“intro”標識的元素﹐然後再定址該元素的第三個子元素﹐最後標識該子元素的第一個子元素﹕
element(intro/3/1) |
如果 NCName 或孩子順序不找出一個元素﹐則整個指針元件沒有標識任何元素。
因為不支持合法的名稱﹐element() 模式不使用命名空間與上下文的綁定。