Kurse für Kenner

XML-Kurs: Was sind Auszeichnungssprachen?
Auszeichnungssprachen werden benutzt um Daten oder deren Darstellung zu beschreiben. Sie legen Informationen zur Syntax, Semantik oder Anweisungen zur Darstellung fest. In der Druckindustrie beschrieben Auszeichnungen den Setzern, wie bestimmte Textteile zu formatieren waren.

Heute spielen Auszeichnungssprachen in der Daten- und Informationsverarbeitung eine zentrale Rolle. Mit ihrer Hilfe können Internetseiten, Textdokumente und Grafiken bearbeitet und angezeigt werden.

Motivation für Auszeichnungssprachen

Zunächst wird anhand eines Beispiels die Motivation der hier vorzustellenden Konzepte verdeutlicht.

Ausgangssituation:
Ein Zeitschriftenverlag veröffentlicht monatlich eine Ausgabe. Die Verlagsleitung hat nun eine Modernisierung beschlossen und möchte neue Vertriebswege erschließen.

Das Layout soll überarbeitet werden und ein moderneres Design bekommen. Zusätzlich zur Druckausgabe soll die Zeitung für Kunden im Netz veröffentlicht werden und Abonnenten sollen jährlich eine CD-ROM mit allen Artikeln als Archiv bekommen.

Probleme:
Manuelle Erstellung verschiedener Ausgabemedien Zunächst scheint die Umsetzung einfach. Jedoch stellt man schnell fest, daß viele ähnliche Aufgaben mehrfach durchgeführt werden müssen. Die Artikel müssen an das neue Layout angepasst, in die Webseiten eingefügt und für die Ausgabe auf CD-ROM vorbereitet werden.

Der Arbeitsaufwand steigt erheblich genauso wie die Fehleranfälligkeit. Die Redakteure geraten unter Zeitdruck, da sie ihre Artikel jetzt für drei verschiedene Medien schreiben müssen.

Wie könnte man es nun erreichen, daß die Redakteure ihre Artikel nur einmal verfassen und nicht manuell für verschiedene Medien aufbereitet werden müssen?

Lösung:
Betrachten wir nocheinmal die Ausgangssituation: Die Redakteure schreiben Artikel für drei unterschiedliche Ausgabemedien. Die Lösung besteht nun darin, den Artikel einmalig zu verfassen und automatisch auf verschiedene Medien auszugeben. Denn der Inhalt der Artikel ist in jedem Fall gleich, aber auch die Struktur unterscheidet sich nicht: Eine Überschrift bleibt eine Überschrift, ganz gleich, ob der Artikel auf Papier, im Netz oder auf CD-ROM veröffentlicht wird.

Es muß also eine Möglichkeit geschaffen werden, nicht nur den Text eines Artikels, sondern auch dessen Aufbau wie Überschriften, Absätze und Zitate zu erfassen. Die Redakteure schreiben so ihre Artikel, markieren Überschriften etc. als solche und brauchen keine Gedanken darüber verlieren, wie der Artikel schlussendlich aussieht oder auf welchem Medium er verbreitet wird. Automatisierte Ausgabe für unterschiedliche Medien Redakteure und Designer können unabhängig von einander arbeiten. Änderungen beispielsweise am Layout der Zeitung sind ohne Mehraufwand möglich und einmal festgelegt kann die Formatierung für die verschiedenen Medien automatisiert werden. Diese vorteilhafte Umsetzung läßt sich auf zwei grundlegende Fragestellungen reduzieren:
  • Auf welche Weise können die Redakteure die Überschriften etc. in ihren Artikeln als solche markieren?
  • Wie kann ein Rechner aufgrund dieser Markierungen verschiedene Ausgabeformate erzeugen?
Die Antwort auf diese Fragen sind in den so genannten Auszeichnungssprachen zu finden.

Dokumente und Auszeichnungssprachen

Darstellung von Dokumenten
Anfänglich wurden Auszeichnungssprachen dazu benutzt, um die Darstellung von Dokumenten festzulegen. Hier besteht auch die direkte Verwandtschaft zu den Verfahren der Druckindustrie.

Wollte man beispielsweise ein Wort innerhalb eines Textes hervorheben, so konnte man für eine kursive Darstellung markieren. So würde beispielsweise ein Programm, welches die Auszeichnungssprache HTML versteht, ''Ein <i>wichtiges</i> Wort'' als ''Ein wichtiges Wort'' darstellen.

Die Redakteure aus dem einleitenden Beispiel könnten auf diese Weise ihre Artikel formatieren und festlegen, wie groß und in welcher Schrift die Wörter dargestellt werden. Allerdings hätte man hier wieder Probleme, wenn der Verlag beispielsweise auf die Idee kommen würde, Wörter nicht mehr durch Kursiv-, sondern durch Fettdruck hervorzuheben.

