XSD <any>องค์ประกอบ
องค์ประกอบ <any> ช่วยให้เราสามารถขยายเอกสาร XML ด้วยองค์ประกอบที่ไม่ได้ระบุโดยสคีมา!
<any> องค์ประกอบ
องค์ประกอบ <any> ช่วยให้เราสามารถขยายเอกสาร XML ด้วยองค์ประกอบที่ไม่ได้ระบุโดยสคีมา
ตัวอย่างต่อไปนี้เป็นส่วนย่อยจาก XML schema ที่เรียกว่า "family.xsd" มันแสดงการประกาศสำหรับองค์ประกอบ "บุคคล" โดยใช้องค์ประกอบ <any> เราสามารถขยาย (หลัง <lastname>) เนื้อหาของ "บุคคล" ด้วยองค์ประกอบใดก็ได้:
<xs:element name="person">
<xs:complexType>
<xs:sequence>
<xs:element name="firstname" type="xs:string"/>
<xs:element name="lastname" type="xs:string"/>
<xs:any minOccurs="0"/>
</xs:sequence>
</xs:complexType>
</xs:element>
ตอนนี้เราต้องการขยายองค์ประกอบ "บุคคล" ด้วยองค์ประกอบ "ลูก" ในกรณีนี้ เราสามารถทำได้ แม้ว่าผู้เขียนสคีมาด้านบนจะไม่ได้ประกาศองค์ประกอบ "ลูก" ใดๆ ก็ตาม
ดูไฟล์สคีมานี้ชื่อ "children.xsd":
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
targetNamespace="https://www.w3schools.com"
xmlns="https://www.w3schools.com"
elementFormDefault="qualified">
<xs:element name="children">
<xs:complexType>
<xs:sequence>
<xs:element name="childname" type="xs:string"
maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>
ไฟล์ XML ด้านล่าง (เรียกว่า "Myfamily.xml") ใช้ส่วนประกอบจากสคีมาสองแบบที่แตกต่างกัน "family.xsd" และ "children.xsd":
<?xml version="1.0" encoding="UTF-8"?>
<persons xmlns="http://www.microsoft.com"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.microsoft.com family.xsd
https://www.w3schools.com children.xsd">
<person>
<firstname>Hege</firstname>
<lastname>Refsnes</lastname>
<children>
<childname>Cecilie</childname>
</children>
</person>
<person>
<firstname>Stale</firstname>
<lastname>Refsnes</lastname>
</person>
</persons>
ไฟล์ XML ด้านบนนี้ใช้ได้เนื่องจากสคีมา "family.xsd" ช่วยให้เราขยายองค์ประกอบ "บุคคล" ด้วยองค์ประกอบที่เป็นทางเลือกหลังองค์ประกอบ "นามสกุล"
องค์ประกอบ <any> และ <anyAttribute> ใช้เพื่อสร้างเอกสาร EXTENSIBLE! อนุญาตให้เอกสารมีองค์ประกอบเพิ่มเติมที่ไม่ได้ประกาศใน XML schema หลัก