In einer DTD werden die Elemente mit einer Element-Deklaration deklariert.
deklarieren Elements
In einer DTD, XML-Elemente werden mit folgender Syntax deklariert:
<!ELEMENT element-name category>
or
<!ELEMENT element-name (element-content)>
Leere Elemente
Leere Elemente werden mit der Kategorie Schlüsselwort EMPTY deklariert:
<!ELEMENT element-name EMPTY>
Example:
<!ELEMENT br EMPTY>
XML example:
<br />
Elemente mit Parsed Zeichendaten
Elemente mit nur analysiert Zeichendaten werden mit #PCDATA in Klammern erklärt:
<!ELEMENT element-name (#PCDATA)>
Example:
<!ELEMENT from (#PCDATA)>
Elemente mit beliebigen Inhalt
Elemente mit der Kategorie Schlüsselwort ANY erklärt, eine beliebige Kombination von parsable Daten enthalten:
<!ELEMENT element-name ANY>
Example:
<!ELEMENT note ANY>
Elemente mit Kindern (sequences)
Elemente mit einem oder mehreren Kindern sind mit dem Namen der Kinder Elemente in Klammern erklärt:
<!ELEMENT element-name (child1)>
or
<!ELEMENT element-name (child1,child2,...)>
Example:
<!ELEMENT note (to,from,heading,body)>
Wenn Kinder in einer Sequenz durch Komma getrennt erklärt werden, müssen die Kinder in der gleichen Reihenfolge im Dokument angezeigt. In einer Volldeklaration müssen die Kinder auch erklärt werden, und die Kinder auch Kinder haben. Die vollständige Erklärung des "note" Element ist:
<!ELEMENT note (to,from,heading,body)>
<!ELEMENT to (#PCDATA)>
<!ELEMENT from (#PCDATA)>
<!ELEMENT heading (#PCDATA)>
<!ELEMENT body (#PCDATA)>
Deklarieren Nur ein Vorkommen eines Elements
<!ELEMENT element-name (child-name)>
Example:
<!ELEMENT note (message)>
Das Beispiel erklärt oben , dass das Kind - Element "message" einmal vorkommen muss, und nur einmal in der "note" Element.
Deklarieren Minimum ein Vorkommen eines Elements
<!ELEMENT element-name (child-name+)>
Example:
<!ELEMENT note (message+)>
Das + Zeichen im Beispiel erklärt oben , dass das Kind - Element "message" ein oder mehrere Male innerhalb Inspirator "note" Element.
Deklarieren von null oder mehr Vorkommen eines Elements
<!ELEMENT element-name (child-name*)>
Example:
<!ELEMENT note (message*)>
Das * Zeichen im Beispiel erklärt oben , dass das Kind - Element "message" null oder mehrere Male innerhalb der auftreten kann , "note" Element.
Deklarieren von Null oder Eins Vorkommen eines Elements
<!ELEMENT element-name (child-name?)>
Example:
<!ELEMENT note (message?)>
Das ? loggen Sie sich ein Beispiel erklärt , oben , dass das Kind - Element "message" Null oder ein Mal innerhalb der auftreten kann , "note" Element.
Deklarieren entweder / oder Inhalt
<!ELEMENT note (to,from,header,(message|body))>
Das Beispiel erklärt oben , dass die "note" Element ein enthalten muss "to" Element, ein "from" Element, ein "header" Element und entweder eine "message" oder "body" Element.
Deklarieren von Mixed Content
<!ELEMENT note (#PCDATA|to|from|header|message)*>
Das Beispiel erklärt oben , dass die "note" Element null oder mehr Vorkommen von geparsten Zeichendaten enthalten können, "to" , "from" , "header" oder "message" Elemente.