可擴展標記語言,縮寫為 XML,描述了一類稱為 XML 文件的數據對象,同時也部分地描述了處理這些數據對象的計算機程序的動作。XML 是 SGML(標準通用標記語言 [ISO 8879])針對特定應用領域的一個子集,或者說是 SGML 的一種受限形式。根據定義,XML 文件是合乎規范的 SGML 文件。
XML 文件由稱為實體的存儲單元組成,實體可以包含已析(parsed)數據或未析(unparsed)數據。已析數據由字符組成,其中一些字符組成字符數據,另一些字符組成標記。標記中包含了對文件存儲格式(storage layout)和邏輯結構的描述。XML 提供了一種機制用約束存儲格式和邏輯結構。
[定義:稱為 XML 處理器的軟件模塊用讀取 XML 文件,存取其中的內容和結構。] [定義:XML 處理器被設想為是為另一個稱為應用的模塊作處理。] 本規范從 XML 處理器應如何讀取 XML 數據以及應向應用提供哪些信息的這兩個方面,描述了要求 XML 處理器作出的動作。
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 規范可以自由分發。
用描述 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 處理器處理的可能性。]
(
http://www.fanqiang.com)
進入【
UNIX論壇】