Elemen <any> XSD

Elemen <any> memberikan kesempatan bagi kami untuk memperluas dokumen XML melalui elemen yang belum disepakati oleh schema!

Elemen <any>

Elemen <any> memberikan kesempatan bagi kami untuk memperluas dokumen XML melalui elemen yang belum disepakati oleh schema!

Contoh di bawah ini adalah potongan yang diambil dari schema XML yang dinamai "family.xsd". Ini menunjukkan deklarasi untuk elemen "person" melalui penggunaan elemen <any>, kita dapat memperluas konten "person" melalui elemen apapun (setelah <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>

Sekarang, kami ingin menggunakan elemen "children" untuk memperluas elemen "person" ini. Dalam hal ini, kami dapat melakukan hal ini, walaupun penulis schema di atas belum mengumumkan elemen "children" apapun.

Lihat berkas schema ini, yang dinamai "children.xsd":

<?xml version="1.0" encoding="ISO-8859-1"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
targetNamespace="http://www.codew3c.com"
xmlns="http://www.codew3c.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>

Berkas XML ini (dengan nama "Myfamily.xml") menggunakan komponen dari dua schema yang berbeda, "family.xsd" dan "children.xsd":

<?xml version="1.0" encoding="ISO-8859-1"?>
<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.codew3c.com children.xsd">
<person>
<firstname>David</firstname>
<lastname>Smith</lastname>
<children>
  <childname>mike</childname>
</children>
</person>
<person>
<firstname>Tony</firstname>
<lastname>Smith</lastname>
</person>
</persons>

Berkas XML ini adalah yang berlaku, hal ini disebabkan schema "family.xsd" memungkinkan kami untuk memperluas elemen "person" melalui elemen pilihan setelah elemen "lastname".

<any> dan <anyAttribute> dapat digunakan untuk membuat dokumen yang dapat diakses! Mereka memungkinkan dokumen untuk mengandung elemen tambahan yang belum diumumkan dalam schema XML utama.