XSD語法

XML XSD保存在單獨的文檔中,文檔可以鏈接到XML文檔以使用它。

語法
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>

<Schema>元素

Schema是XSD的根元素,它始終是必需的。

<xs:schema xmlns:xs = "http://www.w3.org/2001/XMLSchema">

上面的片段指定模式中使用的元素和數據類型是在 http://www.w3.org/2001/XMLSchema 命名空間中定義的,這些元素/數據類型以xs爲前綴。 它始終是必需的。

targetNamespace = "http://www.yiibai.com"

上面的片段指定此模式中使用的元素在 http://www.yiibai.com 命名空間中定義。 這是可選的。

xmlns = "http://www.yiibai.com"

上面的片段指定默認命名空間是 http://www.yiibai.com

elementFormDefault = "qualified"

上面的片段表明,在任何XML Document中使用它們之前,在此模式中聲明的任何元素都必須是名稱空間限定的。它是可選的。

引用架構

看看以下引用架構 -

<?xml version = "1.0"?>

<class xmlns = "http://www.yiibai.com"
   xmlns:xsi = "http://www.w3.org/2001/XMLSchema-instance"
   xsi:schemaLocation = "http://www.yiibai.com student.xsd">  

   <student rollno = "393">    
      <firstname>Dinkar</firstname>
      <lastname>Kad</lastname>
      <nickname>Dinkar</nickname>
      <marks>85</marks>
   </student>

   <student rollno = "493">     
      <firstname>Vaneet</firstname>
      <lastname>Gupta</lastname>
      <nickname>Vinni</nickname>
      <marks>95</marks>
   </student>

   <student rollno = "593">    
      <firstname>Jasvir</firstname>
      <lastname>Singh</lastname>
      <nickname>Jazz</nickname>
      <marks>90</marks>
   </student>
</class>

上面的片段指定默認名稱空間聲明。 模式驗證器檢查此命名空間是否所有元素都是此命名空間的一部分。它是可選的。

xmlns:xsi = "http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation = "http://www.yiibai.com student.xsd">

定義XMLSchema-instance xsi後,使用schemaLocation屬性。 此屬性有兩個值,XML Schema的名稱空間和位置,由空格分隔使用。它是可選的。