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 -->