XML-Know How

XML - eine Auszeichnungssprache

Was XML ist, lässt sich sehr einfach erklären. Der Name verrät schon, worum es geht: Die eXtensible Markup Language – zu deutsch Erweiterbare Auszeichnungssprache ist eine Sprache, die der Auszeichnung dient und erweitert werden kann. Was genau bedeutet diese Bezeichnung?

Auszeichnung meint hier, was die Verlagsbranche ursprünglich unter diesem Begriff versteht: die Kennzeichnung und Hervorhebung von Textabschnitten in Manuskripten oder Korrekturfahnen. Traditionell können Textteile auf ganz unterschiedliche Weise ausgezeichnet werden, z. B. durch farbige Anstreichungen auf Korrekturfahnen oder auch durch Angaben am Textrand. Da XML eine Auszeichnungssprache ist, werden mit ihr die Auszeichnungen in Textform vorgenommen.

Erweiterbarkeit bedeutet, dass der Nutzer nicht auf ein vorgegebenes Set von Auszeichnungen beschränkt ist, sondern die Auszeichnungen selbst festlegen kann.

XML ist also im weitesten Sinne ein textbasiertes Format, in dem Inhalte wie Texte, Grafiken usw. wiederum mit Text beschrieben werden. Um Texte als Inhalt selbst und Texte als Auszeichnungen (oft englisch Markup genannt) unterscheiden zu können, wird der Auszeichnungstext bei XML in begrenzende Sonderzeichen eingefügt, nämlich in spitze Klammern. Die Klammern mit dem Auszeichnungstext darin nennt man auch Tags.

Ein Beispiel: Um einen Text als Überschrift auszuzeichnen, werden die Tags <überschrift> am Anfang und </überschrift> am Ende des Überschrifttextes gesetzt. Dabei unterscheidet der Schrägstrich das Endetag vom Anfangstag:

<überschrift>Das ist der Überschriftstext</überschrift>

In der XML-Terminologie nennt man ein Paar von Anfang- und Endetags mit allem, was dazwischen steht, ein Element. Zwischen Anfang- und Endetag kann es nicht nur Text geben, sondern auch weitere Elemente. Elemente können also andere Elemente enthalten.

Ein Beispiel:

<kapitel>
<überschrift>Das ist der Überschriftstext</überschrift>
<absatz>Das ist der Text des 1. Absatzes.</absatz>
<absatz>Das ist der Text des 2. Absatzes.</absatz>
</kapitel>

In diesem Beispiel folgen auf eine Überschrift mehrere Absätze. Überschrift und Absätze befinden sich zwischen dem Start-(<kapitel>) und dem Endtag (</kapitel>). Sie sind also Elemente innerhalb des kapitel-Elements. Auf diese Weise wird in XML die Zuordnung von Inhalten abgebildet: Das überschrift-Element und die absatz-Elemente zwischen den kapitel-Tags bilden zusammen die Überschrift und die Absätze eben dieses Kapitels.

Dieses Prinzip der »russischen Puppe«, bei dem Inhaltszuordnungen durch Schachtelung getroffen werden, nennt man in XML hierarchische Strukturierung.

Die Tags werden natürlich im späteren Satzbild nicht zu sehen sein. Sie werden nur für die Verarbeitung der Daten, z. B. zur Formatierung, benötigt. Bei der Ausgabe unseres Beispiels in einem Buch würden die Tags z. B. verwendet, um die Abstände zwischen den Textteilen zu regeln oder um den Text des überschrift-Elements in anderem Schriftgrad auszugeben als dem der absatz-Elemente.

Nichttext-Inhalte wie Grafiken oder Diagramme werden nicht direkt in XML gespeichert sondern separat in gängigen Grafikformaten.[1] Anstelle der Grafik steht dann im XML-Dokument ein Platzhalter in Textform. Er gibt an, welche Grafik an dieser Stelle eingefügt werden soll, wenn das XML-Dokument (auch XML-Instanz genannt) gesetzt oder z. B. in eine Internet-Seite umgesetzt werden soll, und wo (auf dem Rechner, im Netz oder anderswo) die Grafik zu finden ist.

