DTD - element

I en DTD deklareres elementer gennem elementdeklarationer.

Deklarer et element

I DTD deklareres XML-elementer gennem elementdeklarationer. Elementdeklarationer bruger nedenstående syntaks:

<!ELEMENT 元素名称 类别>

eller

<!ELEMENT 元素名称 (元素内容)>

Tomme elementer

Tomme elementer deklareres med kategorikortet EMPTY:

<!ELEMENT 元素名称 EMPTY>

Eksempel:

<!ELEMENT br EMPTY>

XML eksempel:

<br />

Elementer, der kun indeholder PCDATA

Elementer, der kun indeholder PCDATA, deklareres med #PCDATA i parentes:

<!ELEMENT 元素名称 (#PCDATA)>

Eksempel:

<!ELEMENT from (#PCDATA)>

Elementer med enhver indhold

Elementer, der er deklarerede med kategorikortet ANY, kan indeholde enhver kombination af parserbare data:

<!ELEMENT 元素名称 ANY>

Eksempel:

<!ELEMENT note ANY>

Elementer med underelementer (sekvens)

Elementer med én eller flere underelementer erklæres gennem underelementernes navne i parentes:

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

eller

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

Eksempel:

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

Når underelementer erklæres som en sekvens adskilt af kommaer, skal disse underelementer optræde i samme rækkefølge i dokumentet. I en fuld erklæring skal underelementerne også erklæres, og underelementerne kan have underelementer. Den fulde erklæring af "note"-elementet er:

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

Erklæring af elementer, der optræder kun én gang

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

Eksempel:

<!ELEMENT note (message)>

De ovennævnte eksempler erklærer: Underelementet "message" skal optræde én gang, og kun én gang inden for "note"-elementet.

Erklæring af elementer, der optræder mindst én gang

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

Eksempel:

<!ELEMENT note (message+)>

Plusstegnet i de ovennævnte eksempler erklærer: Underelementet "message" skal optræde mindst én gang inden for "note"-elementet.

Erklæring af elementer, der optræder nul eller flere gange

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

Eksempel:

<!ELEMENT note (message*)>

Stjerne-tegnet i de ovennævnte eksempler erklærer: Underelementet "message" kan optræde nul eller flere gange inden for "note"-elementet.

Erklæring af elementer, der optræder nul eller én gang

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

Eksempel:

<!ELEMENT note (message?)>

Spørgsmålstegnet i de ovennævnte eksempler erklærer: Underelementet "message" kan optræde nul eller én gang inden for "note"-elementet.

Erklæring af indhold af "ikke.../eller..."-type

Eksempel:

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

De ovennævnte eksempler erklærer: "note"-elementet skal indeholde "to"-elementet, "from"-elementet, "header"-elementet, samt ikke "message"-elementer, men "body"-elementet.

Indikerer en blandet indholdstype

Eksempel:

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

De ovenstående eksempler erklærer: "note" element kan indeholde PCDATA, der kan optræde nul eller flere gange, "to", "from", "header" eller "message".