Dalam DTD, atribut dideklarasikan dengan deklarasi ATTLIST.
mendeklarasikan Atribut
Deklarasi atribut memiliki sintaks berikut:
<!ATTLIST element-name attribute-name attribute-type attribute-value>
DTD example:
<!ATTLIST payment type CDATA "check">
XML example:
<payment type="check" />
The attribute-type dapat menjadi salah satu dari berikut:
Mengetik | Deskripsi |
---|---|
CDATA | nilai adalah data karakter |
( en1 | en2 |..) | Nilai harus menjadi salah satu dari daftar enumerated |
ID | nilai adalah id yang unik |
IDREF | nilai adalah id dari elemen lain |
IDREFS | nilai adalah daftar ids lainnya |
NMTOKEN | nilai adalah nama XML yang valid |
NMTOKENS | Nilai adalah daftar nama XML yang valid |
ENTITY | nilai adalah suatu entitas |
ENTITIES | Nilai ini adalah daftar entitas |
NOTATION | Nilai adalah nama dari notasi |
xml: | nilai adalah nilai xml yang telah ditetapkan |
The attribute-value dapat menjadi salah satu dari berikut:
Nilai | Penjelasan |
---|---|
value | Nilai default dari atribut |
#REQUIRED | atribut diperlukan |
#IMPLIED | atribut opsional |
#FIXED value | Nilai atribut adalah tetap |
Sebuah Nilai Atribut default
DTD:
<!ELEMENT square EMPTY>
<!ATTLIST square width CDATA "0">
Valid XML:
<square width="100" />
Dalam contoh di atas, "square" elemen didefinisikan sebagai elemen kosong dengan "width" atribut tipe CDATA. Jika tidak ada lebar yang ditentukan, ia memiliki nilai default 0.
#WAJIB
Sintaksis
<!ATTLIST element-name attribute-name attribute-type #REQUIRED>
Contoh
DTD:
<!ATTLIST person number CDATA #REQUIRED>
Valid XML:
<person number="5677" />
Invalid XML:
<person />
Gunakan kata kunci #REQUIRED jika Anda tidak memiliki pilihan untuk nilai default, tapi masih ingin memaksa atribut untuk hadir.
# TERSIRAT
Sintaksis
<!ATTLIST element-name attribute-name attribute-type #IMPLIED>
Contoh
DTD:
<!ATTLIST contact fax CDATA #IMPLIED>
Valid XML:
<contact fax="555-667788" />
Valid XML:
<contact />
Gunakan kata kunci # TERSIRAT jika Anda tidak ingin memaksa penulis untuk menyertakan atribut, dan Anda tidak memiliki pilihan untuk nilai default.
#TETAP
Sintaksis
<!ATTLIST element-name attribute-name attribute-type #FIXED "value">
Contoh
DTD:
<!ATTLIST sender company CDATA #FIXED "Microsoft">
Valid XML:
<sender company="Microsoft" />
Invalid XML:
<sender company="w3ii" />
Gunakan kata kunci #FIXED ketika Anda ingin atribut memiliki nilai tetap tanpa membiarkan penulis untuk mengubahnya. Jika seorang penulis meliputi nilai lain, XML parser akan kembali kesalahan.
Nilai Atribut disebutkan
Sintaksis
<!ATTLIST element-name attribute-name (en1|en2|..) default-value>
Contoh
DTD:
<!ATTLIST payment type (check|cash) "cash">
XML example:
<payment type="check" />
or
<payment type="cash" />
Gunakan nilai atribut enumerasi ketika Anda ingin nilai atribut untuk menjadi salah satu set tetap nilai-nilai hukum.