Link zu www.kneller-gifs.de

XML - Einführung

XML (Extensible Markup Language) ist eine Auszeichnungssprache zur Darstellung hierarchisch strukturierter Daten. Daten werden per XML in sogenannten Elementen und/oder Attributen transportiert. Wer HTML kennt, der kommt auch mit XML klar, denn auch HTML besteht aus Elementen und Attributen.

Ein Element besteht aus einem öffnenden Start- und einem schließenen Endtag:
<Fahrzeug></Fahrzeug>
<Fahrzeug> ist das Starttag, </Fahrzeug> ist das Endtag.

Der in einem XML-Dokument zu transportierende Inhalt steht zwischen dem öffnenden und schließenden Tag.

Beispiele für Elemente mit Inhalt:
<Fahrzeug>Auto</Fahrzeug>
<Beschreibung>Hallo Welt</Beschreibung>
<Geschwindigkeit>123</Geschwindigkeit>
In den Beispielen sieht man jeweils ein öffnendes Element, die Daten und das schließende Element.

Bei einem leeren Element läßt man einfach den Inhalt weg oder nutzt die Kurzschreibweise.
<Fahrzeug></Fahrzeug>
<Fahrzeug />

Attribute stehen immer im öffnenden Starttag und enthalten auch Daten.
(Somit kann durchaus die Frage entbrennen, ob Daten in Elementen oder Attributen zu transporieren sind. Beides wäre korrekt, aber ich habe bisher erlebt, dass die Menge der Daten in Elementen transportiert wird und mit Attributen eher sparsam umgegangen wird.)

Beispiele für Attribute:
<Fahrzeug Typ="Auto" />
<Fahrzeug Länge="123" Breite="456" Farbe="rot">Motorrad</Fahrzeug>
Im ersten Beispiel wird nur eine Information "Auto" transportiert und das im Attibut.
Im zweiten Beispiel werden 3 Informationen ("123", "456","rot") in Attributen transportiert und eine Information ("Motorrad") im Element.

Eine einfache Untereinanderreihung von Elementen kann bei großen Datenmengen unübersichtlich werden.
Deshalb schachtelt man die Struktur der Elemente sinnvoll.

Beispiel für eine korrekte (wohlgeformte) XML-Datei mit thematisch geschachtelten Elementen:
<?xml version="1.0" encoding="UTF-8"?>
<Fahrzeugliste>
  <AnzahlFahrzeuge>2</AnzahlFahrzeuge>
  <Fahrzeug Nr="1">
    <Typ>PKW</Typ>
    <Farbe>rot</Farbe>
    <Laenge>123</Laenge>
  </Fahrzeug>
  <Fahrzeug Nr="2">
    <Typ>PKW</Typ>
    <Farbe>blau</Farbe>
    <Laenge>456</Laenge>
  </Fahrzeug>
</Fahrzeugliste>
Eine XML-Datei beginnt immer mit der gezeigten ersten Zeile, die mindestens die Version und besser noch die Codierung enthält.
Beinhaltet eine XML-Datei üblicherweise mehr als ein Element, dann benötigt es ein alles umfassendes Wurzelelement (hier: "Fahrzeugliste").
Das Wurzelelement enthält darunter liegende "normale" Elemente (hier: "AnzahlFahrzeuge") oder geschachtelte Elemente (hier: "Fahrzeug").
Im Beispiel enthält das Element "Fahrzeug" ein Attribut "Nr" und 3 Unterelemente mit Inhalt.

Normale Elemente nennt man auch einfache Typen (simple types), Elemente mit Unterelementen nennt man komplexe Typen (complexe types).

Zum Schluss noch ein Hinweis auf empfehlenswerte XML-Tools, denn mit Tools geht alles besser :-) Ein gutes kostenloses XML-Tool ist "XML-Spy". Wer etwas Geld ausgeben und mehr Komfort einkaufen möchte, der sollte mal nach "XML-Spy" googeln.