About Schema

    XML Schema如W3C建議,發布於2001年五月,是許多XML綱要語言中的一支。它是首先分離的於XML本身的綱要語言,故取得W3C的推薦地位。像所有XML綱要語言一樣,XML Schema有時用來表達一組綱要──一組XML文件必須遵守的規定,這樣根據該綱要才『合法』。然而,不像大部分其他綱要語言一樣,XML Schema亦意圖設計來確認在一收集來的資料與內附特殊資料型別的結果,它對開發XML文件處理軟體有助益,不過同時召來了非議。

    因為有其他XML綱要語言存在,故在引用這W3C建議的語言時,使用XML Schema或W3C XML Schema,Schema永遠字首大寫。

    一個XML Schema的實例是XML Schema定義(XSD),而且通常它的檔名後綴以".xsd"。該語言本身有時在通俗上說成XSD,雖然WXS(對W3C XML Schema來說)是更適當的字頭集縮寫(initialism)。

    經過XML Schema為基的驗證後,依照驗證意含的資料模型表達XML文件結構與內容是可能的。XML Schema資料模型包括:
    字彙(元素與屬性名稱集)
    內容模型(關聯與結構)
    資料型別群
   
    這些訊息集成又叫後Schema驗證資訊集(Post-Schema-Validation Infoset (PSVI))。PSVI賦予合法XML文件它的"型別"並促進以物件般處理文件,如使用物件導向編程(OOP)變化型般操作。

  這種對XML資料存取的特別的物件導向編程實現主要為微軟──對XML Schema發展的主要貢獻者──所倡導。轉換一份XML文件到自行資料型別感知物件在某些軟體設計部份相當有利。然而批評家爭論這同時暗中破壞了開放性──XML的主要特徵──並且它偏向於相容原生於微軟偏好的編程語言的資料型別。另,從XML Schema資料型別繼承出去的(以及肇因於XML Schema資料型別的)限制、這些資料型別與其他XML Schema間受限的搭配、以及在其他W3C規格裡這些資料型別的相依性,是許多XML軟體發展師的爭論焦點。