XML: Die Extensible Markup Language im Überblick

Bei XML handelt es sich um ein textbasiertes Datenformat, das u. a. für die Speicherung von Daten und für den plattformunabhängigen Datenaustausch im Internet eingesetzt wird. XML fungiert als Grundlage weiterer Sprachen wie z. B. HTML und ist nicht nur von Menschen, sondern auch von Maschinen lesbar.

Was ist XML?

Die Abkürzung XML steht für „Extensible Markup Language“. Es handelt sich bei XML also um eine Auszeichnungssprache. Diese wird dafür eingesetzt, Daten strukturiert in einer Textdatei darzustellen, die im Anschluss sowohl von Menschen als auch von Computern ausgewertet werden kann. Die Metasprache wurde bereits 1998 vom World Wide Web Consortium entwickelt und ist vor allem aus der Webentwicklung nicht mehr wegzudenken. Die aktuelle Fassung von XML, die fünfte Ausgabe, wurde im Jahr 2008 veröffentlicht. Die Standardzeichenkodierung von XML-Dokumenten ist UTF-8.

XML: Einsatzarten und Funktionsweise

XML kann auf verschiedene Arten eingesetzt werden. Am Beginn jedes Einsatzes von XML steht aber die Erstellung einer XML-Datei. Hierbei handelt es um ein Textdokument mit der Endung .xml, das in jedem beliebigen Texteditor erstellt werden kann. Damit ein gültiges Dokument entsteht, muss man sich an die Syntax der Sprache halten. Solche Dokumente können etwa immer dann genutzt werden, wenn HTML an seine Grenzen stößt. Oft ist dies beispielsweise bei Sitemaps von Websites der Fall. Hierbei wird eine sitemap.xml-Datei erstellt.

Um die XML-Dokumente einzulesen, wird ein sogenannter Parser benötigt. Dieser stellt eine Programmierschnittstelle bereit, mittels der verschiedene Anwendungen auf das XML-Dokument zugreifen können. Dieser Zugriff kann auf verschiedene Arten erfolgen:

  • DOM: Das XML-Dokument wird als Baumstruktur repräsentiert und kann auf diese Weise gelesen werden. Auch das Verändern der Baumstruktur sowie das Schreiben in die Baumstruktur sind erlaubt.
  • Pull-API: Die Daten aus dem XML-Dokument werden sequenziell und meistens ereignisbasiert verarbeitet.
  • SAX: Auch hier wird das XML-Dokument als sequenzieller Strom von Daten behandelt.

Webbrowser haben solch einen Parser in den meisten Fällen bereits eingebaut, sodass das Lesen von XML-Dokumenten für die Standardbrowser kein Problem darstellt.

Einsatzgebiete von XML

Die Extensible Markup Language wird in vielen unterschiedlichen Bereichen eingesetzt. Beispielsweise kann sie als Grundlage für weitere Sprachen angesehen werden. So basiert z. B. HTML, die Hypertext Markup Language, auf XML. Auch SVG, das beliebteste Dateiformat für Vektorgrafiken, baut auf XML auf.

XML hat jedoch nicht nur als Basis für andere Sprachen große Relevanz. Vor allem im Bereich der Webentwicklung wird reines XML häufig eingesetzt, um Sitemaps von Websites aufzusetzen. Außerdem bietet die Extensible Markup Language die Möglichkeit, XML-Datenbanken zu erstellen. Diese dokumentorientierten Datenbanken sind wesentlich flexibler als relationale Datenbanken und erfreuen sich deshalb großer Beliebtheit.

Wie ist XML aufgebaut?

Auf den ersten Blick ähneln XML-Dokumente HTML-Dokumenten. Das liegt daran, dass HTML auf der Extensible Markup Language aufbaut und sich derselben Schreibweise bedient, die auf verschiedene Attribute und Tags zugreift.

