XML

Für Menschen und Maschinen

Von Peter Riedlberger

XML ist das Kürzel für eXtensible Markup Language, zu Deutsch „erweiterbare Auszeichnungssprache“. Das heißt: XML ist eine Auszeichnungssprache zur Definition anderer Auszeichnungssprachen.

Ohne Beispiel ist dürfte diese Aussage praktisch unverständlich sein. Es sei daher angenommen, Bücherfreund A erstelle von seiner Büchersammlung eine Datenbank; die möchte er einerseits an der Uni abliefern, wo man am PC arbeitet, und außerdem seinem Onkel geben, der eine Lesebrille hat. Die Daten sollen als reine Textdatei gespeichert werden.

Natürlich könnte A folgendes Format benutzen:

Franz Kafka,Ein Landarzt,Frankfurt am Main,Fischer,1994
Friedrich Dürrenmatt,Romulus der Große,Zürich,Diogenes,1998

Der Nachteil ist aber, dass diese Datenform für den Onkel schwer zu lesen ist. Bei solch überschaubaren Buchaufnahmen mag sie noch funktionieren – aber was wäre, wenn viel mehr Zahlen enthalten wären, wie etwa bei

Anton Beispiel,33,4,1000,2,

wo sich kaum mehr erraten lässt, was die einzelnen Angaben bedeuten?

Das zweite Problem ist die mangelhafte Portabilität dieser Daten. Gibt A seine Daten weiter, muss er dem Computer exakt das Format erklären: „Zuerst der Autorenname, dann kommt ein Komma, dann der Titel, …“

Besser wäre daher z.B. folgendes Format:

<Buch>
<Autor>Franz Kafka</Autor>
<Titel>Ein Landarzt</Titel>
<Ort>Frankfurt am Main</Ort>

</Buch>

Solange aussagekräftige Bezeichnungen wie Autor, Titel, Ort vergeben werden (und nicht etwa data1, data2, data3) verstehen auch Menschen dieses Datenformat sofort und zudem lässt es sich automatisiert in einen anderen Computer importieren.

Allerdings war das eben noch kein XML, sondern lediglich eine spezielle (und primitive) Auszeichnungssprache für Bücheraufnahmen – XML ist eine Ebene weiter oben angesiedelt und legt fest, an welche Spielregeln sich Auszeichnungssprachen zu halten haben, damit sie XML-konform sind – also etwa die Labels in spitzen Klammern, oder das schließende Tag mit Slash am Ende.

So gesehen, ist XML eigentlich nichts Besonders: Es sind einfach Regeln, um zugleich menschen- und maschinenlesbare Daten zu generieren. Vor ein paar Jahrzehnten war Speicherplatz so außerordentlich teuer, dass Daten möglichst komprimiert abgelegt werden mussten. Heute gibt es keinen Grund, nicht XML zu verwenden, sofern man nicht bereits ein anderes System am Laufen hat.

Neben seiner technischen Existenz hat XML aber noch eine zweite Bedeutung, und zwar als weitgehend sinnentleerte Marketinghülse. Ähnlich wie „Java“ oder „.com“ oder „IP“ wird „XML“ oft für Werbung missbraucht. XML ist zwar aus den genannten Gründen in sehr vielen Fällen die derzeit vernünftigste Art und Weise, Daten zu speichern. Aber dies heißt noch lange nicht, dass eine Lösung „mit XML“ besser als eine ohne – sind die Labels nicht aussagekräftig gewählt, helfen sie gar nichts. Ist bereits eine vergleichbare Lösung (etwa auf SGML-Basis) am Laufen und funktioniert, muss keineswegs dringend ein Umstieg auf XML erfolgen. Letzlich ist XML-Verwendung nur ein technisches Detail, und es kommt stets – etwa bei der Umstellung auf eine Service-Oriented Architecture – auf die Implementierung des Ganzen an.

Nützliche Links

Anschauliche Beispiele für XML-Daten gibt es bei www.w3schools.com, eine praktische Einführung in XML findet man bei selfhtml.org