20.2.2 | XML als neutrale Auszeichnungssprache |
Der geläufigste Weg, von einem Dokument (oder auch einer Grafik) verschiedene Zielformate zu erhalten ist, das Dokument zunächst in einem Zielformat zu erstellen (z. B. mit einem kommerziellen Textverarbeitungsprogramm) und es dann mit dem Menüpunkt »Speichern als« in die anderen gewünschten Zielformate (z. B. HTML) zu exportieren.
Bei dieser Vorgehensweise wird gewissermaßen »horizontal« konvertiert, d. h. von einem Endprodukt in ein anderes Endprodukt (z. B. wie in Abbildung 20.1 gezeigt, von Doc nach HTML).
Beispiele für die Konvertierung aus einem Endprodukt in ein anderes sind darüber hinaus: Gerade das letzte Beispiel zeigt sehr gut, dass mit horizontaler Konvertierung ein teilweise drastischer Informationsverlust einhergeht. So gehen beim Ausdruck einer Webseite sämtliche Links verloren. Insbesondere bei extensiver Durchsetzung der Webseite mit Hyperlinks mag es vielleicht nicht sinnvoll sein, alle Hyperlinks in Verweise (»siehe Seite xx«) in der Printform umzusetzen. Dennoch ist die Möglichkeit, eine Teilmenge der Hyperlinks in Verweise im Printmedium umzusetzen, sicherlich wünschenswert, insbesondere bei großen Dokumenten.
Darüber hinaus sind die Möglichkeiten, mit horizontaler Konvertierung spezielle Features eines bestimmten Ausgabemediums voll auszunutzen, recht gering und zwar aus zwei Gründen:Das Beispiel der Verweise zeigt ein sehr wichtiges Prinzip, um dasselbe Dokument in optimaler Qualität in verschiedenen Zielformaten gewinnen zu können. Wesentliche Voraussetzung für die vollständige Nutzung spezifischer Möglichkeiten eines Ausgabemediums (z. B. Hyperlinks in HTML) ist ein abstraktes und medienneutrales Format. Dieses abstrakte Basisformat wird dann mit Konvertern in die gewünschten Zielformate umgewandelt. Die Konverter bereiten das Dokument mit einer bestimmten Präsentationsform auf (Layout, etc.) und integrieren zielformatspezifische Bestandteile (z. B. Navigationsleisten für eine HTML-Version).
- Das Ausgangsdokument enthält nicht genug Informationen. (Wenn ein Dokument in einem Wortprozessor keinen Videoclip referenziert, dann kann der Exportfilter natürlich auch keinen in die HTML-Version einbauen, obwohl dies technisch möglich wäre.)
- Der Exportfilter nutzt die technischen Möglichkeiten des Zielformats nicht aus (zum Beispiel mangelnde Navigationselemente beim Export nach HTML).
Auf das Beispiel mit den Verweisen bezogen könnte die Konvertierung so aussehen, dass im Quelldokument nur ein Teil der vorhandenen Verweise für die Berücksichtigung im Printmedium gekennzeichnet wird. Alle anderen Verweise würden für die Printausgabe ignoriert. Ein HTML-Konverter dagegen würde sämtliche Verweise als Hyperlinks ausführen.
Diese Art der Konvertierung arbeitet somit »vertikal«, d. h., ausgehend von einem abstrakten Quelldokument werden die verschiedenen Zielformate gewonnen, anstatt ein Zielformat in ein anderes zu überführen.
Dieser Weg bietet viel weit reichendere Möglichkeiten als die horizontale Konvertierung, weil das Quelldokument alle relevanten Informationen (z. B. eine Referenz auf einen Videoclip) enthält und die Ausnutzung der Spezifika eines Ausgabemediums den Konvertern überlassen werden kann. Ein Konverter nach HTML könnte eine Referenz auf einen Videoclip unter Verwendung eines Plug-ins umsetzen, ein Printkonverter würde diese Referenz ignorieren (oder vielleicht ein Standbild einbauen, sofern eines verfügbar ist).
Auch eine weitere wichtige Voraussetzung für medienunabhängiges Publizieren lässt sich mit XML erfüllen: Eine möglichst strikte Trennung von Struktur und Layout. Zwar können auch in kommerziellen Textverarbeitungen so genannte Formatvorlagen erstellt werden, die zwar von außen her betrachtet Strukturen bereitstellen (z. B. Überschrift, Absatz, Aufzählung), intern aber wird diesen »Strukturen« nur eine bestimmte optische Formatierung zugeordnet.
Außerdem hindert eine Formatvorlage den Benutzer nicht daran, Formatierungen vorzunehmen, die nicht in der Formatvorlage enthalten sind, z. B. manuelles Formatieren eines Worts in Kursivschrift, um es hervorzuheben, obwohl in der Formatvorlage keine Hervorhebung vorgesehen ist. Ähnliches gilt für Satzprogramme wie LaTeX. Auch hier können Vorgaben in Form von Styles oder Makros gemacht werden, aber genauso kann der Autor nicht daran gehindert werden, beliebige andere Befehle und Formatierungen zu verwenden.
Anders bei XML: Hier können wirklich nur genau die Elemente der DTD in der vorgegebenen Schachtelung benutzt werden. Weiterhin kann mit einem XML-Parser exakt überprüft werden, dass die DTD korrekt angewendet und nur die dort definierten Elemente benutzt wurden.
Insbesondere im Web-Bereich spielen Java-basierte Technologien bei der dynamischen Verknüpfung von Inhalten mit einem Layout eine wichtige Rolle. Ein Flaggschiff aus dem Open-Source-Bereich ist hier Cocoon, das vollständig in Java implementierte Publishing Framework des Apache-Projekts. Bei Cocoon erfolgt die dynamische Erzeugung von Webseiten in drei Stufen:Auf diese Weise kann das Layout einfach und weitestgehend unabhängig von den Inhalten geändert und ausgetauscht werden.
- Als Ausgangsbasis werden Schablonen für die Webseiten verwendet, die nur aus Strukturen, statischen Inhalten sowie Platzhaltern für dynamische Inhalte bestehen.
- Im zweiten Schritt werden die dynamischen Inhalte ergänzt, beispielsweise durch eine Datenbankabfrage über SQL.
- Schließlich wird das so erzeugte Dokument anhand eines Stylesheets formatiert. Erst in diesem letzten Schritt erfolgt das Layout.