DTDs und XSDs verstehen – Teil 1

Elemente eines XML-Dokuments

Jedes XML-Dokument besteht aus einem oder mehreren Elementen. Jedes Element hat einen Typ, wird durch einen Namen identifiziert und kann ein oder mehrere Attribute haben. Jedes Attribut hat einen Namen und belegt einen Wert. Elemente können geschachtelt werden.

DTDs bestehen wiederum aus vier Gruppen von Einträgen:

  • Elemente beschreiben diese mit ihrem erlaubten Inhalt.

  • Attributlisten definieren die Attribute, die in Elementen enthalten sein dürfen.

  • Entities sind Strukturelemente, mit denen DTDs übersichtlicher gestaltet werden können.

  • Kommentare machen DTDs verständlicher, was vor allem bei komplexeren DTDs wie denen von Lotus Domino unbedingt erforderlich ist.

Die Strukturen von DTDs sind, wenn man mit XML etwas vertraut ist, relativ leicht nachvollziehbar. Die oberste Ebene bilden Elemente. Ein Beispiel ist

<!ELEMENT databaseinfo ( datamodified?, designmodified?,
created?, modified? )>

Das Element databaseinfo besteht seinerseits aus den vier Elementen

  • datamodified,

  • designmodified,

  • created,

  • modified.

Die Sonderzeichen haben eine spezielle Bedeutung. Das Komma zwischen den Elementen bedeutet, dass diese in der angegebenen Reihenfolge vorkommen müssen. Eine andere Variante ist der senkrechte Strich |. Das würde heißen, dass eines der Elemente gewählt werden kann. Das Fragezeichen hinter den Elementen gibt an, dass das Element 0 oder 1 Mal vorkommen darf.Daneben gibt es

  • *für 0, 1 oder mehr Elemente und

  • + für 1 oder mehr Elemente.