elemen anyAttribute XML Schema

definisi dan penggunaan

elemen anyAttribute memungkinkan penulis untuk memperluas dokumen XML melalui atribut yang belum disebutkan dalam schema.

informasi elemen

item penjelasan
kemunculan kali tidak terbatas
element parent complexType, restriction (simpleContent), extension (simpleContent), restriction (complexContent), extension (complexContent), attributeGroup
konten catatan

sintaksis

<anyAttribute
id=ID
ruang_nama=ruang_nama
processContents=lewat|lewat|strict
properti apapun
>
(catatan?)
</anyAttribute>

(? simbol menunjukkan bahwa elemen ini dapat muncul nol atau satu kali dalam elemen anyAttribute)

properti

id

Pilihan. Tentukan ID unik elemen ini.

ruang_nama

Pilihan. Tentukan ruang nama yang berisi elemen yang dapat digunakan. Jika ruang nama tidak ditentukan, baku adalah ##any. Jika ruang nama ditentukan, harus berada di antara nilai berikut.

  • ##any - elemen dari ruang nama apapun dapat muncul (baku).
  • ##other - elemen dari ruang nama yang berada di luar ruang nama target elemen ini dapat muncul.
  • ##local - elemen yang tidak diatur ruang nama dapat muncul.
  • ##targetNamespace - elemen dari ruang nama target yang berisi elemen ini dapat muncul.
  • daftar referensi URI ruang nama {##targetNamespace, ##local} - elemen dari daftar ruang nama yang dipisahkan spasi dapat muncul. Daftar ini dapat mengandung berikut: referensi URI ruang nama ##targetNamespace dan ##local.

processContents

Pilihan. Indikator yang menunjukkan bagaimana aplikasi atau pengelola XML harus memproses verifikasi dokumen XML berdasarkan elemen yang ditentukan oleh elemen any. Jika properti processContents tidak ditentukan, baku adalah strict. Jika processContents ditentukan, harus berada di antara nilai berikut.

  • strict - Pengelola XML harus memperoleh arsitektur ruang nama yang diperlukan dan harus memverifikasi semua elemen dari ruang nama ini. (Baku)
  • lewat - Sama seperti strict; namun, tanpa ada kesalahan yang terjadi bahkan jika arsitektur tidak dapat diakses.
  • lewat - Pengelola XML tidak mencoba memverifikasi semua elemen dari ruang nama yang ditentukan.

properti apapun

Pilihan. Tentukan properti lain dengan ruang nama non-schema.

Contoh

Contoh di bawah ini menunjukkan suatu deklarasi untuk elemen "person". Dengan menggunakan elemen <anyAttribute>, penulis dapat menambahkan sejumlah properti apapun untuk elemen "person":

<xs:element name="person">
  <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>