Viele Linux-Anwender haben nahezu täglich mit XML-Dateien zu tun – vorausgesetzt, sie erledigen ihre Büroarbeiten mit OpenOffice oder schlagen etwas in den Hilfedateien von KDE nach. Auch das Notiz-Programm TuxCards [1] arbeitet mit diesem Datenformat. Und das aus guten Grund: XML ist die erste Wahl, wenn es um den einfachen Austausch von Daten geht.
XML für Einsteiger
Was verbirgt sich hinter der Abkürzung XML? Die Extensible Markup Language gehört zu den so genannten Markup-Sprachen, die auch als Seitenbeschreibungssprachen bezeichnet werden. Einer der bekanntesten Vertreter dieser Gattung ist HTML. Eine Besonderheit dieser Sprachen besteht darin, dass sie die Struktur eines Dokuments von seiner Darstellung trennen.
Das klingt kompliziert, ist aber ganz einfach. Ein Beispiel: Ein Student schreibt seine Diplomarbeit mit Word für Windows. Mit Hilfe von Überschriftenebenen gliedert er seinen Text. Er gibt das Dokument nun an einen Kommilitonen weiter, der eine andere Software nutzt, deren Importfilter nicht mit Word-Dokumenten umgehen kann. Die eben noch so übersichtlich gegliederte Arbeit stellt sich nun als ungegliederter Text dar. Der Grund: Word selbst erkennt zwar anhand der Formatanweisung, dass es sich bei einer Passage um eine Überschrift handelt. Es fehlt aber eine allgemein gültige Kennzeichnung, die es anderen Programmen erlaubt, automatisch das gleiche zu erkennen.
Hier kommen nun Markup-Sprachen ins Spiel. Dank ihrer Sprachelemente kann beispielsweise eine Überschrift als solche markiert werden. Diese Markierung bleibt auch dann erhalten, wenn das Dokument weitergegeben und verarbeitet wird. Wie der Text letztlich dargestellt wird, spielt keine Rolle. Die Darstellung wird durch eine Sammlung von externen Anweisungen, einem so genannten Style Sheet, geregelt.
Ein weiterer Vorteil einer XML-Datei besteht darin, dass sie aufgrund der Markierungen von Maschinen gelesen werden kann. Die Einsatzmöglichkeiten von XML sind damit vielfältig. Ein OpenOffice-Dokument basiert ebenso auf XML wie das Scalable Vector Graphics Format (SVG), das viele Zeichenprogramme inzwischen erzeugen können.
Genau diese Vorteile sind es aber auch, die XML für viele Anwender etwas schwer fassbar machen, da es sich um ein Regelwerk handelt, das helfen kann, Daten in Strukturen abzulegen und diese Strukturen zu beschreiben. Solche strukturierten Daten können Adressen, Bibliotheksbestände oder chemische Strukturen sein.
Sammeln Sie vielleicht Schallplatten oder Comics und wollen Ihre Sammlung im Web präsentieren? Dann können Sie die Daten auch direkt im XML-Format ablegen und online veröffentlichen. Das geht schnell und einfach und Sie ersparen sich die aufwendige Konvertierung in das HTML-Format.
Ihre erste XML-Datei
Im Prinzip handelt es sich bei einer XML-Datei um eine einfache Textdatei, die auf eine bestimmte Art und Weise aufgebaut ist. Am leichtesten lassen sich die grundlegenden Strukturen direkt an einem Beispiel erkennen:
<?xml version='1.0' encoding='UTF-8'?> <!DOCTYPE adressen SYSTEM 'datenbank.dtd'> <adressen> <kontakt> <name>Lamprecht</name> <vorname>Stephan</vorname> <telefonnummer type='privat'>123456</telefonnummer> <telefonnummer type='office'>789123</telefonnummer> <mail>nil@meinedomain.org</mail> </kontakt> <kontakt> <name>Lamprecht</name> <vorname>Daniela</vorname> <telefonnummer type='privat'>888888</telefonnummer> <telefonnummer type='office'>111111</telefonnummer> <mail>nix@meinedomain.org</mail> </kontakt> </adressen>
Hier wurde der Ausschnitt aus einer Adressdatei gewählt. Wenn Sie bereits mit HTML gearbeitet haben, wird Ihnen manches bekannt vorkommen. Im Gegensatz zu HTML beginnt die XML-Datei mit einer anderen Anweisung. Diese kennzeichnet die Datei als XML-Dokument und definiert den Zeichensatz, der verwendet werden soll.
Für die Verarbeitung von XML-Dokumenten wird eine Software genutzt, die als Parser bezeichnet wird. So weit, so ähnlich. Damit der Parser nun auch weiß, welche Sprachelemente eigentlich in der Datei auftauchen dürfen, werden diese entweder in der XML-Datei selbst oder an einem eigenen Ort gespeichert. Diese Sammlung von Definitionen wird als Document Type Definition (DTD) bezeichnet. In unserem Beispiel soll die DTD datenbank genutzt werden. Weitere Informationen zum grundlegen Aufbau von XML-Dokumenten finden Sie unter [2].



