定義編輯
它的作用是定義一份XML文檔的合法組件群,就像文檔類型定義(外語縮寫:DTD)的作用一樣,一份XML Schema定義了:
•可以出現在文檔里的元素;
•可以出現在文檔里的屬性;
•哪些元素是子元素;
•子元素的順序;
•子元素的數量;
•一個元素應是否能包含文本,或應該是空的;
•元素和屬性的數據類型;
•元素和屬性的默認值和固定值。
優劣點編輯
優點
XML Schema 比 DTD 更強大。其優勢包括以下幾點:[1]
1、支持數據類型
XML Schema 最重要的能力之一就是對數據類型的支持。通過對數據類型的支持:
•可更容易地描述允許的文檔內容
•可更容易地驗證數據的正確性
•可更容易地與來自資料庫的數據一併工作
•可更容易地定義數據約束(data facets)
•可更容易地定義數據模型(或稱數據格式)
•可更容易地在不同的數據類型間轉換數據
2、它使用 XML 語法
另一個關於 XML Schema 的重要特性是,它們由 XML 編寫。由 XML 編寫 XML Schema 有很多好處:
•不必學習新的語言
•可使用 XML 編輯器來編輯 Schema 檔案
•可使用 XML 解析器來解析 Schema 檔案
•可通過 XML DOM 來處理 Schema
•可通過 XSLT 來轉換 Schema
3、可保護數據通信
當數據從傳送方被傳送到接受方時,其要點是雙方應有關於內容的相同的"期望值"。
通過 XML Schema,傳送方可以用一種接受方能夠明白的方式來描述數據。
一種數據,比如 "03-11-2004",在某些國家被解釋為11月3日,而在另一些國家為當作3月11日。
但是一個帶有數據類型的 XML 元素,比如:<date type="date">2004-03-11</date>,可確保對內容一致的理解,這是因為 XML 的數據類型 "date" 要求的格式是 "YYYY-MM-DD"。
4、可擴展性
XML Schema 是可擴展的,因為它們由 XML 編寫。
通過可擴展的 Schema 定義,您可以:
•在其他 Schema 中重複使用您的 Schema
•創建由標準類型衍生而來的您自己的數據類型
•在相同的文檔中引用多重的 Schema
5、可捕獲到錯誤
即使文檔的形式良好,仍然不能保證它們不會包含錯誤,並且這些錯誤可能會產生嚴重的後果。
請考慮下面的情況:您訂購的了 5 打雷射印表機,而不是 5 台。通過 XML Schema,大部分這樣的錯誤會被您的驗證軟體捕獲到。
劣點
雖然被寫入XML是一個優勢,在某些方面也是一個缺點。W3C XML Schema語言特別是可能非常冗長,而DTD可以簡潔且相對容易編輯。
W3C XML Schema沒有實現大部分提供的數據元素到文檔的DTD能力。
繼承性編輯
XML Schema可能很快就會替代文檔類型定義(外語縮寫:DTD)在大多數的網路應用程式中被廣泛使用。[2]
•針對將來的額外內容是可擴展的;
•內容比文檔類型定義(外語縮寫:DTD)豐富,作用也更大;
•是以XML語言編寫而成的;
•支持數據類型;
•支持名稱空間(外語:namespaces)。[2]