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.
<Fahrzeug></Fahrzeug>
Der in einem XML-Dokument zu transportierende Inhalt steht zwischen dem öffnenden und schließenden Tag.
<Fahrzeug>Auto</Fahrzeug> <Beschreibung>Hallo Welt</Beschreibung> <Geschwindigkeit>123</Geschwindigkeit>
<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.)
<Fahrzeug Typ="Auto" /> <Fahrzeug Länge="123" Breite="456" Farbe="rot">Motorrad</Fahrzeug>
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.
<?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>
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).
- Regeln für Element- und Attributnamen:
- Elementnamen beginnen mit einem Buchstaben oder einem Unterstrich!
Anschließend sind dann Buchstaben, Ziffern, Unterstriche, Bindestriche und Punkte erlaubt. - Für den Aufbau der Attributnamen gelten dieselben regeln wie bei den Elementnamen
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.
Ein XML-Dokument enthält Elemente und Elemente können Attribute enthalten. Elemente können untereinander oder ineinander geschachtelt werden:
- Einfache Elemente: Einfaches nicht geschachteltes Element
- Komplexe Elemente: Schachtelt mehrere Elemente oder enthält Attribute