XSD Elemen <any>
Elemen <any> memungkinkan kita untuk memperluas dokumen XML dengan elemen yang tidak ditentukan oleh skema!
Elemen <any>
Elemen <any> memungkinkan kita untuk memperluas dokumen XML dengan elemen yang tidak ditentukan oleh skema.
Contoh berikut adalah fragmen dari skema XML yang disebut "family.xsd". Ini menunjukkan deklarasi untuk elemen "orang". Dengan menggunakan elemen <any> kita dapat memperluas (setelah <lastname>) konten "orang" dengan elemen apa pun:
<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>
Sekarang kita ingin memperluas elemen "orang" dengan elemen "anak-anak". Dalam hal ini kita dapat melakukannya, meskipun pembuat skema di atas tidak pernah mendeklarasikan elemen "anak".
Lihat file skema ini, yang disebut "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>
File XML di bawah ini (disebut "Myfamily.xml"), menggunakan komponen dari dua skema berbeda; "family.xsd" dan "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>
File XML di atas valid karena skema "family.xsd" memungkinkan kita untuk memperluas elemen "orang" dengan elemen opsional setelah elemen "nama belakang".
Elemen <any> dan <anyAttribute> digunakan untuk membuat dokumen EXTENSIBLE! Mereka mengizinkan dokumen berisi elemen tambahan yang tidak dideklarasikan dalam skema XML utama.