XML

Zunächst soll der Aufbau eines XML-Dokuments an Hand eines Beispiels näher untersucht werden, der gewissen Gesetzmäßigkeiten unterworfen ist :

<?xml version="1.0" encoding="ISO-8859-1" standalone="no"?>
<!DOCTYPE Books SYSTEM "sample.dtd">

<!-- Hier beginnen die XML-Daten -->
<Books>
  <Product>XML in der Praxis</Product>
  <Price>299.90</Price>
</Books>

Quelltext im Browser

Die erste Zeile des Dokuments enthält stets die Angabe, dass es sich um ein XML-Dokument handelt und nennt zugleich auch die Version und den verwendeten Zeichensatz:

<?xml version="1.0" encoding="ISO-8859-1" standalone="no"?>

Das optionale Attribut standalone gibt an, ob eine DTD zur Analyse des Dokuments erforderlich ist. Der Wert muß entweder yes oder no sein. Falls der Wert no ist, muß eine DTD mit einer XML-<!DOCTYPE>-Instruktion deklariert werden.

Die zweite Zeie:

<!DOCTYPE Books SYSTEM "sample.dtd">

stellt sowohl das Wurzel-Element (Root-Element) des Dokuments heraus als auch die DTD, die für die Validierung jedes Elements verantwortlich ist, das innerhalb des Wuzel-Elements auftaucht. Das Wurzel-Element ist das äußerste Element in einem Dokument, das zu dieser DTD gehört; üblicherweise beschreibt es den Anfang und das Ende des Dokuments. In dem obigen Beispiel ist das Element <Books> das Wurzel-Element. Das Schlüsselwort SYSTEM deutet in dieser Zeile außerdem noch an, dass die DTD dieses Dokuments in einer externen Datei namens sample.dtd abgespeichert ist.

Die darauffolgende Zeile ist ein Kommentar. Kommentare beginnen und enden immer mit <!-- und -->. Man kann alles, was man will, in einen Kommentar hineinschreiben; Kommentare werden vom XML-Prozessor (das Programm, das XML liest und verarbeitet) ignoriert. Man muß jedoch aufpassen, dass Kommentare nicht vor der XML-Deklaration auftauchen und auch nicht innerhalb eines Element-Tags.

Letztendlich sind <Product> und <Price> XML-Elemente, die selbst eingeführt worden sind. Wie alle Elemente in XML enthalten sie keine spezielle Bedeutung außer derjenigen, die man in den Dokument- und Stil-Regeln für diese Elemente definiert.

Ein einfaches XML-Dokument und seine Repräsentation als Baumstruktur:

<?xml version="1.0" encoding="UTF-8"?>

<!-- Hier beginnen die XML-Daten -->
<client since="12.03.1984">
  <name>
    <first>Bruce</first>
    <last>Willis</last>
  </name>
  <addresses>
    <address type="postal">
      45 Moviestr., Hollywood
    </address>
   <address type="email">
      brucew@aol.com
   </address>
  </addresses>
</client>

Dieses Dokument beschreibt einen Teil der Geschäftsdaten, wie zum Beispiel den Namen eines Kunden, die Adresse, eine Liste von Firmennamen usw. Jedes wohlgeformte XML-Dokument ist baumartig strukturiert. Die verschiedenen Verzweigungen werden Knoten (Nodes) genannt. Die Wurzel des Baumes wird Root-Node genannt.
Ein Knoten hat eine Anzahl optionaler Charakteristiken: Einen Wert (value), Attribute (im Diagramm mit @ gekennzeichnet) und Kindknoten.
Ein wichtiges Merkmal von XML ist, dass es nicht für das menschliche Auge gedacht ist. Natürlich kann ein Experte die wichtigen Teile zwischen den Tags herausfinden, aber dies ist für den Benutzer einer Web-Seite eindeutig unzumutbar (Bsp). In der Tat sagt XML überhaupt nichts darüber aus, wie die Daten dargestellt werden sollen. Es ist darstellungsneutral.


Wohlgeformtes XML

Um ein wohlgeformtes (well-formed) XML-Dokument zu erzeugen, gelten folgende Regeln:

Um ein gültiges (valid) XML-Dokument zu erzeugen, muß folgendes gelten: