Dalam DTD, atribut dideklarasikan dengan deklarasi ATTLIST.
Section Artikel
Deklarasi atribut memiliki sintaks berikut:
Sintaks DTD :
<!ATTLIST element-name attribute-name attribute-type attribute-value> DTD example: <!ATTLIST payment type CDATA "check">
Sintaks XML :
<!ATTLIST element-name attribute-name attribute-type attribute-value> XML example: <payment type="check" />
Berikut ini beberapa jenis atribut :
Type | Deskripsi |
---|---|
CDATA | Nilainya adalah data karakter |
(en1|en2|..) | Nilainya harus salah satu dari daftar yang disebutkan |
ID | Nilainya adalah id unik |
IDREF | Nilainya adalah id elemen lain |
IDREFS | Nilainya adalah daftar id lainnya |
NMTOKEN | Nilainya adalah nama XML yang valid |
NMTOKENS | Nilainya adalah daftar nama XML yang valid |
ENTITY | Nilainya adalah entitas |
ENTITIES | Nilainya adalah daftar entitas |
NOTATION | Nilai adalah nama sebuah notasi |
xml: | Nilainya adalah nilai xml yang telah ditentukan sebelumnya |
Berikut ini beberapa nilai-atribut :
Nilai | Penjelasan |
---|---|
value | Nilai default atribut |
#REQUIRED | Atribut wajib diisi |
#IMPLIED | Atributnya opsional |
#FIXED value | Nilai atribut sudah ditetapkan |
DTD :
DTD: <!ELEMENT square EMPTY> <!ATTLIST square width CDATA "0">
XML :
Valid XML: <square width="100" />
Dalam contoh di atas, elemen “square” didefinisikan sebagai elemen kosong dengan atribut “width” berjenis CDATA. Jika tidak ada lebar yang ditentukan, itu memiliki nilai default 0.
<!ATTLIST element-name attribute-name attribute-type #REQUIRED>
DTD: <!ATTLIST person number CDATA #REQUIRED>
Contoh Valid XML :
Valid XML: <person number="5677" />
Contoh Invalid XML :
Invalid XML: <person />
Gunakan kata kunci #REQUIRED jika tidak memiliki opsi untuk nilai default, tetapi masih ingin memaksakan atribut itu ada.
<!ATTLIST element-name attribute-name attribute-type #IMPLIED>
Contoh DTD :
DTD: <!ATTLIST contact fax CDATA #IMPLIED>
Contoh Valid XML :
Valid XML: <contact fax="555-667788" />
Contoh Invalid XML :
Valid XML: <contact />
Gunakan kata kunci #IMPLIED jika tidak ingin memaksa penulis untuk menyertakan atribut dan tidak memiliki opsi untuk nilai default.
<!ATTLIST element-name attribute-name attribute-type #FIXED "value">
Contoh DTD :
DTD: <!ATTLIST sender company CDATA #FIXED "Microsoft">
Contoh Valid XML :
Valid XML: <sender company="Microsoft" />
Contoh Invalid XML :
Invalid XML: <sender company="DosenIT" />
Gunakan kata kunci #FIXED bila ingin atribut memiliki nilai tetap tanpa mengizinkan pembuatnya mengubahnya. Jika seorang penulis menyertakan nilai lain, pengurai XML akan mengembalikan kesalahan.
<!ATTLIST element-name attribute-name (en1|en2|..) default-value>
Contoh DTD :
DTD: <!ATTLIST payment type (check|cash) "cash">
Contoh XML :
XML example: <payment type="check" /> or <payment type="cash" />
Gunakan nilai atribut yang disebutkan jika ingin nilai atribut menjadi salah satu dari sekumpulan nilai hukum tetap.