XML-Know How

Was ist XSL?

XSL, die »eXtensible Stylesheet Language«, wurde als ein eigener Standard vom World-Wide-Web-Konsortium entwickelt (eXtensible Stylesheet Language [XSL] Version 1.0 W3C Recommendation 15 Oktober 2001). XSL ist eine Familie von Empfehlungen zur Definition von Transformation und Präsentation von XML-Dokumenten.

So lassen sich mit XSL:

     

  • XML-Dokumente in andere XML-Dokumente bzw.
    Strukturen regelbasiert transformieren.
  • XML-Daten für die Präsentation in Web-Browsern aufbereiten.
  • Transformationen der Ursprungsdaten vornehmen für die weitere
    Verarbeitung in Systemen, die den XML-Standard nicht unterstützen.
  • detaillierte Angaben machen, welche Daten
    wie extrahiert werden sollen.

  • die Daten ausgabeorientiert aufbereiten,
    d. h. automatischen Satz- und Umbruchsystemen zuführen,
    die die Darstellung der Daten für die Ausgabe (Druck) vornehmen.

     

Der Standard XSL setzt sich aus drei definierten Komponenten zusammen, die ineinander greifen. Erst die Verbindung aller drei Bestandteile schafft die Basis, um diesem Anforderungsprofil gerecht zu werden.

     

  • XSLT (XSL Transformations) dient der direkten Arbeit mit den XML-Ausgangsdaten. Mit Hilfe von XSLT, einer Art »XML-Skriptsprache«, können beliebige Regeln definiert werden, gemäß welchen eine
    XML-Quelldatei in ein neues Dokument transformiert werden kann.
    Dies geht vom einfachen Auswählen, welche Tags der Quelldatei
    in der Zieldatei auftauchen sollen, bis zum vollständigen Umbau
    der Strukturen des Dokuments für weitere, nachgelagerte Bearbeitungsschritte (eXtensible Stylesheet Language Transformations [XSLT]
    Version 1.0 W3C Recommendation 16 November 1999).

  • XPath ist die Sprache, die den gezielten Zugriff auf beliebige Teile
    der Ausgangsdaten ermöglicht bzw. regelt. XPath ermöglicht also
    die regelbasierte Navigation in einem XML-Dokument. Mittels XPath
    lassen sich die gesuchten Ausgangsdaten in der (Baum-)Struktur
    eines XML-Dokumentes ausfindig machen und der Verarbeitung
    des neuen Dokument zuführen (XML Path Language [XPath]
    Version 1.0 W3C Recommendation 16 November 1999).

  • XSL-FO ist die Formatierungssprache von XSL. Hier sind in einer festgelegten XML-Syntax die wichtigsten Formatierungsbefehle enthalten,
    um Dokumente zu umbrechen und in ihrer Typografie wiederzugeben. Diese Sprache enthält also XML-Elemente mit typografischen Anweisungen für die Ausgabe in festen Seitendimensionen (eXtensible Stylesheet
    Language Formatting Objects [XSL-FO] spezifiziert unter eXtensible Stylesheet Language [XSL] Version 1.0 W3C Recommendation 15 October 2001).

     

Um vollautomatisierten Satz zu erreichen, wird also eine XSL-FO-Datei aus den XML-Quelldaten erzeugt. Dies geschieht in der Regel mit Hilfe von XSLT und XPath – auch wenn das nicht zwangsläufig so sein muss.

XSL-Dokumente bzw. XSL-Stylesheets sind immer auch selbst XML-Dokumente, das heißt sie unterliegen den gleichen syntaktischen Regeln und müssen ebenfalls wohlgeformt sein.

XSL-FO

XSL-FO ist also kein neues Satzsystem, sondern eine normierte Syntax zur Beschreibung von Typografie. Es bedarf daher eines weiteren Bausteins, nämlich einer Software, die diese Syntax kennt und in sichtbare respektive druckbare Informationseinheiten umsetzen kann. Zu jedem XSL-FO-Workflow gehört daher neben der Erstellung der FO-Datei (was, wie bereits erwähnt, in der Regel über ein XSLT-Skript geschieht) ein XSL-FO-Formatierer. Diese gibt es sowohl als Freeware (allen voran die Software FOP, die wir aber aufgrund ihrer ungenügenden Umsetzung des Standards nicht empfehlen können) als auch als kostenpflichtige Software. Der Unterschied zu »herkömmlichen« Satzsystemen ist dabei der, dass ein solcher Formatierer immer und ausschließlich vollautomatisch arbeitet, d. h. als »Black Box« nichts anderes leistet, als aus einer FO-Datei eine PDF-Datei (oder eine PostScript-Datei) zu erzeugen. Da auch der vorgelagerte Prozess, nämlich die Erstellung des XSL-FO, über ein XSLT-Skript vollautomatisch geschieht, lassen sich über diesen Weg beliebige XML-Daten vollautomatisch als PDF ausgeben. Wichtig ist dabei, dass eine FO-Datei (wiewohl sie selbst wieder eine XML-Datei darstellt) nur noch der Ausgabe dient. Ein »Roundtripping« findet nicht statt, die FO-Dateien können mit vertretbarem Aufwand nicht wieder zuverlässig einem nachgelagerten Verarbeitungsprozess im Sinne eines medienneutralen Workflows zugeführt werden. Es handelt sich also um ein »output-only-Verfahren« – Autorkorrekturen werden daher i. d. R. nicht in der FO-Datei vorgenommen, sondern in den vorgelagerten XML-Quelldaten, die dann erneut via XSLT nach XSL-FO umgewandelt werden.

Die typografischen Möglichkeiten, die XSL-FO bietet, sind vielfältig und durchaus bestechend. Sie können hier nur exemplarisch dargestellt werden.

Im Mittelpunkt des typografischen Konzepts steht die Einrichtung von Seiten. Die Maße einer Seite in Breite und Höhe sind frei wählbar. Eine Seite lässt sich in XSL-FO in fünf unterschiedliche Regionen aufteilen; den Kopf- und Fußbereich, den linken und rechten Rand und den »Body«-Bereich, der für den eigentlichen Inhalt reserviert ist. Unterschiedliche Seiten(-vorlagen) lassen sich schließlich zu einer Seitenfolge verknüpfen (z. B. sich abwechselnde linke und rechte Seiten).

Für die wichtigsten typografischen und umbruchrelevanten Aspekte innerhalb von Satzarbeiten bis hin zur detaillierten Gestaltung lassen sich Angaben machen – solange diese Angaben sich in Regeln formulieren lassen. Der »Standard-Verarbeitungsprozess« ist daher der, die einzelnen Tags der Quell-XML-Datei dergestalt nach XSL-FO umzuwandeln, dass ihnen eine typografische Umsetzung zugewiesen wird. Der Grad der sinnvollen Automatisierbarkeit der Umbrucharbeiten eines Textes steht und fällt daher mit dem Grad der Strukturiertheit dieses Textes. Nur Texte, bei denen alle Informationen, die eine getrennte typografische Behandlung erfahren sollen, auch mit eigenen Elementen gekennzeichnet sind (dies ist in XML innerhalb der Verlagsbranche üblicherweise der Fall, außerhalb durchaus seltener), lassen sich automatisch umbrechen.