Einführung in XML
2. Eine Einführung in DTDs
2.2 Die Elemente einer DTD

Untergeordneter Inhalt und Häufigkeitsoperatoren

Mit den bisher vorgestellten Operatoren haben wir keine Möglichkeit, Häufigkeiten auszudrücken. So kann beispielsweise nicht festgelegt werden, wie viele Instanzen eines Elementtyps in einem Element erlaubt sind. Dazu stellt XML drei Operatoren zur Verfügung:
 
Häufigkeitsoperatoren und ihre Bedeutung
Operator Bedeutung
? Das Element kann höchstens einmal vorkommen (Optionalität).
* Das Element kann nie oder beliebig oft vorkommen.
+ Das Element muss einmal oder (kann) beliebig oft vorkommen.
 
 
Hinweis
Wird kein Häufigkeitsoperator verwendet, muss das Unterelement genau einmal vorkommen - sofern es nicht Bestandteil einer Alternativ-Verknüpfung ist.
 
Die Häufigkeitsoperatoren können auf Elemente und Gruppen von Inhaltsmodellen angewendet werden, um komplexe Strukturen zu definieren:
 
Beispiel
<!ELEMENT schuh (name+,preis,bild*,details?)>
 
Die oben stehende Deklaration besagt: Wenn in dem XML-Dokument das Element schuh verwendet wird, dann muss dessen Inhalt mit mindestens einem Unterelement name beginnen, gefolgt von genau einem Unterelement preis, gefolgt von beliebig vielen bild-Unterelementen; das Unterelement details ist optional. Ein XML-Instanzdokument könnte dann beispielsweise so aussehen:
 
Beispiel
<schuh>
   <name>Tennisschuh</name>
   <name>Tennisschuh fuer Herren</name>
   <name>Modischer Tennisschuh</name>
   <preis>08</preis> 
   <bild/>
</schuh>