Dalam DTD, elemen dideklarasikan dengan deklarasi ELEMENT.
Section Artikel
Dalam DTD, elemen XML dideklarasikan dengan sintaks berikut:
<!ELEMENT element-name category> or <!ELEMENT element-name (element-content)>
Elemen kosong dideklarasikan dengan kata kunci kategori EMPTY:
<!ELEMENT element-name EMPTY> Example: <!ELEMENT br EMPTY> XML example: <br />
Elemen dengan data karakter yang diurai dinyatakan dengan #PCDATA di dalam tanda kurung:
<!ELEMENT element-name (#PCDATA)> Example: <!ELEMENT from (#PCDATA)>
Elemen yang dideklarasikan dengan kategori kata kunci ANY, dapat berisi kombinasi data yang dapat diuraikan:
<!ELEMENT element-name ANY> Example: <!ELEMENT note ANY>
Elemen dengan satu atau lebih anak dideklarasikan dengan nama elemen children di dalam tanda kurung :
<!ELEMENT element-name (child1)> or <!ELEMENT element-name (child1,child2,...)> Example: <!ELEMENT note (to,from,heading,body)>
Jika children dideklarasikan dalam urutan(sequence) yang dipisahkan dengan koma, anak(children) tersebut harus muncul dalam urutan(sequence) yang sama di dokumen. Dalam pernyataan lengkap, anak-anak juga harus diumumkan, dan anak-anak juga dapat memiliki anak. Deklarasi lengkap dari elemen “note” adalah:
<!ELEMENT note (to,from,heading,body)> <!ELEMENT to (#PCDATA)> <!ELEMENT from (#PCDATA)> <!ELEMENT heading (#PCDATA)> <!ELEMENT body (#PCDATA)>
<!ELEMENT element-name (child-name)> Example: <!ELEMENT note (message)>
Contoh di atas mendeklarasikan bahwa elemen turunan(children) “message” harus muncul sekali dan hanya sekali di dalam elemen “note”.
<!ELEMENT element-name (child-name+)> Example: <!ELEMENT note (message+)>
Tanda + dalam contoh di atas menyatakan bahwa elemen turunan(children) “message” harus muncul satu kali atau lebih di dalam elemen “note”.
<!ELEMENT element-name (child-name*)> Example: <!ELEMENT note (message*)>
Tanda * dalam contoh di atas mendeklarasikan bahwa elemen turunan(children) “message” dapat muncul berkali-kali atau lebih di dalam elemen “note”.
<!ELEMENT element-name (child-name?)> Example: <!ELEMENT note (message?)>
Tanda ? di contoh di atas menyatakan bahwa elemen anak(children) “pesan” dapat terjadi nol atau satu kali di dalam elemen “catatan”.
<!ELEMENT note (to,from,header,(message|body))>
Contoh di atas menyatakan bahwa elemen “note” harus berisi elemen “to”, elemen “from”, elemen “header”, dan elemen “message” atau “body”.
<!ELEMENT note (#PCDATA|to|from|header|message)*>
Contoh di atas menyatakan bahwa elemen “note” dapat berisi nol atau lebih kemunculan data karakter yang diurai, elemen “to”, “from”, “header”, atau “message”.