Man kann bei XML zwischen verschiedenen Dokumenttypen unterscheiden. Dokumentzentrierte XML-Dokumente sind für menschliche Leserinnen und Leser ohne Zusatzinformationen weitgehend verständlich und nur gering strukturiert. Das verringert die Maschinenlesbarkeit dieser Dokumente jedoch enorm. Gewissermaßen als Gegenstück betrachtet werden können die datenzentrierten XML-Dokumente. Mit dem hohen Grad an Strukturierung geht eine hohe Maschinenlesbarkeit einher. Für menschliche Leserinnen und Leser sind datenzentrierte Dokumente intuitiv, aber kaum verständlich. Als Kompromisslösung gibt es schließlich sogenannte semistrukturierte Dokumente.

Ist XML eine Programmiersprache?

Die Extensible Markup Language ist eine Auszeichnungssprache, die für sich genommen keine eigenständige Programmiersprache darstellt. Es gibt keinen XML-Compiler und Sie können keine ausführbaren Dateien mittels XML erzeugen. Auch die Sprachen, die auf XML aufbauen, werden nicht als Programmiersprachen angesehen.

Die verschiedenen XML-Elemente

Der wichtigste Bestandteil der Extensible Markup Language sind sogenannte Elemente. Deren Namen können frei gewählt werden. Elemente beginnen und enden mit Tags. Möchten Sie z. B. das Element „Haus“ in Ihrem XML-Dokument deklarieren, sähe das folgendermaßen aus:

<haus>
Hier kann der Inhalt des Hauses aufgelistet werden.
</haus>
xml

Diese Elemente lassen sich beliebig ineinander verschachteln. Außerdem können Sie die Elemente mit Attributen versehen, die Zusatzinformationen zu Ihren Elementen beinhalten. Möchten Sie Ihrem Haus beispielsweise ein Dach und zwei nummerierte Zimmer hinzufügen, verändert dies das XML-Dokument wie folgt:

<haus>
Hier kann der Inhalt des Hauses aufgelistet werden.
	<dach>
	Das Dach des Hauses.
	</dach>
	<zimmer raumnummer="„1“">
	Zimmer 1 in Ihrem Haus.
	</zimmer>
  
	<zimmer raumnummer="„2“">
	Zimmer 2 in Ihrem Haus.
    </zimmer>
</haus>
xml

Die Raumnummern, die zu den Zimmern hinzugefügt wurden, sind die bereits erwähnten Attribute.

Weitere Bestandteile von XML-Dokumenten können Kommentare der Form sein.

Entitäten in XML

In der Extensible Markup Language haben Sie außerdem die Möglichkeit, auf vordefinierte Entitäten zuzugreifen. Auch das Erstellen eigener Entitäten ist kein Problem. Bei diesen handelt es sich um bestimmte Inhalte, die für die spätere Verwendung definiert werden. Auch weitere XML-Dokumente lassen sich mithilfe von Entitäten einbinden.

Wichtige Entitäten für die Nutzung von XML sind z. B. < für das Zeichen < oder &gt für das Zeichen >. Eigene Entitäten können Sie im XML-Dokument wie folgt erstellen:

<!ENTITY bsp „Beispiel Entity“>
xml

Unterschiede zwischen XML und HTML

HTML – die fünfte Fassung wird HTML5 genannt – basiert auf XML und sieht daher auf den ersten Blick sehr ähnlich aus wie die Extensible Markup Language. Im Gegensatz zu HTML gibt es allerdings bei XML kein vordefiniertes Set von zulässigen Attributen und Tags. Diese können bei XML komplett von den Programmierenden definiert werden. Außerdem ist XML im Gegensatz zu HTML casesensitiv, was bedeutet, dass zwischen Groß- und Kleinschreibung unterschieden wird. Ein weiterer Unterschied besteht darin, dass in XML immer schließende Tags benötigt werden. Ein Zeilenumbruch, der in HTML mit
eingeleitet wird, sähe in XML also wie folgt aus:
.