DTD - Element
- Previous Page DTD Building Module
- Next Page DTD Attribute
In einer DTD werden Elemente durch Elementdeklarationen erklärt.
Erklärung eines Elements
In DTDs werden XML-Elemente durch Elementdeklarationen erklärt. Elementdeklarationen verwenden die folgende Syntax:
!ELEMENT 元素名称 类别
oder
!ELEMENT 元素名称 (元素内容)
Leere Elemente
Leere Elemente werden durch den Kategorienamen EMPTY erklärt:
!ELEMENT 元素名称 EMPTY
Example:
!ELEMENT br EMPTY
XML-Beispiel:
<br />
Elemente, die nur PCDATA enthalten
Elemente, die nur PCDATA enthalten, werden durch #PCDATA in Klammern erklärt:
!ELEMENT 元素名称 (#PCDATA)
Example:
!ELEMENT from (#PCDATA)
Elemente mit jedem Inhalt
Elemente, die durch den Kategorienamen ANY erklärt werden, können jede Kombination von parsebaren Daten enthalten:
!ELEMENT 元素名称 ANY
Example:
!ELEMENT note ANY
Elemente mit Unterlementen (Sequenz)
Elemente mit einem oder mehreren Unterlementen werden durch die Namen der Unterlemente in Klammern deklariert:
<!ELEMENT Elementname (Unterlementname 1)>
oder
<!ELEMENT Elementname (Unterlementname 1,Unterlementname 2,...)>
Example:
<!ELEMENT note (to,from,heading,body)>
Wenn Unterlemente in einer durch Komma getrennten Abfolge deklariert werden, müssen diese Unterlemente in der Dokument in derselben Abfolge auftreten. In einer vollständigen Deklaration müssen die Unterlemente ebenfalls deklariert werden, und die Unterlemente können ebenfalls Unterlemente haben. Die vollständige Deklaration des "note"-Elements ist:
<!ELEMENT note (to,from,heading,body)> <!ELEMENT to (#PCDATA)> <!ELEMENT from (#PCDATA)> <!ELEMENT heading (#PCDATA)> <!ELEMENT body (#PCDATA)>
Die Angabe von Elementen, die nur einmal auftreten
<!ELEMENT Elementname (Unterlementname)>
Example:
<!ELEMENT note (message)>
Der obige Beispiel erklärt: Das Unterlement "message" muss einmal auftreten und nur im "note"-Element auftreten.
Die Angabe von Elementen, die mindestens einmal auftreten
<!ELEMENT Elementname (Unterlementname+)>
Example:
<!ELEMENT note (message+)>
Das Pluszeichen im obigen Beispiel besagt: Das Unterlement "message" muss im "note"-Element mindestens einmal auftreten.
Die Angabe von Elementen, die nullmal oder mehrmals auftreten
<!ELEMENT Elementname (Unterlementname*)>
Example:
<!ELEMENT note (message*)>
Das Sternchen im obigen Beispiel besagt: Das Unterlement "message" kann im "note"-Element nullmal oder mehrmals auftreten.
Die Angabe von Elementen, die nullmal oder einmal auftreten
<!ELEMENT Elementname (Unterlementname?)>
Example:
<!ELEMENT note (message?)>
Das Fragezeichen im obigen Beispiel besagt: Das Unterlement "message" kann im "note"-Element nullmal oder einmal auftreten.
Die Angabe von "nicht.../oder..." Typen von Inhalten
Example:
<!ELEMENT note (to,from,header,(message|body))>
Der obige Beispiel erklärt: Das "note"-Element muss die "to"-Elemente, "from"-Elemente, "header"-Elemente sowie die nicht "message"-Elemente "body"-Elemente enthalten.
Mixed content type is declared.
Example:
<!ELEMENT note (#PCDATA|to|from|header|message)*>
The above example declares that the "note" element can contain zero or more occurrences of PCDATA, "to", "from", "header", or "message".
- Previous Page DTD Building Module
- Next Page DTD Attribute