Druck-Version
Deutsch Nederlands English
Inhaltsverzeichnis
Teile: Teil: XML Teil: PHP Quellenverzeichnis
Pfad: > Teil: XML > Strukturelle Grundlagen > Document Type Definitions
Benachbarte Abschnitte: Element Definitionen Attribut Definitionen Entities und Notationen Kritikpunkte an DTD
1.2.7.1. Element Definitionen

Format:

<!ELEMENT name inhaltsdeklaration > 

Die Inhaltsdeklaration kann folgende Werte annehmen:

EMPTY | ANY | mixed | children 

EMPTY : leeres Element

ANY : keine Einschränkungen; sowohl Zeichendaten als Kindelemente in beliebiger Reihenfolge und Häufigkeit möglich

mixed : darf Zeichendaten enthalten, optional gemischt mit Kindelementen, wobei die Typen der Kindelementen beschränkt werden kann, nicht jedoch Reihenfolge und Anzahl. Definition in der Form: ( #PCDATA | name ) * | ( #PCDATA ) *

children : Namentliche Aufzählung der Kindelemente in der erwarteten Reihenfolge

Zur Steuerung stehen verschiedene Operatoren zur Verfügung: Das | (or) Zeichen deutet an, dass eines der genannten optionen enthalten sein muss. Durch Verwendung des Komma (,) wird eine Liste gebildetet, dessen Elemente jeweils vorhanden sein müssen (in der angegebenen Reihenfolge). Das Fragezeichen (?) kennzeichnet den betreffenden Eintrag als optional, das Pluszeichen (+) als mindestens einfach, und das Sternchen (*) als beliebig häufig verhanden. Diese Operatoren dürften bereits aus anderen Bereichen der Informatik bekannt sein, und werden auch innerhalb der XML-Sprachfamilie häufig benutzt.

Beispiel 10: Element-Definitionen
<!ELEMENT br EMPTY> 
<!ELEMENT p ( #PCDATA | emph ) * > 
<!ELEMENT %name.para; %content.para; > 
<!ELEMENT container ANY > 
<!ELEMENT spec ( front, body back? )  > 
<!ELEMENT div1 ( head, ( p | list | note ) *, div2 * ) > 
<!ELEMENT dictionary-body ( %div.mix; | %dict.mix; ) > 
<!ELEMENT p ( #PCDATA | a | ul | b | i | em ) * > 
<!ELEMENT p ( #PCDATA | %font; | %phrase; | %special; | %form: ) * > 
<!ELEMENT b ( #PCDATA ) >