Home » XML » XSD : Elemen any – Kode dan Contohnya

XSD : Elemen any – Kode dan Contohnya

by Hanifah Nurbaeti
by Hanifah Nurbaeti

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 “person”. Dengan menggunakan elemen <any>, kita dapat memperluas (setelah ) konten “person” dengan elemen apapun:

<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 “person” dengan elemen “children“. Dalam hal ini kita dapat melakukannya, meskipun pembuat skema di atas tidak pernah mendeklarasikan elemen “turunan”.

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>David</firstname>
  <lastname>Beckham</lastname>
  <children>
    <childname>David</childname>
  </children>
</person>

<person>
  <firstname>Stella</firstname>
  <lastname>Margareta</lastname>
</person>

</persons>

File XML di atas valid karena skema “family.xsd” memungkinkan kita untuk memperluas elemen “person” dengan elemen opsional setelah elemen “lastname”.

Elemen <any> dan <anyAttribute> digunakan untuk membuat dokumen MUNGKIN! Hal ini memungkinkan dokumen berisi elemen tambahan yang tidak dideklarasikan dalam skema XML utama.

You may also like