Can you summarize the following document?
        
  因為有其他XML schema 語言存在,故在引用這W3C建議的語言時,使用XML Schema或W3C XML Schema,Schema永遠字首大寫。  “XML Schema”在2001年5月成為W3C推薦標準。由於“XML Schema”作為一種W3C的推薦標準的名字與廣義的XML Schema 語言存在名稱上的混淆,使用者社群的一部分人採用了“WXS”來稱呼它, 使用者社群的另一部分人採用“XSD”(XML Schema Definition首字母縮略字)來稱呼它。W3C釋出的1.1標準採用了“XSD”作為官方稱呼。

  在官方文件的參考附錄裡,XSD標準承認受到[檔案型別描述|DTD]]和其他早期XML schema 語言的影響,如DDML、Schema for Object-Oriented XML、XML-Data、以及XML data reduced。XSD從中吸收了一些特性,然而也在這些特性中有所折衷。這些早期schema 語言中的XDR與SOX在XML Schema釋出後仍繼續使用了一段時間。不少微軟的產品支援XDR直到2006年十二月MSXML 6.0的釋出(MSXML 6.0拋棄了XDR改用XSD) 。英語:Commerce One, Inc支援它自己的SOX schema 語言直到該公司於2004年末破產。2004年十二月,Novell, Inc.購買了該公司,包括那些與SOX相關的專利,據報導是盡力防止被某些不相關的、以打專利相關官司為生的公司剝削圖利 。  著名的XSD建議的內容但在XML自己的DTD中不可用的特性是名稱空間感知(namespace awareness)與資料型別。  2012年4月, XSD 1.1成為W3C推薦標準。April 2012

  技術上說schema是後設資料的一個抽象集合,包含一套schema component: 主要是元素與屬性的宣告、複雜與簡單資料型別的定義。這些schema component通常是在處理一批schema document時被建立。schema文件包含著schema component的源語言定義。在日常使用中,一個schema文件常被稱作一個schema。  Schema文件通過名稱空間組織起來:所有的被命名的schema component屬於一個目標名稱空間;這個目標名稱空間是schema文件作為整體的一個屬性。schema文件可以包含進來(include)使用同一名稱空間的其它schema文件,也可以匯入(import)使用不同名稱空間的schema文件。  當一個例項文件針對一個schema來驗證有效性時(這一過程稱為"assessment"),用來驗證有效性的schema可以作為引數提供給驗證器,也可以在例項文件中作為兩種特殊屬性之一直接提供: "xsi"是名稱空間"http://www.w3.org/2001/XMLSchema-instance"的傳統字首。  XML Schema Documents通常有副檔名".xsd". XSD還沒有專門的網際網路媒體型別,因此按照 RFC 3023使用"application/xml"或"text/xml".

  主要的schema component有:  其它更專門的schema component包括annotations, assertions, notations, 以及包含了schema整體資訊的schema component.

  簡單資料型別(simple type)包含了可以出現在元素或屬性的文字值。這是XSD與DTD的最大區別。  XSD提供了一套19個基本資料型別:  可以從這些基本資料型別通過三種機制構建三種資料型別:  XSD規範定義了25個匯出資料型別。使用者可以在schema中進一步定義自己的匯出型別。  Restriction機制包括指出最大最小值、正規表示式、限制字串的長度、限制十進位制數的位數等。XSD 1.1又增加了assertions, 即通過一個[XPath 2.0]]表示式給出任意約束的能力。  複雜資料型別描述了一個元素的許可內容。包括這個元素、屬性、子元素的許可內容。複雜型別定義由一套屬性使用與一個內容模型組成。內容模型可以是:  複雜資料型別可以從別的複雜型別匯出: XSD 1.1又增加了assertion方法來約束複雜型別, 即通過一個[XPath 2.0]]表示式必須求值為真

  基於 Schema 的驗證完成後,可以按照 Schema 所隱含的資料模型來表達文件的結構與內容。XML Schema 資料模型包括:  這些資訊的集合即為 Schema 既驗資訊集(Post-Schema-Validation Infoset (PSVI))。對於有效的 XML,PSVI 給它賦以特定的“型別”,從而便於以物件方式來處理整個文件,並應用物件導向程式設計(OOP)正規化。

  XML Schema的主要用途是形式描述XML文件,然而最終的schema除了簡單驗證文件外還有許多其他用途。

  Schema可用於生成程式碼,這稱作{[tsl|en|XML Data Binding}}。這些程式碼允許XML文件的內容作為程式設計環境中的物件。

  Schema可用於產生人可讀的文件來描述一個XML檔案的結構。這在作者利用了標記元素(annotation element)時非常有用。

  雖然XML Schema取得了廣泛的成功應用,但也受到了大量嚴厲的批評,遠超出其他W3C推薦標準。下述研究者很好地總結了這些批評:James Clark, Anders Møller與Michael Schwartzbach, Rick Jelliffe,David Webber.  一般問題:  表達能力的實踐限制:  技術問題:

  一個Schema的簡易示例,描述某個指定的國家,是這樣的:  一份遵從這個檢視的XML檔案:
XSD (XML Schema Definition)是W3C於2001年5月釋出的推薦標準,指出如何形式描述XML文件的元素。XSD是許多XML Schema 語言中的一支。XSD是首先分離於XML本身的schema語言,故取得W3C的推薦地位。