XML ist nicht nur eine Technologie, sondern eine Idee. Als Format dient XML dazu, Daten zu speichern und zwischen sehr unterschiedlichen Systemen austauschbar zu machen. Außen herum entsteht ein ganzes Universum. Dieses Universum besteht aus Standards, die von XML abgeleitet sind, und aus Hilfstechnologien, die die Bearbeitung von XML-Dokumenten ermöglichen.
XML selbst ist eine Metasprache. Das heißt, mit XML lassen sich Untersprachen definieren, die ganz bestimmte Zwecke erfüllen. Dokumente in diesen Untersprachen sind immer noch XML-Dokumente, aber sie basieren nur noch auf dem eingeschränkten Befehlssprachschatz der Untersprache. Dieser Aspekt wird im Namen von XML deutlich. Das Akronym steht für eXtensible Markup Language. Ins Deutsche übersetzt ergeben sich zwei Bestandteile:
- eXtensible steht für erweiterbar. Dies ist der Aspekt der Metasprache.
- Markup Language steht für Beschreibungssprache. Die Sprache selbst beschreibt die Inhalte.
Bevor Sie mehr zur Standardisierung erfahren, werfen Sie im nächsten Abschnitt einen Blick auf ein erstes XML-Dokument.
Grundlage des XML-Universums sind XML-Dokumente. Deswegen erfahren Sie hier zuerst mal ein paar grundlegende Informationen, bevor wir über andere Technologien schreiben. Basis von XML sind Tags, „Befehle“ in spitzen Klammern:
TobiasHauser
In den Tags stehen wiederum andere Tags oder Text als Inhalt. Die Tags beschreiben normalerweise den Inhalt. Der Begriff Tag ist zwar englisch, hat sich im Deutschen aber vor allem durch HTML als gängiger Ausdruck durchgesetzt. Ein Tag (oder auch Element) besteht aus verschiedenen Elementen:
- Das Start-Tag ist das öffnende Tag. Es kann beliebig viele Attribute
enthalten. Ein Attribut besteht aus dem Attributnamen,
hier beispielsweise
id
, und einem Wert, hier1
, der immer in Anführungszeichen steht.
TobiasHauser
- Der Inhalt eines Tag kann wieder ein Element ein. Hier ist das
beim
-Tag der Fall. Inhalt kann auch Text bzw. Inhalt sein, hier beispielsweise bei
.
- Das End-Tag schließt das Tag. Es beginnt immer mit einem führenden Schrägstrich. Hat ein Tag keinen Inhalt, kann es auch direkt im Start-Tag wieder geschlossen werden:
TobiasHauser
<!--
und enden mit -->
.Um ein XML-Dokument als solches zu erkennen, gibt es das XML-Tag zu Beginn des Dokuments. Dieses Tag heißt auch Processing Instruction oder XML-Deklaration.
.Der Name Processing Instruction stammt daher, dass dieses Tag für Programme, die das XML-Dokument abarbeiten, entsprechende Informationen zur Verfügung stellt. Zu diesen Informationen gehören:
- Die XML-Versionsnummer. Hier stehen aktuell 1.0 und 1.1 zur Wahl.
- Der für das XML-Dokument verwendete Zeichensatz. Der Zeichensatz gibt an, welche Sonderzeichen und sonstigen Schriftzeichen eingesetzt werden. Die bekannteste Kodierung ist UTF-8. Sie ist eine Variante des Unicode-Zeichensatzes und wird auch bei der Internet Engineering Task Force standardisiert. Bei UTF-8 werden beliebige Zeichen mit speziellen Byte-Kombinationen aus vier Bytes gebildet. Eine Alternative ist ISO-8859-1 (auch Latin-1): Dieser Zeichensatz kodiert nur 256 Zeichen, enthält aber die wichtigsten.
- Die Angabe, ob ein XML-Dokument allein, sprich ohne Strukturinformationen steht, oder nicht:
standalone
können weggelassen werden. Sind sie aber vorhanden,
so ist die Reihenfolge version
, encoding
und dann standalone
vorgeschrieben.Wenn Sie ein XML-Dokument fertig gestellt haben, bilden alle Tags gemeinsam eine hierarchische Dokumentenstruktur. Essenziell ist dabei, dass es nur ein Wurzelelement gibt. Als Wurzelelement wird das oberste Tag der Hierarchie bezeichnet.
Listing 1.1: Eine einfache XML-Datei (kontakt.xml) --------------------------------------------------------------- TobiasHauserErikFranz
Im obigen Fall ist das Tag das Wurzelelement. Betrachtet
man das XML-Dokument als hierarchisches Dokument,
so sind die einzelnen Tags auch Knoten. Die Inhalte innerhalb
der Tags sind ebenfalls Knoten, so genannte Textknoten. Die folgende
Abbildung illustriert den hierarchischen Aufbau.
