Immer wieder wird es erwähnt: »XML«. Aber nicht jeder weiß was dahinter steckt und worum es dabei eigentlich geht. Wir wollen versuchen, uns dem Thema mit einem kurzen Einstieg in die Materie anzunähern.
Das Lexikon sagt – XML, englisch für „erweiterbare Auszeichnungssprache“, ist eine Auszeichnungssprache zur Darstellung hierarchisch strukturierter Daten in Form von Textdaten. XML wird für den Austausch von Daten zwischen Computersystemen eingesetzt, speziell über das Internet.
XML hilft Computern Informationen zu verstehen. Menschen können durch Grammatik und Satzbau Informationen in einen sinnvollen Zusammenhang bringen. Computer benötigen für diese Aufgabe detaillierte, strukturierte Anweisungen. XML kann diese Funktionen übernehmen.
Die XML zugrunde liegende Strukturierung baut auf sog. Tags auf. Durch Tags können Bereiche innerhalb der Inhalte voneinander abgegrenzt werden und Informationen gesondert ausgezeichnet werden – daher auch der Name „Auszeichnungssprache“. Dabei setzt XML auf eine hierarchische Struktur, bei der Informationen verschachtelt werden können.
Nähern wir uns dem Thema einmal mit einem Beispiel an: Im Bild unten sieht man links einen Text, wie ihn Menschen leicht verstehen können. Beim Text für den Menschen werden Informationen durch Bezugsworte (und, aber, auf, oder), Kommata und Punkte voneinander abgegrenzt. Der Text wird so für uns verständlich. Der Text wirkt eventuell etwas merkwürdig, weil sehr ausführlich. Das liegt daran, dass wir normalerweise durch erworbenes Wissen gewisse Informationen nicht mehr benötigen und diese einfach wie selbstverständlich weglassen.
Wenn jemand sich vorstellt mit »Hallo, ich bin Manfred«, gehen wir davon aus, dass es sich aufgrund unserer Erfahrung bei dieser Information um einen Vornamen handelt. Diese Erfahrung fehlt aber in der Regel dem Computer. Wollte jemand sich ganz eindeutig mit seinem Vornamen vorstellen, müsste er eine Formulierung wählen wie »Hallo, mein Vorname ist Manfred«. Sonst könnte jemand ohne die nötige Erfahrung ja auch davon ausgehen, dass es sich hierbei eventuell um einen Nachnamen handelt, oder sogar um eine ganz andere Information wie im Satz »Hallo, ich bin Bauingenieur«.
Rechts sieht man die gleichen Informationen für einen Computer aufbereitet. Hier gibt es eine Struktur, die dem Computer genau mitteilt, welche Informationen hier vorliegen. Der Computer kann also ohne zusätzliches Wissen die Informationen korrekt zuordnen.
Vergleich eines für menschenlesbaren Texts mit einem maschinenlesbaren, xml-ausgezeichneten Text.
Richtig. (X-)HTML, um genau zu sein, ist eine spezielle Variante eines XML-Dokuments. Die Strukturen sind soweit identisch.
In HTML allerdings sind die Regeln der Benennung der Tags streng definiert, zum Beispiel oder Von Anwendungsfall zu Anwendungsfall kann hier immer wieder eine andere Struktur sinnvoll sein. Dazu gilt es natürlich die Begrenzungen verschiedener Programme und Datenbanken zu beachten. Um nicht an diesen Grenzen zu scheitern, kann ich selbst in einer Dokumenttyp-Definition festlegen, wie eine XML aussehen soll, damit sie zum Beispiel zu meinem Layout passt. Auch hier ist eine XML erst dann valide, wenn sie zu der Struktur passt.
In der klassischen Gestaltung sind Inhalt und Form fest miteinander verwoben sind. Eine Änderung muss im Gestaltungsprogramm stattfinden, sie muss händisch durchgeführt werden. In der modernen medienneutralen Datenhaltung sind Inhalt und Form getrennt. Der Inhalt befindet sich in einer Datenbank und kann von dort als XML exportiert werden.
Die Gestaltung variiert, je nachdem, ob es sich um einen Flyer, einen Katalog oder eine Internetseite handelt. Der Inhalt aber bleibt gleich. So muss der Inhalt nur noch einmal zentral gepflegt werden. Bei einer Änderung, einem neuen Produkt oder einer neuen Auflage eines Katalogs wird die neue XML an die verschiedenen Ausgabewege verteilt. Die Inhalte werden automatisch im Layout ausgetauscht und das Dokument ist fertig.
Durch XML wird dem Computer neben den Inhalten also auch direkt eine Semantik mitgegeben – eine Struktur, die ihm erklärt, welche Information er vor sich hat und wie er damit umgehen soll.
Im Bereich der digitalen und analogen Medien wird XML meist zur Gestaltung von Informationen eingesetzt. Den Inhalten kann so zugeordnet werden, wie sie an welcher Stelle im Layout erscheinen sollen und wie sie dabei auszusehen haben.
Mitgegebene Zusatzinformationen können ebenfalls als Auswahlkriterium dienen. Zum Beispiel wenn entschieden wird, dass nicht alle Inhalte in einem Medium platziert werden. Faustregel dabei ist – je umfangreicher und detaillierter die Datenbasis vorliegt, desto genauer kann differenziert werden.
Im obigen Beispiel wäre es ohne großen Aufwand möglich individuelle Medien, wie z. B. Kataloge zu erstellen, deren Produkte auf das Alter der Person abgestimmt sind. Auch eine Variante der Ansprache zwischen „Du“ und „Sie“ wäre denkbar. Ausgangsbasis für diese Individualisierung ist das mitgegebene Alter in der Informationsstruktur.
XML ist ein offener Standard nach ISO-Norm und dadurch vom Großteil der am Markt üblichen Software interpretierbar.
Viele Programme wie Adobe InDesign, Microsoft Word, sowie das gesamte World Wide Web – durch HTML (Hypertext Markup Language) – kann XML-Strukturen auslesen und verarbeiten. Dadurch lassen sich Schnittstellen einfach realisieren und warten. Die Kompatibilität zwischen Input-Informationen, der Datenstruktur und den unzähligen Output-Kanälen, wie Druckerzeugnissen oder digitalem Content in Apps, Webanwendungen, oder klassischen Websites ist jederzeit gegeben. XML birgt dadurch beim automatisierten Publizieren in vielen Kanälen die größtmöglichen Vorteile.
Gegenüber Tabellen bieten XML-Dateien dazu noch den Vorteil, dass die Daten nicht nur in zwei Dimensionen aufgebaut werden können – Zeilen und Spalten – sondern dass die Daten beliebig hierarchisch verschachtelt werden können. Dadurch Können Informationen zu Gruppen zusammengefasst werden. Sie können dann als Ganzes, oder auch in Teilen verwendet werden.
XML ist ein zukunftssicheres, offenes Format, dass auch in vielen Jahren noch als Datenbasis für Inhalte verwendet werden kann.