XML-Know How

Das XML-Datenmodell

XML-Dokumente lassen sich zunächst als Textdokumente mit Unicode-Zeichen auffassen. Sie können mit beliebigen Texteditoren bearbeitet werden, was z. B. auch Änderungen von Zeichen durch „Suchen und Ersetzen“ möglich macht[1]. Anders jedoch als „einfache Textdokumente“ basieren XML-Dokumente auf einer speziellen Syntax. Im Vordergrund stehen dabei XML-Elemente, die durch Start- und Ende-Tags beschrieben werden. Diese Elemente können andere Elemente beinhalten, was zu einer Containerstruktur und damit zu einem Elementbaum ähnlich einem Dateibaum führt. Somit kann ein XML-Dokument, sobald es wohlgeformt ist, mit Hilfe des XML-Datenmodells als Baum aufgefasst und dargestellt werden.

XML-Dokumente bestehen jedoch nicht nur aus Elementen. Attribute, Kommentare, Verarbeitungsanweisungen (PI’s) und der Text selbst sind weitere elementare Bestandteile von XML-Dokumenten, die das XML-Datenmodell charakterisieren und auch in die Baumstruktur mit einfließen. Ebenso wie die verschiedenen Komponenten eines Dateibaums (Laufwerk, Verzeichnis, Datei) haben auch XML-Dokumente verschiedene Komponenten, die in der XML-Welt als Knoten bezeichnet werden.

Ein XML-Baum besteht also aus einer Menge von Knoten unterschiedlichen Typs. Die Knotentypen lauten: Element-, Attribut-, Kommentar-, PI- und Textknoten.

Neben diesen Knotentypen hat jedes wohlgeformte XML-Dokument genau einen Wurzelknoten (Root Node). Dem Wurzelknoten kommt eine besondere – und zunächst durchaus verwirrende – Bedeutung zu: Er kennzeichnet ein XML-Dokument als Ganzes, unabhängig von der Struktur des Dokumentes, und ist daher am ehesten mit dem Laufwerksbuchstaben eines Dateisystems vergleichbar: Unterhalb des Laufwerks „C:“ liegen alle Order und Dateien. In der XML-Welt liegen alle Elemente, Attribute, Texte, Kommentare und Processing-Instructions „unterhalb“ des Wurzelknotes.

Genauso wie bei Dateibäumen existiert in der XML-Welt eine Syntax, um in XML-Bäumen (präziser: zu allen Knoten eines XML-Datenbaumes) zu navigieren. XPath, die standardisierte Knotenadressierungssprache für XML-
Dokumente, liegt zurzeit in der Version 2.0 als W3C-Empfehlung vor und bietet diese Möglichkeit der Navigation[2].


     

  1. ↑  In der Praxis wird man sich hier der Transformationssprache XSLT bedienen, vgl. hierzu Kap. Einführung in XSLT
  2. ↑  Aus didaktischen Gründen verwenden wir hier die Terminologie von XPath 1.0, die jedoch in XPath 2.0 ihre Gültigkeit nicht verliert.
  3.