XSD簡介

XML Schema Definition,通常簡稱爲XSD,是一種精確描述XML語言的方法。 XSD根據相應XML語言的語法規則檢查XML文檔的結構和詞彙的有效性。

XML文檔可以定義爲 -

  • 格式良好 - 如果XML文檔遵循所有常規XML規則,例如標記必須正確嵌套,則必須平衡打開和關閉標記,空標記必須以/>結尾,那麼將其稱爲格式良好。

  • 有效 - XML文檔在不僅格式良好時被認爲是有效的,但它也符合可用的XSD,它指定了它使用的標籤,這些標籤可以包含哪些屬性,以及哪些標籤可以出現在其他標籤中,以及其他標籤和屬性。

下圖顯示瞭如何使用XSD構建XML文檔 -

XSD簡介

下面是一個簡單的XSD代碼 -

<?xml version = "1.0"?>

<xs:schema xmlns:xs = "http://www.w3.org/2001/XMLSchema">
   targetNamespace = "http://www.yiibai.com" 
   xmlns = "http://www.yiibai.com"
   elementFormDefault = "qualified">

   <xs:element name = 'class'>
      <xs:complexType>
         <xs:sequence>
            <xs:element name = 'student' type = 'StudentType' minOccurs = '0' 
               maxOccurs = 'unbounded' />
         </xs:sequence>
      </xs:complexType>
   </xs:element>

   <xs:complexType name = "StudentType">
      <xs:sequence>
         <xs:element name = "firstname" type = "xs:string"/>
         <xs:element name = "lastname" type = "xs:string"/>
         <xs:element name = "nickname" type = "xs:string"/>
         <xs:element name = "marks" type = "xs:positiveInteger"/>
      </xs:sequence>
      <xs:attribute name = 'rollno' type = 'xs:positiveInteger'/>
   </xs:complexType>

</xs:schema>

功能特徵

以下是XSD的一些流行功能特徵列表 -

  • XSD可以擴展以供將來添加。
  • XSD比DTD更豐富,更強大。
  • XSD是用XML編寫的。
  • XSD支持數據類型。
  • XSD支持名稱空間。
  • XSD是W3C的推薦。