DTD - Elemen
Dalam DTD, elemen dideklarasikan dengan deklarasi ELEMEN.
Mendeklarasikan Elemen
Dalam DTD, elemen XML dideklarasikan dengan sintaks berikut:
<!ELEMENT element-name category>
or
<!ELEMENT element-name (element-content)>
Elemen Kosong
Elemen kosong dideklarasikan dengan kata kunci kategori KOSONG:
<!ELEMENT element-name EMPTY>
Example:
<!ELEMENT br EMPTY>
XML example:
<br />
Elemen dengan Data Karakter yang Diurai
Elemen dengan hanya data karakter yang diurai dideklarasikan dengan #PCDATA di dalam tanda kurung:
<!ELEMENT element-name (#PCDATA)>
Example:
<!ELEMENT from (#PCDATA)>
Elemen dengan Konten apa pun
Elemen yang dideklarasikan dengan kata kunci kategori ANY, dapat berisi kombinasi data yang dapat diuraikan:
<!ELEMENT element-name ANY>
Example:
<!ELEMENT note ANY>
Elemen dengan Anak (urutan)
Elemen dengan satu atau lebih anak dideklarasikan dengan nama elemen anak di dalam tanda kurung:
<!ELEMENT element-name (child1)>
or
<!ELEMENT element-name (child1,child2,...)>
Example:
<!ELEMENT note (to,from,heading,body)>
Ketika anak-anak dideklarasikan dalam urutan yang dipisahkan oleh koma, anak-anak harus muncul dalam urutan yang sama dalam dokumen. Dalam deklarasi penuh, anak-anak juga harus dideklarasikan, dan anak-anak juga dapat memiliki anak. Deklarasi lengkap elemen "catatan" adalah:
<!ELEMENT note (to,from,heading,body)>
<!ELEMENT to (#PCDATA)>
<!ELEMENT from (#PCDATA)>
<!ELEMENT heading (#PCDATA)>
<!ELEMENT body (#PCDATA)>
Mendeklarasikan Hanya Satu Kemunculan Elemen
<!ELEMENT element-name (child-name)>
Example:
<!ELEMENT note (message)>
Contoh di atas menyatakan bahwa elemen anak "pesan" harus muncul sekali, dan hanya sekali di dalam elemen "catatan".
Mendeklarasikan Minimum Satu Kemunculan Elemen
<!ELEMENT element-name (child-name+)>
Example:
<!ELEMENT note (message+)>
Tanda + pada contoh di atas menyatakan bahwa "pesan" elemen anak harus muncul satu kali atau lebih di dalam elemen "catatan".
Mendeklarasikan Nol atau Lebih Kemunculan suatu Elemen
<!ELEMENT element-name (child-name*)>
Example:
<!ELEMENT note (message*)>
Tanda * pada contoh di atas menyatakan bahwa "pesan" elemen anak dapat muncul nol kali atau lebih di dalam elemen "catatan".
Mendeklarasikan Nol atau Satu Kemunculan Elemen
<!ELEMENT element-name (child-name?)>
Example:
<!ELEMENT note (message?)>
? tanda pada contoh di atas menyatakan bahwa elemen anak "pesan" dapat muncul nol atau satu kali di dalam elemen "catatan".
Mendeklarasikan salah satu/atau Konten
<!ELEMENT note (to,from,header,(message|body))>
Contoh di atas menyatakan bahwa elemen "catatan" harus berisi elemen "ke", elemen "dari", elemen "tajuk", dan elemen "pesan" atau "tubuh".
Mendeklarasikan Konten Campuran
<!ELEMENT note (#PCDATA|to|from|header|message)*>
Contoh di atas menyatakan bahwa elemen "catatan" dapat berisi nol atau lebih kemunculan data karakter yang diurai, elemen "ke", "dari", "tajuk", atau "pesan".