องค์ประกอบ XML Schema anyAttribute
<AnyAttribute> องค์ประกอบที่ช่วยให้เราสามารถขยายเอกสาร XML คุณสมบัติที่ไม่ได้ระบุไว้โดยคี!
<AnyAttribute> องค์ประกอบที่ช่วยให้เราสามารถขยายเอกสาร XML คุณสมบัติที่ไม่ได้ระบุไว้โดยคี!
ตัวอย่างต่อไปนี้เป็นชิ้นส่วนจากเค้าร่าง XML ที่ชื่อ "family.xsd" ของ มันแสดงให้เราเห็นคำสั่งกับ "บุคคล" องค์ประกอบ โดยใช้ <anyAttribute> องค์ประกอบเราสามารถเพิ่มจำนวนของคุณลักษณะใด ๆ ไปยัง "บุคคล" องค์ประกอบ:
<xs:complexType>
<xs:sequence>
<xs:element name="firstname" type="xs:string"/>
<xs:element name="lastname" type="xs:string"/>
</xs:sequence>
<xs:anyAttribute/>
</xs:complexType>
</xs:element>
ตอนนี้เราหวังว่าผ่าน "เพศ" แอตทริบิวต์ที่จะขยาย "บุคคล" องค์ประกอบ ในกรณีนี้เราสามารถทำได้แม้ว่าผู้เขียนของสคีมาข้างต้นไม่เคยประกาศใดแอตทริบิวต์ "เพศ"
ดูไฟล์คีมานี้ชื่อ "attribute.xsd":
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
targetNamespace="http://www.w3schools.com"
xmlns="http://www.w3schools.com"
elementFormDefault="qualified">
<xs:attribute name="gender">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:pattern value="male|female"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
</xs:schema>
XML ต่อไปนี้ (เรียกว่า "Myfamily.xml"), การใช้ส่วนผสมจากสคีมาที่แตกต่างกัน "family.xsd" และ "attribute.xsd" ไปนี้:
<persons xmlns="http://www.microsoft.com"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:SchemaLocation="http://www.microsoft.com family.xsd
http://www.w3schools.com attribute.xsd">
<person gender="female">
<firstname>Hege</firstname>
<lastname>Refsnes</lastname>
</person>
<person gender="male">
<firstname>Stale</firstname>
<lastname>Refsnes</lastname>
</person>
</persons>
ไฟล์ XML ข้างต้นนี้ถูกต้องเพราะสคี "family.xsd" ช่วยให้เราสามารถเพิ่มแอตทริบิวต์ที่ "บุคคล" องค์ประกอบ
<ใด ๆ > และ <anyAttribute> สามารถใช้ในการสร้างเอกสารที่ปรับขนาดได้! พวกเขามีความสามารถในการทำเอกสารที่ไม่ได้มีคำสั่งของเค้าร่าง XML หลักผ่านองค์ประกอบเพิ่มเติม