XSD - ไวยากรณ์
XML XSD จะถูกเก็บไว้ในเอกสารแยกต่างหากจากนั้นเอกสารสามารถเชื่อมโยงกับเอกสาร XML เพื่อใช้งานได้
ไวยากรณ์
ไวยากรณ์พื้นฐานของ XSD มีดังนี้ -
<?xml version = "1.0"?>
<xs:schema xmlns:xs = "http://www.w3.org/2001/XMLSchema">
targetNamespace = "http://www.tutorialspoint.com"
xmlns = "http://www.tutorialspoint.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.tutorialspoint.com"
ส่วนด้านบนระบุว่าองค์ประกอบที่ใช้ในสคีมานี้ถูกกำหนดใน http://www.tutorialspoint.comเนมสเปซ เป็นทางเลือก
xmlns = "http://www.tutorialspoint.com"
ส่วนด้านบนระบุว่าเนมสเปซเริ่มต้นคือ http://www.tutorialspoint.com.
elementFormDefault = "qualified"
ส่วนด้านบนระบุว่าองค์ประกอบใด ๆ ที่ประกาศในสคีมานี้ต้องเป็นเนมสเปซที่ผ่านการรับรองก่อนที่จะใช้ในเอกสาร XML ใด ๆ ซึ่งเป็นทางเลือก
การอ้างอิงสคีมา
ดูแผนผังอ้างอิงต่อไปนี้ -
<?xml version = "1.0"?>
<class xmlns = "http://www.tutorialspoint.com"
xmlns:xsi = "http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation = "http://www.tutorialspoint.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 = "http://www.tutorialspoint.com"
ส่วนด้านบนระบุการประกาศเนมสเปซเริ่มต้น เนมสเปซนี้ใช้โดยตัวตรวจสอบสคีมาตรวจสอบว่าองค์ประกอบทั้งหมดเป็นส่วนหนึ่งของเนมสเปซนี้ เป็นทางเลือก
xmlns:xsi = "http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation = "http://www.tutorialspoint.com student.xsd">
หลังจากกำหนด XMLSchema-instance xsi แล้วให้ใช้ schemaLocationแอตทริบิวต์ แอตทริบิวต์นี้มีสองค่าเนมสเปซและตำแหน่งของ XML Schema ที่จะใช้คั่นด้วยช่องว่าง เป็นทางเลือก