XML: praktisches Format für die Datenspeicherung
Wenn Sie sich mit Computern beschäftigen, sind sie sicherlich bereits einmal auf die Abkürzung XML gestoßen. Dabei handelt es sich um ein Format für die strukturierte Speicherung von Daten. Diese kommt bei vielen weiteren Techniken zum Einsatz. Allerdings wissen viele Anwender nicht, was hinter diesem Begriff steht. Dieser Artikel erklärt, was XML ist, wie ein entsprechendes Dokument aufgebaut ist und welche Vor- und Nachteile dieses Format bietet.
Was ist das XML-Format?
Die Abkürzung XML steht für eXtensible Markup Language – auf Deutsch etwa erweiterbare Auszeichnungssprache. Bereits dieser Begriff bietet zahlreiche Informationen darüber, was XML eigentlich ist. Zum einen wird daran deutlich, dass es sich hierbei um eine Auszeichnungssprache handelt. Das bedeutet, dass dabei bestimmte Inhalte mit einer Auszeichnung versehen werden, die Informationen über ihre Funktion enthält. Das stellt einen wichtigen Unterschied zu einer Programmiersprache dar, die bestimmte Befehle enthält und Abläufe für ein Programm vorgibt. Die Vorgaben, Anwendungen und Regeln für eine Auszeichnungssprache wie XML umfassen nur einen Bruchteil der Spezifikationen einer gewöhnlichen Programmiersprache. Daher ist XML auch deutlich einfacher zu erlernen. Selbst für Personen, die sich nur selten mit der Informatik befassen, sollte dies kein Problem darstellen.
Zum anderen ist XML erweiterbar. Das bedeutet, dass hierbei zwar einige grundlegende Regeln erstellt werden, die den Aufbau eines entsprechenden Dokuments betreffen. Innerhalb dieser Vorgaben ist es jedoch möglich, weitere Anforderungen zu definieren. Das macht es möglich, XML zu erweitern und die Sprache auf diese Weise an viele verschiedene Anwendungszwecke anzupassen. Dies stellt einen wichtigen Faktor für die weite Verbreitung dieser Sprache dar.
XML-Dokumente verwenden Textformat
XML-Dokumente enthalten reinen Text. Das bedeutet, dass es möglich ist, sie mit einem gewöhnlichen Texteditor zu erstellen (nicht jedoch mit Textverarbeitungsprogrammen wie Word, die neben dem Text auch Informationen zur Formatierung abspeichern). Alle Auszeichnungen, die diese Sprache beinhaltet, bringen wir ebenfalls in Textform innerhalb des Dokuments an. In der Regel werden XML-Dokumente in Dateien mit der Endung .xml abgespeichert. Diese Endung dient jedoch lediglich dazu, deutlich zu machen, dass es sich hierbei um ein XML-Dokument handelt. Die Inhalte lassen sich jedoch auch in anderen Formaten abspeichern – solange diese die Daten ebenfalls in reiner Textform festhalten.
XML-Elemente
Um XML zu verstehen, ist es wichtig, die grundlegenden Einheiten dieser Sprache zu erklären. Diese werden als Elemente bezeichnet. Einfache Elemente bestehen lediglich aus Text. Allerdings sind hierbei auch Zahlen inbegriffen. Diese werden in XML jedoch nicht in einem gesonderten Format abgespeichert, sondern lediglich in Textform erfasst. Allerdings ist es bei der Auswertung später möglich, die in Textform gespeicherten Ziffern in Zahlen zu überführen, um Berechnungen damit durchzuführen.
Ein XML-Element enthält in der Regel eine ganz spezifische Information. Dabei ist es ratsam, darauf zu verzichten, mehrere Informationen gemeinsam in einem Element zusammenzufassen. Wenn man beispielsweise das Gehalt eines Mitarbeiters in einem Element festhalten will, ist es nicht sinnvoll, hierbei den Wert „2000 Euro“ festzuhalten. Es reicht aus, die Zahl 2000 zu verwenden. Das macht eine maschinelle Verarbeitung später einfacher. Außerdem ist davon auszugehen, dass in den meisten Betrieben alle Mitarbeiter ihr Gehalt in Euro ausgezahlt bekommen, sodass diese zusätzliche Information überflüssig wäre. Sollte es jedoch Unterschiede hinsichtlich der Währung geben, ist es sinnvoll, für diese Information ein eigenes Element hinzuzufügen. Auf diese Weise erfüllen wir die Vorgabe, dass der Inhalt eines Elements nur eine einzige Information enthalten soll. Das macht die automatische Verarbeitung der Informationen deutlich einfacher.
Das bedeutet jedoch nicht, dass ein Element zwangsläufig aus nur einem einzigen Wort oder einer einzigen Zahl bestehen muss. In manchen Fällen kann es auch Tausende Wörter enthalten, wenn diese eine zusammengehörige Einheit bilden. Wenn wir beispielsweise Bücher in unserem XML-Dokument aufnehmen, können wir dabei jeweils ein Element für den Autor, für den Titel, für die ISBN-Nummer und für die Seitenzahl erstellen – aber auch für den Inhalt des Buchs. Obwohl dieser sehr umfangreich sein kann, stellt er eine zusammengehörige Einheit dar, bei der keine weitere Unterteilung notwendig ist.
Neben diesen einfachen Elementen, die lediglich einen Inhalt in Textform enthalten, gibt es jedoch auch noch übergeordnete Elemente. Diese bestehen aus mehreren anderen Elementen.
Tags
Das entscheidende Sprachelement von XML ist das Tag. Dabei handelt es sich um eine Auszeichnung, die ein bestimmtes Element markiert. Jedes Element muss mit Tags ausgezeichnet werden. Tags erkennt man daran, dass sie in spitzen Klammern stehen – also zwischen ‚<‘ und ‚>‘. Innerhalb der spitzen Klammer steht ein Begriff, der eine Bezeichnung für das entsprechende Element vorgibt. XML zeichnet sich dadurch aus, dass es hierbei keine fest vorgegebenen Begriffe für die Tags gibt. Das bedeutet, dass wir für jeden Datensatz passende Bezeichnungen auswählen können, die die Inhalte treffend beschreiben. Dabei gibt es unterschiedliche Arten von Tags: Starttags, Endtags und Leertags.
Vor dem Inhalt eines Elements steht das Starttag. Hierbei ist es möglich, einen beliebigen Begriff zu verwenden. Dieser sollte den Inhalt jedoch so gut wie möglich beschreiben. Wenn wir beispielsweise das Gehalt angeben möchten, wäre folgendes Starttag sinnvoll: <gehalt>.
Das Endtag markiert das Ende eines Elements und steht dementsprechend nach dem Inhalt. Voraussetzung für die Verwendung ist, dass zuvor ein Starttag eingefügt wurde. Jedes Starttag benötigt umgekehrt auch zwingend ein Endtag. Diese bilden daher eine zusammengehörige Einheit. Das Endtag muss dabei genau die gleiche Bezeichnung wie das entsprechende Starttag verwenden. Der einzige Unterschied besteht darin, dass vor dem Bezeichner ein Schrägstrich steht. Das Endtag für das zuvor erstellte Gehalts-Starttag sieht dann so aus: </gehalt>. Wenn wir diese zusammenfügen und auch noch einen Inhalt einfügen, sieht das gesamte Element so aus: <gehalt>2000</gehalt>.
Darüber hinaus gibt es Leertags. Diese kommen für Elemente ohne Inhalt zum Einsatz. Sie bestehen aus einer einzigen Einheit. Hierbei steht der Schrägstrich nach dem Bezeichner. Sie kommen häufig in Verbindung mit Attributen zum Einsatz, die später in diesem Artikel noch vorgestellt werden, um weiterführende Informationen zu vermitteln.
Hierarchische Strukturen mit XML erstellen
XML bietet sich dazu an, hierarchische Strukturen zu erstellen, um die Informationen zu gliedern. Das ist möglich, da jedes Element nicht nur Textinhalte beinhalten darf, sondern auch aus weiteren Elementen bestehen kann. Um dies an einem Beispiel zu verdeutlichen, gehen wir davon aus, dass wir die Mitarbeiter eines Unternehmens erfassen. Dazu wäre es sinnvoll, jeden Mitarbeiter in ein Tag mit der Bezeichnung mitarbeiter zu stellen. Allerdings unterteilt sich die Information hierbei wieder auf mehrere einzelne Einheiten – beispielsweise müssen wir den Vornamen, den Nachnamen, die Telefonnummer und das Gehalt angeben. Daher können wir innerhalb des Elements mitarbeiter für jede dieser Informationen ein weiteres Element erstellen und dafür entsprechende Tags einfügen:
Dabei ist es auch möglich, weitere Ebenen hinzuzufügen. Beispielsweise haben wir bereits gesagt, dass es in einigen Fällen sinnvoll sein kann, beim Gehalt auch die Währung anzugeben. Daher fügen wir an dieser Stelle nun eine weitere Ebene ein, sodass die hierarchischen Strukturen deutlich werden:
Die Anzahl der Ebenen ist hierbei nicht beschränkt. Es wäre beispielsweise noch möglich, übergeordnete Ebenen für die Abteilung einzufügen und bei größeren Unternehmen für den Standort. Das zeigt, dass XML auch bei größeren Datensätzen übersichtliche Strukturen erlaubt.
Attribute
Einen weiteren Bestandteil von XML stellen Attribute dar. Diese machen es möglich, eine weiterführende Eigenschaft eines Inhalts anzugeben. Das Attribut ist nicht eigenständig, sondern es bezieht sich stets auf den Inhalt des entsprechenden Elements. Attribute werden innerhalb des Starttags definiert. Außerdem kommen sie häufig in Leertags zum Einsatz. Sie bestehen aus dem Attributsnamen und dem Attributswert. Diese werden durch ein Gleichheitszeichen miteinander verbunden. Auch hierbei sind wir in XML vollkommen frei in der Auswahl und können die Attributsnamen so auswählen, dass sie zu unserem Projekt passen.
Um dies an einem Beispiel zu demonstrieren, verwenden wir wieder das Gehalt. Im vorigen Abschnitt haben wir die Währung in einem eigenen Tag festgehalten. Allerdings handelt es sich hierbei um eine Eigenschaft, die sich stets auf das Gehalt bezieht. Daher wäre es hierbei auch möglich, sie als Attribut zu erfassen. Das entsprechende Element könnte dann so aussehen:
<gehalt währung = "Euro">2000</gehalt>
Beispiele für XML-Code
Um den Aufbau mit mehreren Ebenen und verschiedenen Attributen zu verdeutlichen, soll nun als Beispiel eine kleine Abteilung des Unternehmens abgebildet werden:
Wichtige Regeln für korrekten XML-Code
Um korrekten XML-Code zu erzeugen, ist es wichtig, einige Regel zu beachten. Die wichtigsten von ihnen werden hier kurz vorgestellt:
- Jedes Starttag muss mit einem Endtag geschlossen werden
- Attribute müssen in Anführungszeichen stehen – entweder in einfachen Anführungszeichen(‘Attributswert’) oder in doppelten Anführungszeichen (“Attributswert”).
- XML unterscheidet zwischen Groß- und Kleinschreibung. D.h. die Tags <gehalt> und </gehalt> sind nicht identisch.
- Bei hierarchischen Strukturen ist die Ebenentreue zu beachten. Das bedeutet, dass alle Elemente der unteren Ebene geschlossen sein müssen, bevor Sie das Element der nächsthöheren Ebene schließen.
- Jedes XML-Dokument muss genau ein Wurzelelement aufweisen, das alle weiteren Elemente enthält.
Welche Vorteile bietet XML?
Nachdem nun die wichtigsten Eigenschaften von XML vorgestellt wurden, stellt sich die Frage, welche Vorteile diese Auszeichnungssprache bietet und weshalb sie so häufig zum Einsatz kommt.
Einer der entscheidenden Punkte besteht hierbei darin, dass XML auf der einen Seite die automatische Verarbeitung mit einem Computerprogramm erlaubt. Auf der anderen Seite sind die Dateien jedoch auch für den Menschen gut lesbar. Daher kann man auch problemlos mit einem Texteditor manuelle Änderungen an den Daten vornehmen.
Ein weiterer Vorteil besteht darin, dass die Inhalte hierbei in einer Datei zusammengefasst sind, die sich auf jedem Computer öffnen lässt – vorausgesetzt, dass hier ein Texteditor vorhanden ist. Um Daten in Datenbanken auszuwerten ist im Gegensatz dazu beispielsweise stets eine geeignete Software erforderlich. Das führt zu einem zusätzlichen Aufwand. XML macht es hingegen einfach, die Inhalte weiterzugeben – beispielsweise als Download im Internet oder als Anhang einer E-Mail.
Ein weiterer Vorteil besteht darin, dass XML erweiterbar ist. Das bedeutet, dass sich die Sprache problemlos an spezifische Aufgaben anpassen lässt. Dazu muss man lediglich zusätzliche Regeln definieren, die dem entsprechenden Anwendungszweck entsprechen.
Nachteile von XML
Bei der Arbeit mit XML muss man jedoch auch einige kleine Nachteile berücksichtigen. Ein wesentlicher Punkt besteht hierbei darin, dass die Strukturierung mit Tags das Datenvolumen deutlich erhöht. XML-Dateien benötigen daher im Vergleich zu anderen Formaten recht viel Speicherplatz. Das kann insbesondere bei sehr umfangreichen Datensätzen einen erheblichen Nachteil darstellen.
Auch hinsichtlich der Sicherheit stellt XML nicht immer die beste Wahl dar. Die Dateien sind einfach auszuwerten und es ist dabei im Gegensatz zu vielen Datenbanken keine Zugriffskontrolle integriert. Insbesondere für sensible Daten ist die Verwendung daher nur dann zu empfehlen, wenn man die Dateien mit externen Schutzmaßnahmen versieht.
Der Verwendungszweck von XML
Zum Abschluss sollen noch einige der wichtigsten Anwendungen für XML dargestellt werden. Dabei handelt es sich jedoch nur um eine kleine Auswahl. Darüber hinaus gibt es noch viele weitere Möglichkeiten.
Viele Unternehmen verwenden XML für eine strukturierte Speicherung der Daten. Dabei ist es sehr vorteilhaft, dass die Dokumente sowohl für Menschen als auch für Computer lesbar sind. Das macht es möglich, einfache Programme für die Auswertung der Daten zu erstellen. Bei Bedarf können die Mitarbeiter aber auch problemlos direkt auf die Datensätze zugreifen und diese bearbeiten.
Häufig kommt XML auch für den Austausch von Daten über das Internet zum Einsatz. XML-Dateien sind einfach zu versenden. Außerdem ist es nicht erforderlich, dass der Empfänger eine spezielle Software für die Auswertung installiert.
XML lässt sich für spezielle Anwendungen auch erweitern. Ein Beispiel hierfür ist XHTML. Dabei handelt es sich um eine Auszeichnungssprache für die Erstellung von Internetseiten. Diese befolgt alle XML-Regeln. Allerdings erweitert sie diese um zusätzliche Vorgaben. Beispielsweise ist es hierbei nicht möglich, eigene Bezeichnungen für Tags und Attribute zu verwenden. Stattdessen steht nur eine Auswahl an fest vorgegebenen Sprachelementen zur Verfügung, die jeweils für eine bestimmte Darstellung im Webbrowser sorgen und damit die Struktur der Internetseite vorgeben. XHTML ist jedoch nur ein Beispiel für eine XML-Erweiterung. Es gibt noch viele weitere Techniken, die auf diese Weise aufgebaut sind – beispielsweise RSS.
Darüber hinaus verwenden zahlreiche Programmiertechniken XML als Hilfsmittel. Wenn Sie beispielsweise grafische Benutzeroberflächen mit Java erstellen, können Sie hierfür das JavaFX-Framework verwenden. Dabei besteht zum einen die Möglichkeit, alle Angaben zur Gestaltung der Fenster direkt als Java-Code anzugeben. Eine alternative Vorgehensweise hierzu besteht darin, ein XML-Dokument zu erstellen, das alle Vorgaben zur Gestaltung erfasst und das ganz speziellen Vorgaben entspricht. Das kann die Programmierung in vielen Fällen deutlich erleichtern. Außerdem lässt sich auf diese Weise das Design der Oberflächen von den Funktionen trennen. Auch Smartphone-Apps für das Betriebssystem Android sind in der Regel nach diesem Muster aufgebaut. Hierbei kommt ebenfalls eine XML-Datei zum Einsatz, die die Vorgaben für die grafische Gestaltung der Anwendung enthält.
XML: einfache Technik mit vielfältigen Anwendungsmöglichkeiten
Als Fazit lässt sich festhalten, dass es sich bei XML um eine recht einfache Technik handelt. Selbst in diesem kurzen Blogbeitrag war es möglich, die wichtigsten Grundsätze dieser Auszeichnungssprache zu vermitteln. Zwar gibt es noch einige weiter Möglichkeiten und auch die vorgestellten Regeln waren nicht ganz vollständig. Dennoch zeigt dies, dass XML sehr einfach zu erlernen ist.
Aufgrund der großen Vorteile, die XML bietet, sind die Anwendungsmöglichkeiten dabei ausgesprochen vielfältig. Daher kommt XML nicht nur in direkter Form für die Datenspeicherung zum Einsatz. Darüber hinaus dient XML vielen weiteren Techniken als Hilfsmittel.
Bildquelle: https://de.wikipedia.org/wiki/Datei:XML.svg, CC 2.5, Dreftymac