XML Schema(譯按:XML綱要,業界建議不翻[來源請求])如W3C建議,發布於2001年五月,是許多XML綱要語言中的一支。它是首先分離的於XML本身的綱要語言,故取得W3C的推薦地位。
像所有XML綱要語言一樣,XML Schema有時用來表達一組綱要──一組XML文件必須遵守的規定,這樣根據該綱要才『合法(Valid)』。
然而,不像大部分其他綱要語言一樣,XML Schema亦意圖設計來確認在一收集來的資料與內附特殊資料型別的結果,它對開發XML文件處理軟體有助益,不過同時召來了非議。
目錄 |
因為有其他XML綱要語言存在,故在引用這W3C建議的語言時,使用XML Schema或W3C XML Schema,Schema永遠字首大寫。
一個XML Schema的實例是XML Schema定義(XML Schema Definition: XSD),而且通常它的檔名後綴以".xsd"。該語言本身有時在通俗上說成XSD,雖然WXS(對W3C XML Schema來說)是更適當的字頭集縮寫(initialism)。
在它自己的參考資料附錄裡,XML Schema承認受到文件類型定義(DTD)和其他早期XML綱要成就如en:DDML、SOX、XML-Data、以及XDR的影響。它看來從每個老大哥都師法一點點,然而它也在這些老大哥標準間妥協。在這些老大哥語言裡,XDR與SOX在XML Schema發布後仍繼續通行一陣子。不少微軟的產品支援XDR直到2001年十月MSXML 4.0的發佈(MSXML 4.0拋棄了XDR改用XML Schema)。Commerce One, Inc支援它自己的SOX綱要語言直到該公司於2004年末破產。2004年十二月,Novell, Inc.購買了該公司包括那些與SOX相關的專利,據報導是盡力防止被某些不相關的、以打專利相關官司為生的公司剝削圖利[1]。
經過XML Schema為基的驗證後,依照驗證意含的資料模型表達XML文件結構與內容是可能的。XML Schema資料模型包括:
這些訊息集成又叫後Schema驗證資訊集(Post-Schema-Validation Infoset (PSVI))。PSVI賦予合法XML文件它的"型別"並促進以物件般處理文件,如使用物件導向編程(OOP)變化型般操作。
這種對XML資料存取的特別的物件導向編程實現主要為微軟──對XML Schema發展的主要貢獻者──所倡導。轉換一份XML文件到自行資料型別感知物件在某些軟體設計部份相當有利。然而批評家爭論這同時暗中破壞了開放性──XML的主要特徵──並且它偏向於兼容原生於微軟偏好的編程語言的資源類型[2]。
另,從XML Schema資料型別繼承出去的(以及肇因於XML Schema資料型別的)限制、這些資料型別與其他XML Schema間受限的搭配、以及在其他W3C規格裡這些資料型別的相依性,是許多XML軟體發展師的爭論焦點[3]。
一個描述給定的某個國家,非常簡單的Schema範例如下:
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"> <xs:element name="country" type="Country"/> <xs:complexType name="Country"> <xs:sequence> <xs:element name="name" type="xs:string"/> <xs:element name="population" type="xs:decimal"/> </xs:sequence> </xs:complexType> </xs:schema>
遵照該綱目的XML文件範例:
<country xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="country.xsd"> <name>France</name> <population>59.7</population> </country>
|
|||||||||||||||||
|
|||||||||||||||||||||||
stock | retire | vm
Why are we here?
All text is available under the terms of the GNU Free Documentation License
This page is cache of Wikipedia. History