Zusatzangaben zur Verarbeitung, wie der Name und der Speicherort einer einzufügenden Grafikdatei, werden als sogenannte Attribute kodiert.

Attribute befinden sich immer innerhalb eines Starttags und weisen die Form attributname="attributwert" auf. Ein Verweis auf eine Grafik wird in der Regel die Angabe des Dateinamens als Attribut enthalten, z. B.:

<grafik datei="grafik.gif"/>

Elemente, die außer Attributen keinen Inhalt haben, die also keinen Text oder andere Elemente umschließen, benötigen kein Endtag. Solche Elemente heißen leere Elemente. Um sie eindeutig als leere Elemente zu kennzeichnen, wird eine Endemarkierung »/« am Ende des Starttags ergänzt. Typische Beispiele für leere Elemente sind Grafikaufrufe und andere Nichttext-Elemente.

Doch nicht nur bei leeren Elementen können Attribute vorkommen: Auch Attribute für Textinhalte treten sehr häufig auf. Eine typische Anwendung ist etwa die Herstellung von Verweisen:

<absatz>Im <verweis ziel="abschnitt5">fünften Abschnitt
</verweis> finden Sie mehr zu diesem Thema.</absatz>

Die <verweis>-Tags geben in diesem Beispiel an, welcher Textteil den Verweistext darstellt, das ziel-Attribut gibt dagegen genau an, auf welchen Textteil verwiesen wird.

Damit aus dieser Konstruktion ein funktionierender Verweis wird, muss das Sprungziel ebenfalls eindeutig kodiert werden. Konkret heißt das, dem Zielabschnitt wird die Information beigegeben, dass es sich um den abschnitt5 handelt. Auch dies geschieht mittels eines Attributes:

<abschnitt name="abschnitt5">Das ist dann der gemeinte Abschnitt</abschnitt>

So kann für das Verarbeitungssystem unmissverständlich angegeben werden, wohin der Verweis führt, ohne dass der eigentliche freisprachliche Inhalts-Text sich dieser technischen Notwendigkeit unterordnen muss. Denn der freisprachliche Verweistext »Im fünften Abschnitt« ist für den Rechner nicht eindeutig und damit nicht ausreichend. Da Computer nicht sinnverstehend lesen können, brauchen sie bei Verweisen ganz eindeutige Angaben.

Ein bildschirmorientiertes Verarbeitungssystem für den Endnutzer (CD-ROM/DVD oder Internet) würde in unserem Beispiel die Tags nicht ausgeben, sondern den Text zwischen <verweis> und </verweis> farbig und unterstrichen als Link kennzeichnen. Beim Mausklick auf diesen Link würde der Abschnitt abschnitt5 angezeigt. Bei der Printausgabe könnte ein geeignetes XML-Satzsystem einen Verweis auf die Seite einfügen, auf der der Abschnitt mit dem versteckten Namen abschnitt5 zu stehen kommt.

Zusammengefasst: da die Tags bei der Wiedergabe für den Endnutzer nicht angezeigt werden, können durch Attribute beliebige Zusatzinformationen zu einem Element versteckt abgelegt und auf verschiedenste Weise genutzt werden.

Dieses Beispiel zeigt auch, dass die Auszeichnung durch XML medienneutral ist. Wird XML richtig angewendet, kann aus demselben Datenbestand z. B. eine elektronische und eine Print-Ausgabe erzeugt werden.


     

  1.  Zwar gibt es mittlerweile auch Anwendungen, die Grafiken in XML kodieren, indem sie die Koordinaten und Farben von Linien, Punkten und anderen geometrischen Objekten in Zeichenfolgen nach XML-Regeln ablegen (SVG – Scalable Vector Graphics – ist eine solche XML-Grafik-Anwendung), doch wird man auch diese Daten meist separat abspeichern, da sie mit anderen Programmen bearbeitet werden müssen als z. B. Textinhalte.
  2.