XML-Know How

Einsatz von XSLT in der Verlagsbranche

Wo immer ein Verlag mit XML-Daten arbeitet, wird eine Umwandlung der vorhandenen Daten in andere Formate, Strukturen oder Sequenzen zu den immer wiederkehrenden Aufgaben gehören:

     

  • An den XML-Daten müssen vor der Publikation noch systematische Änderungen vorgenommen werden, die von Hand als Einzelkorrekturen sehr mühsam, teuer und fehleranfällig wären.
  • Herstellen der richtigen Sequenz der XML-Daten (Sortierung). Auch diese sollte im Vorfeld des eigentlichen Satzprozesses erfolgen – die wenigsten Satzsysteme verfügen über eigene, leistungsfähige Sortieralgorithmen.
  • Die Ausgabe von Leseproben im Internet, d. h. eine Umwandlung der Daten nach HTML. Dies kann mit Hilfe von XSLT vollautomatisch erfolgen.
  • Anpassen der Datei an die Anforderungen des verwendeten Satzprogramms. Unterschiedliche Satz- und Layoutsysteme haben unterschiedliche Stärken und Schwächen bei der Verarbeitung von XML. So hat InDesign z. B. immer noch Probleme mit der Auswertung von Attributwerten. Mit Hilfe von XSLT ist es aber leicht möglich, ein Stylesheet zu erstellen, das alle Attribute in eigene »InDesign-Tags« verwandelt, um anschließend einen sehr viel besseren Datenimport nach InDesign zu erreichen.
  • Um die Daten vollautomatisch mit XSL-FO auszugeben, muss diese Form der Daten zunächst erstellt werden. Auch hierfür wird XSLT eingesetzt.
  • Zur Rückübergabe von Daten an den Autor wird in aller Regel Word als Format benötigt. Mit Hilfe von XSLT lassen sich die XML-Dokumente nach WordML, dem Word-eigenen XML-Austauschformat umwandeln.
  •  

Natürlich gibt es auch andere Transformationssprachen, die ähnliches, oft sogar noch mehr leisten. Doch für XSLT sprechen neben den bereits genannten Leistungsmerkmalen gewichtige Vorteile:

     

  • XSLT ist ein weltweiter Standard
  • die Technologie selbst und alle dazu benötigten Komponenten sind kostenlos und lizenzfrei.
  •  

Diesen Vorteilen stehen jedoch auch Nachteile – oder nennen wir es die Grenzen der Technologie gegenüber. Die wichtigste ist implizit schon genannt worden:

XSLT funktioniert nur, wenn als Eingabe-Datenformat bereits XML vorliegt!

XSLT ist daher nicht geeignet, um andere Formate nach XML zu überführen und ist damit kein universelles Konvertierungs-Tool. Auch sollte der Komplexitätsgrad, den ein Stylesheet erreichen kann, nicht unterschätzt werden. Dies steht und fällt vor allem mit dem Komplexitätsgrad des Aufbaus der Quell- und der Zieldatei. Müssen sehr umfangreiche DTDs ausprogrammiert werden und hierbei viele Bedingungen beachtet werden, wird ein Stylesheet schnell unübersichtlich. Auch ein versierter XSLT-Programmierer kann dann leicht mehrere Wochen an einem Stylesheet zubringen (das dann aber auch wahre Wunder vollbringt).

Und natürlich gilt: Nur was strukturiert ist, kann auch gezielt transformiert werden! Das klingt banal, hat aber mehr Aussagekraft, als auf den ersten Blick vermutet wird. Schon an den sehr einfachen Beispielen in diesem Artikel wurde deutlich, dass die semantische Strukturierung der Daten eine gezielte und damit eindeutige Verarbeitung erlaubt. Ließen sich Informationen wie name oder wohnort nicht ansteuern und auswerten (wäre die Musterinstanz also beispielsweise nur durch Absätze gegliedert), ließe sich keine der Beispielanwendungen umsetzen.

Für ein nachträgliche Semantisierung von XML-Instanzen ist XSLT eher ungeeignet, da hier stark mit Mustervergleichen, Stringverarbeitung und regulären Ausdrücken gearbeitet werden muss. Für solche Anwendungen sollten andere Skriptsprachen[1] zum Einsatz kommen.


     

  1. ↑ Vgl.  hierzu den Artikel über TUSTEP
  2.