DTD - Elemen

Dalam DTD, elemen di宣言 melalui deklarasi elemen.

Deklarasikan elemen

Dalam DTD, elemen XML di宣言 melalui deklarasi elemen. Deklarasi elemen menggunakan sintaks berikut:

!ELEMENT element name kategori

atau

!ELEMENT element name (element content)

Elemen kosong

Elemen kosong di宣言 dengan kata kunci kategori EMPTY:

!ELEMENT element name EMPTY

Contoh:

!ELEMENT br EMPTY

Contoh XML:

<br />

Elemen yang hanya memiliki PCDATA

Elemen yang hanya memiliki PCDATA di宣言 melalui #PCDATA di dalam tanda kurung: (#PCDATA)

!ELEMENT element name (#PCDATA)

Contoh:

!ELEMENT from (#PCDATA)

Elemen yang memiliki konten apapun

Elemen yang di宣言 dengan kata kunci kategori ANY dapat mengandung kombinasi apapun data yang dapat diurai:

!ELEMENT element name ANY

Contoh:

!ELEMENT note ANY

Elemen yang memiliki elemen anak (urutan)

Elemen yang memiliki satu atau lebih elemen anak diumumkan dengan nama elemen anak di antara tanda kurung:

<!ELEMENT 元素名称 (子元素名称 1)>

atau

<!ELEMENT 元素名称 (子元素名称 1,子元素名称 2,...)>

Contoh:

<!ELEMENT note (to,from,heading,body)>

Ketika elemen anak diumumkan dalam urutan yang dipisahkan koma, elemen-elemen ini harus muncul dalam urutan yang sama dalam dokumen. Dalam deklarasi yang lengkap, elemen anak juga harus diumumkan, dan elemen anak dapat memiliki elemen anak. Deklarasi yang lengkap elemen "note" adalah:

<!ELEMENT note (to,from,heading,body)>
<!ELEMENT to      (#PCDATA)>
<!ELEMENT from    (#PCDATA)>
<!ELEMENT heading (#PCDATA)>
<!ELEMENT body    (#PCDATA)>

Deklarasi elemen yang hanya muncul sekali

<!ELEMENT 元素名称 (子元素名称)>

Contoh:

<!ELEMENT note (message)>

Contoh atas menyatakan: elemen anak message harus muncul sekali, dan hanya dapat muncul sekali dalam elemen "note".

Deklarasi elemen yang muncul paling sedikit sekali

<!ELEMENT 元素名称 (子元素名称+)>

Contoh:

<!ELEMENT note (message+)>

Tanda plus di contoh atas menyatakan: elemen anak message harus muncul paling sedikit sekali dalam elemen "note".

Deklarasi elemen yang muncul nol atau lebih kali

<!ELEMENT 元素名称 (子元素名称*)>

Contoh:

<!ELEMENT note (message*)>

Tanda bintang di contoh atas menyatakan: elemen anak message dapat muncul nol atau lebih kali dalam elemen "note".

Deklarasi elemen yang muncul nol atau sekali

<!ELEMENT 元素名称 (子元素名称?)>

Contoh:

<!ELEMENT note (message?)>

Tanda tanya di contoh atas menyatakan: elemen anak message dapat muncul nol atau sekali dalam elemen "note".

Deklarasi konten tipe "tidak.../atau..."

Contoh:

<!ELEMENT note (to,from,header,(message|body))>

Contoh atas menyatakan: elemen "note" harus mengandung elemen "to", elemen "from", elemen "header", serta elemen yang bukan "message" adalah elemen "body".

Pengumuman konten campuran

Contoh:

<!ELEMENT note (#PCDATA|to|from|header|message)*>

Contoh di atas menyatakan: "elemen note" dapat mengandung PCDATA yang muncul nol kali atau lebih, "to", "from", "header", atau "message".