Wohlgeformte Dokumente und formfreies XML

(Auszug aus "Perl & XML" von Erik T. Ray & Jason McIntosh)

XMLs Großvater SGML erwartete, daß jedes Element und Attribut durch eine korrekte Deklaration in der DTD beschrieben war. Was das bedeutet, werden wir im nächsten Abschnitt noch genauer beschreiben. Im Augenblick stellen Sie sich bitte einfach vor, daß Sie kein Dokument verfassen, sondern ein Formular ausfüllen. Dieses Formular erhöht den Aufwand des SGML-Prozessors beträchtlich, was ein wesentlicher Grund dafür war, daß sich SGML im Internet nicht durchgesetzt hat. HTML, ursprünglich als SGML-Anwendung entwickelt, wurde durch diese Anforderung ebenfalls gebremst, weil jedes »gültige« (»valid«) HTML-Dokument die DTD von HTML zu erfüllen hatte. Die Erweiterung der Sprache war ohne die Zustimmung eines Komitees nicht möglich.

XML legt diese Einschränkungen beiseite und ermöglicht formfreies (»free-form«) XML. In diesem Modus hat das XML-Dokument nur minimale Syntaxregeln zu erfüllen, um gültig zu sein. Ein XML-Dokument, das sich an diese minimalen Regeln hält, nennen wir wohlgeformt (»well-formed«). Diese laxen Prüfungen sind wundervoll befreiend für den Programmierer. Man muß nicht unter allen Umständen die DTD lesen, wenn man einfach eine kleine Änderung machen will. Der Prozessor hat lediglich die einfachsten Dinge zu überprüfen.

In Free-form-XML können Sie die Namen Ihrer Elemente selbst bestimmen. Sie müssen sich nicht an ein bestimmtes Vokabular halten, wie es bei HTML der Fall ist. Freizügiger Umgang mit der Struktur ist ein Risiko. Aber solange Sie wissen, was Sie tun, stört sich niemand daran. Wenn Sie allerdings dem Markup mißtrauen, dann sollten Sie Element- und Attributdeklarationen einführen und eine Struktur erzwingen, wie wir im nächsten Abschnitt beschreiben werden.

Was sind denn nun diese minimalen Regeln? Wir zeigen einen kleinen Ausschnitt, von dem Sie bitte keine übergroße Präzision erwarten:

  • Ein Dokument darf nur ein einziges Element auf oberster Ebene enthalten, das Dokumentelement oder Wurzelelement . Alle anderen Elemente und Textdaten müssen darin enthalten sein. Die XML-Deklaration und die Dokumenttypdeklaration müssen allerdings vorher kommen.
  • Für jedes Element mit Inhalt muß es ein Start-Tag und ein End-Tag geben.
  • Groß- bzw. Kleinschreibung ist bei Element- und Attributnamen wesentlich. Abgesehen von Buchstaben sind nur wenige andere Zeichen in Namen erlaubt: Ziffern, Unter- und Bindestriche sowie Punkte. Das erste Zeichen muß ein Buchstabe oder ein Unterstrich sein. Doppelpunkte sind ebenfalls erlaubt, aber nur, um das Präfix eines Namensraums abzugrenzen.
  • Alle Attribute müssen Werte haben, die in ein- oder zweifachen Anführungszeichen stehen.
  • Elemente dürfen sich niemals überlappen. Wenn das Start-Tag eines Elements innerhalb eines anderen Elements steht, dann muß das auch für das End-Tag gelten.
  • Gewisse Zeichen, insbesondere das Kleiner- und das Größer-Zeichen (< >) sowie das Ampersand (&), sind für Markup reserviert und anderweitig verboten. Wenn man sie in Textdaten verwenden will, dann muß man mit Entityreferenzen oder CDATA-Abschnitten arbeiten.
  • Leere Elemente müssen durch die Syntax erkennbar sein. Zu diesem Zweck wird ein Schrägstrich (Slash, /) vor das schließende Größer-Zeichen (>) des Start-Tags gesetzt.

Es gibt noch weitere Regeln. Für ein tieferes Verständnis, was Wohlgeformtheit bedeutet, sollten Sie daher eine Einführung in XML lesen oder die offiziellen Spezifikationen des W3C konsultieren, die Sie unter http://www.w3.org/XML finden.

Stellen Sie die Wohlgeformtheit eines Dokument sicher, wann immer Sie es mit XML-Prozessoren bearbeiten wollen. (In einem gewissen Sinn gibt es kein nicht wohlgeformtes XML.) Man kann das mit einem eigenen Tool, dem sogenannten Wohlgeformtheitsprüfer , machen, einer Art XML- Parser, der gegebenenfalls Fehlermeldungen ausgibt. Die Ausgabe solcher Werkzeuge ist oft sehr präzise und enthält normalerweise die exakte Zeile und Spalte, an der ein Problem vorliegt. In XML-Grundlagen: Lesen und Schreiben werden wir uns genauer mit Prüfprogrammen und Parsern beschäftigen.

  

  

<< zurück vor >>

 

 

 

Tipp der data2type-Redaktion:
Zum Thema Perl & XML bieten wir auch folgende Schulungen zur Vertiefung und professionellen Fortbildung an:

Copyright © 2003 O'Reilly Verlag GmbH & Co. KG
Für Ihren privaten Gebrauch dürfen Sie die Online-Version ausdrucken.
Ansonsten unterliegt dieses Kapitel aus dem Buch "Perl & XML" denselben Bestimmungen, wie die gebundene Ausgabe: Das Werk einschließlich aller seiner Teile ist urheberrechtlich geschützt. Alle Rechte vorbehalten einschließlich der Vervielfältigung, Übersetzung, Mikroverfilmung sowie Einspeicherung und Verarbeitung in elektronischen Systemen.

O’Reilly Verlag GmbH & Co. KG, Balthasarstraße 81, 50670 Köln, kommentar(at)oreilly.de