Aufbau von XML-Dokumenten
Prolog
Jedes XML-Dokument beginnt mit dem sogenannten Prolog.
<?xml version="1.0" encoding="UTF-8"?>
Er gibt an nach welcher Version von XML das Dokument geschrieben ist. Der hier dargestellte Prolog ermöglicht die Verwendung von beliebigen Zeichen des Unicode Zeichensatzes (zu Unicode siehe GeDV Skript). Sie können im Rahmen dieses Kurses immer den oben beschriebenen Prolog verwenden. Encoding bewirkt, dass man auch Sonderzeichen benutzen kann.
Dokumentinstanz
Als nächstes folgt die sogenannte Dokumentinstanz. In ihr werden die in der Datei enthaltenen Informationen in Form von Elementen beschrieben. Dabei können Elemente auch ineinander verschachtelt werden, um hierarchische Strukturen darzustellen.
<bibliothek>
<buch>
<titel> Der Herr der Ringe </titel>
<autor> J.R.R. Tolkien </autor>
</buch>
<buch>
<titel> Der Schwarm </titel>
<autor> Frank Schätzing </autor>
</buch>
</bibliothek>
In diesem Beispiel beinhaltet die Bibliothek zwei Bücher. Die Bücher beinhalten wiederum jeweils den Titel und den Autor des Buches. Auf diese Weise können beliebig komplexe Hierarchien abgebildet werden.
Das folgende Beispiel zeigt anhand eines Fertigungsschemas für ein Bauteil, wie Zahlenwerte in hierarchischen Strukturen eingebunden werden können.
<!-- Angaben aller Zahlenwerte in mm -->
<fertigungsschema>
<bohrung>
<x-position> 25 </x-position>
<y-position> 25 </y-position>
<bohrungstiefe> 25 </bohrungstiefe>
<bohrungsdurchmesser> 5 </bohrungsdurchmesser>
</bohrung>
<bohrung>
<x-position> 25 </x-position>
<y-position> 150 </y-position>
<bohrungstiefe> 50 </bohrungstiefe>
<bohrungsdurchmesser> 5 </bohrungsdurchmesser>
</bohrung>
</fertigungsschema>
In einem XML-Dokument darf nur ein Wurzelelement existieren. Mit Wurzelelement wird das Element bezeichnet, das in der Hierarchie am höchsten steht und alle anderen Elemente beinhaltet. In unseren Beispielen ist das die Bibliothek bzw. das Fertigungsschema.
Ein XML-Dokument heißt wohlgeformt, wenn es den Regeln des XML-Standards entspricht. Das sind insbesondere:
- Alle Tags die geöffnet werden, müssen auch geschlossen werden bzw. jedes Element muss einen Anfangs- und einen Endtag besitzen.<tagname> Hier steht der Inhalt des Tags </tagname>
- Ineinander verschachtelte (hierarchische) Elemente müssen in
umgekehrter Reihenfolge ihrer Öffnung geschlossen werden. D.h. ein
Element muss entweder komplett in einem anderen Element enthalten sein
oder es muss dem 1. Element nachfolgen.
Richtig:
<normalertext> Ein Text mit <fett> Formatierung </fett> ! </normalertext>
Falsch:
<normalertext> Ein Text mit <fett> Formatierung ! </normalertext> </fett>
Wenn XML-Dokumente von vielen Benutzern verwendet werden sollen, ist es
wichtig, dass die Bestandteile des Dokumentes für alle klar definiert
sind. Dazu muss definiert werden, welche Tags auftreten können, welche
Bedeutung diese Tags haben, mit welchen Attributen sie zusammen
auftreten können, und welche Arten von Informationen (Text, Zahlenwert,
Wahrheitswerte) die Elemente und Attribute enthalten können. Wenn ein
Dokumententyp mehrfach und im Rahmen einer Projekt- oder Teamarbeit
genutzt wird, sollte also immer zuerst eine Definition der Struktur
erfolgen.
Hinweis: XML stellt für die Definition der Struktur Werkzeuge zur Verfügung, auf die wir hier nicht näher eingehen. Im Internet sind sie unter dem Stichwort "DTD" (Document Type Definition) sowie unter "XML-Schema" zu finden. Mit Hilfe dieser Programme ist es möglich zu überprüfen ob ein XML-Dokument syntaktisch korrekt und wohlgeformt ist.
Kommentare
Um die Lesbarkeit und Nachvollziehbarkeit eines XML-Dokumentes zu verbessern, ist es unerlässlich, Ihren Quelltext mit Kommentaren zu versehen. Als Kommentar bezeichnet man einen besonders gekennzeichneten Teil eines Quelltextes, der Informationen zum besseren Verständnis des Quelltextes enthält. Die Kommentare werden, weil sie besonders gekennzeichnet sind (Beginn Kommentar: <!--), vom Computer bei der Verarbeitung ignoriert.
<!-- Hier steht Ihr Kommentar -->
Beispiel eines Kommentars für den Anfang des Dokumentes, das die Struktur der TU Darmstadt beschreiben soll:
<!-- XML kodierte Strukturbeschreibung der TU Darmstadt -->
<!-- Erstellungsdatum: 16.08.2006 Autor: Max Mustermann -->