Strukturierung von Dokumenten
Aufbau eines Dokuments Aus oben genannten Gründen erwies es sich daher als vorteilhaft nicht mehr die Darstellung, sondern die Struktur der Dokumente zu beschreiben. Anstatt ein Wort so zu markieren, daß es kursiv dargestellt wird, wird es direkt als hervorgehobenes Wort kenntlich gemacht. Die eigentliche Information, wie bestimmte Wörter formatiert werden, sind so aus dem Dokument ausgelagert.

Im Beispiel wäre es so für ein Programm leicht möglich alle hervorzuhebenden Wörter nicht nur kursiv, sondern auch mit Fettschrift zu formatieren. Und dies ohne von Hand alle Formatierungen im Artikel ändern zu müssen; denn schließlich haben wir hier nur die Information hinterlegt, daß es sich bei einem Textabschnitt um ein Wort besonderer Bedeutung handelt.

Dieser anfängliche Mehraufwand lohnt sich nicht nur, um die Darstellung von Dokumenten zu erleichtern. Man erhält auch eine logische Struktur der Dokumente, die für eine weitere Datenverarbeitung verwendet werden kann. Ein Programm kann wichtige Wörter nicht nur durch die Formatierung hervorheben, sondern Dokumente nach diesen durchsuchen und hieraus ein Stichwortverzeichnis erstellen.

Es wird ersichtlich, daß Dokumente nicht nur die Daten, den eigentlichen Inhalt, sondern auch Informationen über Struktur oder Darstellung enthalten können. Diese zusätzlichen Daten werden Meta-Daten genannt und durch Auszeichnungssprachen beschrieben.

Ziele moderner Auszeichnungssprachen

Die Motivation hinter Auszeichnungssprachen ist die Abstraktion von Datenstrukturen. Standardisierte Sprachen sollen den Austausch von Daten zwischen Menschen, aber auch Maschinen ermöglichen und vereinfachen.

Um dies zu erreichen, werden Daten mit einer abstrakten Sprache beschrieben, die inhaltliche und strukturelle Informationen sichert. Unabhängig von den eigentlichen Daten kann anhand dieser Meta-Daten eine Weiterverarbeitung oder eine für Menschen lesbare Ausgabe erzeugt werden.

Besonders hierbei ist, daß die Datenabstraktion von der resultierenden Ausgabe zunächst unabhängig ist. Hierin verbirgt sich eine der Stärken der hier vorgestellten Auszeichnungssprachen. So beschriebene Daten können ohne Änderung an der eigentlichen Datenstruktur auf verschiedenen Medien ausgegeben oder weiterverarbeitet werden. Diese Darstellung wird im so genannten HARP<-Modell beschrieben.

Das HARP-Modell

Menschliche Gedanken oder besser Daten werden dem Rechner mittels Auszeichnungssprache beschrieben. Dieser speichert die Daten intern auf bestimmte Weise und kann die Daten wiederum in die reale Welt darstellen. Die für Menschen lesbare Ausgabe kann optional Grundlage weiterer Gedanken sein, die einen weiteren HARP-Kreis nach sich ziehen.

Der Computer übernimmt so einen großen Teil der Arbeit, um bestimmte Daten darzustellen. Ohne eine solche Vorgehensweise müssten Menschen ihre Gedanken direkt in verschiedene Darstellungen umsetzen, was mit einem erheblichen Mehraufwand verbunden wäre.

Allgemeiner Aufbau

Ein Dokument besteht aus Elementen, die hierarchisch, beginnend mit dem Wurzelelement, angeordnet sind. Elemente können Texte, also den eigentlichen Inhalt eines Dokuments, oder andere Elemente enthalten. Durch eine solche Schachtelung der Elemente entsteht eine semantische Struktur neben dem Inhalt. Diese Informationen werden als Meta-Daten bezeichnet.

Ein Element wird durch einen öffnenden Tag3 <name> und einem schließenden Tag </name> beschrieben. Zusätzlich können einem Element Attribute zugeordnet werden. Diese werden als Schlüssel-Wert-Paare im Start-Tag notiert:
<zitat quelle="WikiPedia">ein Bißchen Text</zitat> 
In diesem Fall wurde ein Element mit dem Bezeichner zitat deklariert. Dieses besitzt zusätzlich ein Attribut mit Namen quelle, welchem der Wert Wikipedia zugeordnet ist.
Allgemein besitzt ein Dokument dann folgende Struktur:

XML-Struktur Durch die Verwendung aussagekräftiger Bezeichnungen ist ein solches Dokument nicht nur von Maschinen, sondern auch von Menschen direkt lesbar. Spezielle Programme, Parser genannt, können ein Dokument in die jeweiligen Elemente aufteilen und dem Anwendungsprogramm so die entsprechenden Informationen zur Verfügung stellen.



Finden Sie diese Webseite gut? Dann empfehlen Sie uns doch einem Freund oder Bekannten.

XML-Kurs:
Übersicht
Auszeichnungssprachen
SGML / XML
Auszeichnungssprachen und das WWW

Links: