Exkurs - XML-Dokumente
Ein Beispiel
Am Beispiel des folgenden XML-Dokuments zur Beschreibung eines Oberstufenkurses soll der Aufbau von XML-Dokumenten genauer beschrieben werden.
<?xml version="1.0" encoding="iso-8859-1"?>
<Kurs>
<!-- Organisation -->
<Fach>Informatik</Fach>
<Typ>Grundkurs</Typ>
<Stufe>11</Stufe>
<Bezeichner>11-in-1</Bezeichner>
<Unterricht>
<Einheit>
<Tag>Montag</Tag>
<Stunde>7</Stunde>
<Raum>B04</Raum>
</Einheit>
<Einheit>
<Tag>Mittwoch</Tag>
<Stunde>3</Stunde>
</Einheit>
<Einheit>
<Tag>Mittwoch</Tag>
<Stunde>4</Stunde>
</Einheit>
</Unterricht>
<!-- Personen -->
<Lehrer kürzel="SU" geschlecht="w">
<Name>Schuster</Name>
<Vorname>Christiane</Vorname>
</Lehrer>
<Schüler id="87" geschlecht="m">
<Name>Schwarz</Name>
<Vorname>Tobias</Vorname>
</Schüler>
<Schüler id="7" geschlecht="w">
<Name>Baum</Name>
<Vorname>Nina</Vorname>
</Schüler>
<Schüler id="33" geschlecht="w">
<Name>Müller</Name>
<Vorname>Katrin</Vorname>
<Kurssprecher/>
</Schüler>
<Schüler id="60" geschlecht="m">
<Name>Roth</Name>
<Vorname>Andreas</Vorname>
</Schüler>
<!-- ... -->
</Kurs>
XML-Prolog
Ein XML-Dokument beginnt mit einem Prolog, der das Dokument als XML-Dokument kennzeichnet.
<?xml version="1.0" encoding="iso-8859-1"?>
Achte auf eine korrekte Klammerstruktur <?xml ... ?>
mit klein geschriebenem xml
.
Im Prolog werden u.a. die aktuelle Version und die Zeichenkodierung festgelegt. Die Angabe zur Zeichenkodierung
kann auch fehlen - dann wird die Voreinstellung utf-8
benutzt.
Wenn deutsche Umlaute korrekt dargestellt werden sollen, sollte man den Zeichensatz iso-8859-1
verwenden.
XML-Elemente
Ein XML-Dokument wird mit Hilfe von XML-Elementen aufgebaut. Ein XML-Element besteht dabei aus einem öffnenden Tag, einem Inhalt und einem schließenden Tag. Tags werden mit spitzen Klammern gebildet. Die Tag-Namen sind (fast) frei wählbar. Anfangs- und Endtag müssen immer exakt zueinander passen. Dabei wird auf Groß- und Kleinschreibung geachtet.
Das Beispiel oben zeigt, wie verschiedene Elemente mit Hilfe selbst gewählter Tag-Namen gebildet werden.
Das Fach
-Element beispielsweise wird mit den Tags <fach>...</fach>
gebildet. Verschiedene Tags markieren unterschiedliche Elementtypen.
Ein Element kann (als eigentliche Daten) nur Zeichen enthalten, oder andere Elemente, oder eine Mischung aus Elementen und Zeichen, oder auch gar nichts.
Im Beispiel oben enthält das Fach
-Element nur Zeichen.
<Fach>Informatik</Fach>
Das Schüler
-Element im Beispiel oben ist ein sogenanntes Container-Element,
das andere Elemente als Inhalt enthält.
<Schüler id="87" geschlecht="m">
<Name>Schwarz</Name>
<Vorname>Tobias</Vorname>
</Schüler>
Möglich sind auch leere Elemente wie z.B. das Kurssprecher
-Element im Beispiel oben.
<Kurssprecher></Kurssprecher>
Statt der etwas aufwendigeren Schreibweise <kurssprecher></kurssprecher>
benutzt man bei einem leeren Element eine abkürzende Schreibweise -
im vorliegenden Fall <Kurssprecher />
.
Ein Element mit gemischtem Inhalt kommt im Beispiel oben nicht vor.
In der Sprache XHTML ist das p
-Element ein Element mit gemischtem Inhalt.
<p>
Hallo, ich heiße Bailey und lebe in der Nähe von
<a href="http://www.kaiserslautern.de">Kaiserslautern</a>.
Ich bin ein Australian Shepherd, meine Vorfahren haben in
Australien Schafe gehütet.
</p>
Bei komplexeren Element-Strukturen muss man darauf achten, dass die Tags immer korrekt geschachtelt werden.
Baumstruktur der XML-Elemente
Eine besondere Bedeutung hat das erste Element eines XML-Dokuments, da es alle anderen Elemente des XML-Dokuments in sich einschließt. Man nennt es auch Wurzelelement. Diese Bezeichnung erklärt sich am besten anhand einer Verdeutlichung der Dokumentenstruktur.
Man erhält eine solche Darstellung, indem man die XML-Datei mit einem neueren Browser öffnet.
Das gesamte XML-Dokument hat die Struktur eines Baumes. Anders als bei Bäumen in unserer Lebenswelt findet man die Wurzel des Strukturbaumes ganz oben. Die Wurzel ist also das Wurzelelement, von dem aus Äste zu allen anderen Elementen führen.
Attribute
Elemente können mit Hilfe von Attributen näher beschrieben werden. Attribute können dabei zusätzliche Informationen über den Inhalt eines Elements liefern. Jedem Attribut muss ein bestimmter Wert zugewiesen werden, der in Anführungszeichen geschrieben werden muss.
Zum Beispiel hat das Schüler
-Element die Attribute id
und geschlecht
.
Diesen Attributen muss jeweils ein Wert wie im folgenden Beispiel zugewiesen werden.
<Schüler geschlecht="m" id="87">
...
</Schüler>
Kommentare
Kommentare erleichtern das Lesen von umfangreicheren XML-Dokumenten. Von den verarbeitenden Programmen werden sie ignoriert.
<!-- Personen -->