Elemen attribute XML Schema
Definisi dan penggunaan
Elemen attribute mendefinisikan atribut.
Informasi elemen
Kali muncul | Didefinisikan sekali di dalam elemen schema. Di refrensi beberapa kali dalam tipe kompleks atau grup atribut. |
Elemen induk | attributeGroup、schema、complexType、restriction (simpleContent)、extension (simpleContent)、restriction (complexContent)、extension (complexContent) |
Konten | annotation、simpleType |
Gramatika
<attribute default=string fixed=string form=qualified|unqualified id=ID name=NCName ref=QName type=QName use=optional|prohibited|required any attributes > (annotation?,(simpleType?)) </attribute>
(? simbol menyatakan bahwa elemen ini dapat muncul 0 atau 1 kali dalam elemen attribute.)
Atribut
default
Pilihan. Menentukan nilai default atribut. Atribut default dan fixed tidak dapat muncul bersamaan.
fixed
Pilihan. Menentukan nilai tetap atribut. Atribut default dan fixed tidak dapat muncul bersamaan.
form
Pilihan. Menentukan format atribut. Nilai default adalah nilai dari atribut attributeFormDefault elemen schema yang mengandung atribut ini.
- "qualified" - Menunjukkan bahwa atribut ini harus ditentukan melalui prefiks namespace dan nama tanpa tanda kolom (NCName) dari atribut ini.
- "unqualified" - Menunjukkan bahwa atribut ini tidak perlu ditandai dengan awalan ruang nama, dan tidak perlu cocok dengan nama tanpa awalan (NCName), yaitu nama lokal.
id
Pilihan. Tentukan ID unik elemen ini.
name
Pilihan. Tentukan nama atribut. Atribut name dan ref tidak dapat muncul bersamaan.
ref
Pilihan. Tentukan referensi untuk atribut yang ditentukan. Atribut name dan ref tidak dapat muncul bersamaan. Jika ref muncul, elemen simpleType, form, dan type tidak dapat muncul.
type
Pilihan. Tentukan tipe data bawaan atau tipe sederhana. Atribut type hanya muncul ketika konten tidak mengandung elemen simpleType.
use
Pilihan. Tentukan cara penggunaan atribut ini. Dapat diset dengan nilai berikut:
- pilihan - Atribut adalah pilihan dan dapat memiliki setiap nilai (default).
- dilarang - Tidak dapat digunakan atribut.
- diperlukan - Atribut wajib.
any attributes
Pilihan. Tentukan atribut lain yang memiliki ruang nama non-schema.
Contoh
Contoh 1
<xs:attribute name="code"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:pattern value="[A-Z][A-Z]"/> </xs:restriction> </xs:simpleType> </xs:attribute>
Contoh di atas menunjukkan bahwa atribut "code" memiliki batasan. Hanya nilai yang dapat diterima adalah dua huruf besar A hingga Z.
Contoh 2
Untuk menggunakan definisi atribut yang sudah ada dalam tipe kompleks untuk mendeklarasikan atribut, gunakan atribut ref:
<xs:attribute name="code"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:pattern value="[A-Z][A-Z]"/> </xs:restriction> </xs:simpleType> </xs:attribute> <xs:complexType name="someComplexType"> <xs:attribute ref="code"/> </xs:complexType>
Contoh 3
Atribut dapat memiliki nilai default maupun nilai tetap yang ditentukan. Bila tidak ada nilai lain yang ditentukan, akan otomatis menugaskan nilai default ke atribut. Dalam contoh di bawah ini, nilai default adalah "EN":
<xs:attribute name="lang" type="xs:string" default="EN"/>
Bila tidak ada nilai lain yang ditentukan, akan otomatis menugaskan nilai tetap ke atribut. Tetapi berbeda dengan nilai default, jika Anda menentukan nilai lain selain nilai tetap untuk atribut, dokumen akan divalidasi sebagai tidak sah. Dalam contoh di bawah ini, nilai tetap adalah "EN":
<xs:attribute name="lang" type="xs:string" fixed="EN"/>
Contoh 4
Semua atribut secara default adalah opsional. Jika ingin menentukan atribut secara jelas sebagai opsional, gunakan atribut "use":
<xs:attribute name="lang" type="xs:string" use="optional"/>
Buat atribut menjadi atribut wajib:
<xs:attribute name="lang" type="xs:string" use="required"/>