XML-Know How

Die Wohlgeformtheit

Auf den vergangenen Seiten haben wir eine ganze Reihe von Regeln kennengelernt, die eine XML-Datei erst zur XML-Datei machen: So müssen beispielsweise die Tags immer paarig auftreten, solange es sich nicht um ein leeres Element handelt. Weiterhin dürfen Elemente hierarchisch geschachtelt werden, einander aber nicht überlappen. Auch für die Abbildung von Attributen gibt es bestimmte Syntaxregeln.

Alle diese Regeln sind präzise definiert. Zusammen definieren sie die sogenannte »Wohlgeformtheit« vonXML-Dokumenten. Nur ein wohlgeformtes (»well formed«) XML ist überhaupt XML gemäß dem W3C-Standard. Die Wohlgeformtheit von Dokumenten ist die zwingende Voraussetzung für ihre Verarbeitbarkeit in XML-Workflows. Sie ist insbesondere wichtig, damit der Rechner die hierarchischen (Baum-)Strukturen eines XML-Dokuments erkennen und auswerten kann.

Merke

Die wichtigsten Regeln der Wohlgeformtheit von XML-Dokumenten

  1. Es gibt genau ein Wurzelelement
  2. Alle Elemente, die nicht leer sind, müssen mit Start- und Endetag gekennzeichnet sein. (<abc> …</abc>)
  3. Leere Elemente enden mit einem Slash (< …/>)
  4. Streng hierarchische Anordnung der Elemente, keine Überlappungen
  5. Attributwerte müssen in Anführungszeichen stehen
  6. Attribute dürfen nur in Start-Tags (oder in leeren Elementen) stehen, niemals in Ende-Tags
  7. Ein Attribut darf nicht zweimal in ein und demselben Element auftreten
  8. Alle verwendeten Entities (außer den XML-Standard-Entities) müssen in der DTD/XSD (siehe Kap. 4.8) oder am Anfang der XML-Instanz deklariert sein.

Das Wurzelelement

Als »Wurzelelement« bezeichnet man das Element, das das gesamte XML-Dokument umschließt. Ein solches muss es immer geben und es darf (in dieser Funktion) nur einmal vorkommen. Ist das Wurzelelement einer XML-Datei beispielsweise <kapitel> (…) </kapitel> und es soll noch ein weiteres <kapitel> hinter das erste gehängt werden, so muss ein neues Wurzelelement (z. B. <buch>) um die beiden <kapitel>-Elemente gelegt werden. Sollen anschließend mehrere mit <buch> umschlossene Bücher gemeinsam in einer Datei verarbeitet werden, benötigen auch diese wieder ein neues Wurzelelement, z. B. <buchsammlung>.

Toplevel-Elemente

Die direkten Kindelemente (d. h. Unterelemente) des Wurzelelements werden auch als »Toplevel-Elemente« bezeichnet.