XML XSD儲存在單獨的文件中,文件可以連結到XML文件以使用它。
語法
XSD的基本語法如下 -
<?xml version = "1.0"?>
<xs:schema xmlns:xs = "http://www.w3.org/2001/XMLSchema">
targetNamespace = "https://www.tw511.com"
xmlns = "https://www.tw511.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 = "https://www.tw511.com"
上面的片段指定此模式中使用的元素在 https://www.tw511.com
名稱空間中定義。 這是可選的。
xmlns = "https://www.tw511.com"
上面的片段指定預設名稱空間是 https://www.tw511.com
。
elementFormDefault = "qualified"
上面的片段表明,在任何XML Document中使用它們之前,在此模式中宣告的任何元素都必須是名稱空間限定的。它是可選的。
看看以下參照架構 -
<?xml version = "1.0"?>
<class xmlns = "https://www.tw511.com"
xmlns:xsi = "http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation = "https://www.tw511.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 = "https://www.tw511.com student.xsd">
定義XMLSchema-instance xsi
後,使用schemaLocation
屬性。 此屬性有兩個值,XML Schema的名稱空間和位置,由空格分隔使用。它是可選的。