Extensible Markup Language (XML) 1.0 (Second Edition)
本文檔是 W3C 建議 XML 1.0 第二版(2000 年 10 月 6 日)的簡體中文翻譯版,其中可能有錯誤和不妥之處。
英文版是唯一的正式版,位於:
http://www.w3.org/TR/2000/REC-XML-20001006
本文檔位於:
http://lightning.prohosting.com/~QQiu/REC-XML-20001006-cn.Html
- 譯者:
-
著作權聲明位於:http://www.w3.org/Consortium/Legal/copyright-documents.Html
Copyright © 1998 W3C® (MIT, INRIA, Keio ), All Rights Reserved. W3C liability, trademark, document use and software licensing rules apply.
可擴展標記語言(XML)1.0(第二版)
W3C 建議 2000年10月6日
- 本版本:
- http://www.w3.org/TR/2000/REC-xml-20001006 (XHTML 格式,XML 格式,PDF 格式,用不同顏色標示增刪改的 XHtml 審閱版)
- 最新版本:
- http://www.w3.org/TR/REC-XML
- 以前版本:
- http://www.w3.org/TR/2000/WD-XML-2e-20000814
-
- http://www.w3.org/TR/PR-XML-971208
- 編者:
- Tim Bray,Textuality and Netscape
- Jean Paoli,Microsoft
- C. M. Sperberg-McQueen,University of Illinois at Chicago and Text Encoding Initiative mailto:cmsmcq@uic.edu
- Eve Maler, Sun Microsystems, Inc. mailto:elm@east.sun.com - 第二版
摘要
本文檔完整地描述了可擴展標記語言(Extensible Markup Language,XML),它是標准通用標記語言(Standard Generic Markup Language,SGML)的一個子集。其目的在於使得在 Web 上能以現有超文本標記語言(Hypertext Markup Language,HTML)的使用方式提供,接收和處理通用的 SGML 成為可能。XML 的設計既考慮了實現的方便性,同時也顧及了與 SGML 和 Html 的互操作性。
本文檔的狀態
本文檔已由 W3C 組織成員和其他相關各方審閱,並已被組織理事批准為 W3C 建議。這是一份穩定的文檔,可以用作參考材料,也可以作為其他文檔的正式參考文獻。W3C 在建議制定過程中的作用是吸引對本建議的注意並促進它的廣泛使用。這能增強Web的功能和互操作性。
本文檔規定了一種用於 World Wide Web 的語法,此語法是通過取一個業已存在並已廣泛使用的文本處理國際標准(標准通用標記語言,經增補和更正的 ISO 8879:1986(E))的子集而創建的。它是 W3C XML 行動組(XML Activity)的工作成果,關於 XML 行動組的詳細信息可以在 http://www.w3.org/XML 找到。英文版是唯一的正式版。本文檔的翻譯見 http://www.w3.org/XML/#trans。在 http://www.w3.org/TR 可以找到現有 W3C 建議和其他技術文檔的一個列表。
XML 1.0 第二版不是 XML 的一個新版本(1998 年 2 月 10 日首次發表);它只是為了方便讀者,並入了第一版勘誤表中指出的錯誤和修改(在 http://www.w3.org/XML/xml-19980210-errata)。 本第二版的勘誤表在 http://www.w3.org/XML/XML-V10-2e-errata。
請將本文檔中的錯誤報告給 XML-editor@w3.org。可以在此找到相關的存檔。
注:
C. M. Sperberg-McQueen 在第一版發表之後供職之處已有變化。他現在供職於 W3C,可以通過 cmsmcq@w3.org 和他聯系。
目錄
1. 緒論 1.1 開發者和開發目標 1.2 術語
1. 緒論
可擴展標記語言,縮寫為 XML,描述了一類稱為 XML 文件的數據對象,同時也部分地描述了處理這些數據對象的計算機程序的動作。XML 是 SGML(標准通用標記語言 [ISO 8879])針對特定應用領域的一個子集,或者說是 SGML 的一種受限形式。根據定義,XML 文件是合乎規范的 SGML 文件。
XML 文件由稱為實體的存儲單元組成,實體可以包含已析(parsed)數據或未析(unparsed)數據。已析數據由字符組成,其中一些字符組成字符數據,另一些字符組成標記。標記中包含了對文件存儲格式(storage layout)和邏輯結構的描述。XML 提供了一種機制用於約束存儲格式和邏輯結構。
[定義:稱為 XML 處理器的軟件模塊用於讀取 XML 文件,存取其中的內容和結構。] [定義:XML 處理器被設想為是為另一個稱為應用的模塊作處理。] 本規范從 XML 處理器應如何讀取 XML 數據以及應向應用提供哪些信息的這兩個方面,描述了要求 XML 處理器作出的動作。
1.1 開發者和開發目標
XML 由 XML 工作組(原先的 SGML 編輯審查委員會)開發,此工作組由 World Wide Web Consortium (W3C) 在 1996 年主持成立。工作組由 Sun Microsystems 的 Jon Bosak 負責,同樣由 W3C 組織的 XML SIG (Special Interest Group)(原先的 SGML 工作組)積極參與了 XML 工作組的工作。XML 工作組的成員在附錄中給出。 工作組與 W3C 的聯系人是 Dan Connolly。
XML 的設計目標如下:
- XML 應該可以直接在因特網(Internet)上使用。
- XML 應該支持大量不同的應用。
- XML 應該與 SGML 兼容。
- 處理 XML 文件的程序應該容易編寫。
- XML 中的可選項應無條件地保持最少,理想狀況下應該為 0 個。
- XML 文件應該能夠讓人直接閱讀,而且應該有足夠的可讀性。
- XML 的設計應快速完成。
- XML 的設計應該是形式化的,簡潔的。
- XML 文件應易於創建。
- XML 標記的簡潔性是最不重要的設計目標。
本規范與其他相關的標准一起(Unicode 和 ISO/IEC 10646 定義了字符集,Internet RFC1766 定義了語言識別碼,ISO 639 定義了語言名稱代碼,ISO 3166 定義了國家名稱代碼),提供了理解 XML 版本 1.0 和構建相應計算機處理程序所需的所有信息。
在完整保留所有文本和法律注意事項的前提下,本版本的 XML 規范可以自由分發。
1.2 術語
用於描述 XML 文件的術語在此規范的正文中定義。 在這些定義中以及描述一個 XML 處理器的動作時,使用了下表中的術語:
- 可以(may)
- [定義:允許合乎規范的文件和 XML 處理器按所描述的方式工作,但不要求必須如此。]
- 必須(must)
- [定義:要求合乎規范的文件和 XML 處理器按所描述的方式工作; 否則它們出現錯誤。]
- 錯誤(error)
- [定義:對本規范中的規則的違反;其結果不確定。合乎規范的軟件可以檢測和報告錯誤,並可以從中恢復。]
- 嚴重錯誤(fatal error)
- [定義:合乎規范的 XML 處理器必須檢測到,並向應用報告的一類錯誤。在遇到嚴重錯誤之後,處理器可以繼續處理數據以發現更多的錯誤並可以向應用報告這些錯誤。為了支持錯誤的更正,處理器可以向應用提供文件中未經處理的數據(字符數據和標記的混合體)。但是,一旦檢測到一個嚴重錯誤,處理器必須停止正常的處理(也就是說,它必須停止以正常的方式向應用提供與文件邏輯結構有關的數據和信息)。]
由使用者選擇(at user option)
- [定義:合乎規范的軟件可以或者必須(取決於句子中的情態動詞)按所描述的方式工作; 如果它滿足這個條件,它必須同時提供使用者一種手段,使得使用者能夠啟用和禁用所描述的工作方式。]
- 有效性約束(validity constraint)
- [定義:適用於所有有效的 XML 文件的一種規則。違反有效性約束屬於錯誤;進行驗證的 XML 處理器必須,由使用者選擇,報告這些錯誤。]
- 格式正確性約束(well-formedness constraint)
- [定義:適用於所有格式正確的 XML 文件的一種規則。違反格式正確性約束屬於嚴重錯誤。]
- 匹配(match)
- [定義:(對於字符串和名字:)被比較的兩個字符串或名字必須完全相同。在 ISO/IEC 10646 中有多種可能表示方式的字符(例如,既有預定義 (precomposed) 形式和基字符 (base) + 變音符形式的字符)只在兩個字符串中的表示方式相同時才匹配。不進行字符的大小寫轉換。(對於文法中的字符串和規則:)如果一個字符串屬於一個文法產生式產生的語言,則它匹配這個產生式。(對於內容和內容模型:)當一個元素符合 "元素有效性"約束中的描述時,它匹配其聲明。]
- 出於兼容性考慮(for compatibility)
- [定義:指出此句描述的 XML 特性完全只是為了和 SGML 保持兼容 。]
- 出於互操作性考慮(for interOperability)
- [定義:指出此句是一個不具約束性的建議,目的是增加 XML 文件能被在 ISO 8879 的 WebSGML 改編附件之前已有的 SGML 處理器處理的可能性。]
由使用者選擇(at user option)
- [定義:合乎規范的軟件可以或者必須(取決於句子中的情態動詞)按所描述的方式工作; 如果它滿足這個條件,它必須同時提供使用者一種手段,使得使用者能夠啟用和禁用所描述的工作方式。]
- 有效性約束(validity constraint)
- [定義:適用於所有有效的 XML 文件的一種規則。違反有效性約束屬於錯誤;進行驗證的 XML 處理器必須,由使用者選擇,報告這些錯誤。]
- 格式正確性約束(well-formedness constraint)
- [定義:適用於所有格式正確的 XML 文件的一種規則。違反格式正確性約束屬於嚴重錯誤。]
- 匹配(match)
- [定義:(對於字符串和名字:)被比較的兩個字符串或名字必須完全相同。在 ISO/IEC 10646 中有多種可能表示方式的字符(例如,既有預定義 (precomposed) 形式和基字符 (base) + 變音符形式的字符)只在兩個字符串中的表示方式相同時才匹配。不進行字符的大小寫轉換。(對於文法中的字符串和規則:)如果一個字符串屬於一個文法產生式產生的語言,則它匹配這個產生式。(對於內容和內容模型:)當一個元素符合 "元素有效性"約束中的描述時,它匹配其聲明。]
- 出於兼容性考慮(for compatibility)
- [定義:指出此句描述的 XML 特性完全只是為了和 SGML 保持兼容 。]
- 出於互操作性考慮(for interOperability)
- [定義:指出此句是一個不具約束性的建議,目的是增加 XML 文件能被在 ISO 8879 的 WebSGML 改編附件之前已有的 SGML 處理器處理的可能性。]