![]() |
|
|
Artikel
Service
|
XSLT – (trans)formidabel
Wenn es darum geht, flexibel auf unterschiedliche XML-Daten zuzugreifen und sie in andere Formate zu bringen, kann die "Programmiersprache" XSLT durchaus bestechen. In jedem Fall leistet sie einen wichtigen Beitrag zum erfolgreichen Single-Source-Publishing.
Die eXtensible Markup Language XML, ist eines der "buzz words" in der Technischen Dokumentation, insbesondere wenn es um Single-Source-Publishing geht. Also die Idee, aus einer Quelle Dokumente in verschiedenen Ausgabeformaten (z. B. Druck, PDF, HTML) zu erzeugen, eventuell sogar mit verschiedenen, dem Ausgabeformat angepassten Inhalten. XML erscheint deshalb so geeignet für das Single-Source-Publishing, weil es von der Grundidee eine (Meta-)Sprache zur Strukturierung von Inhalten ist und keine Information über Layout oder Formatierung enthält (siehe Beispiel 1). Anhand der Strukturinformation, dass z. B. ein Textstück eine Kapitelüberschrift ist, kann für verschiedene Ausgabeformate die jeweils passende Formatierung angewendet werden.
Beispiel 1: XML-Datei
Von XML zur PublikationWie wird aus einem XML-Dokument eine HTML-Seite oder ein gedrucktes Handbuch? Zwei Aufgaben stehen an:
Cascading Stylesheets (CSS) Publishing-Tools mit XML-Schnittstelle Extensible Stylesheet Language (XSL) XSL ist in Wirklichkeit eine Familie von XML-Sprachen: XSL-FO (XSL Formatting Objects; standardisiert Oktober 2001) beschreibt Layout und Formatierung, XSLT (XSL Transformation; standardisiert November 1999) die Transformation von XML-Inhalten. Zu beiden Sprachen wurden passende Tools entwickelt: So genannte FO-Prozessoren wandeln XSL-FO-Dokumente z. B. in PDF um; XSLT-Prozessoren lesen XML-Dokumente sowie XSLT-Stylesheets und erzeugen daraus XML-, HTML- oder Text-Dokumente.
Beispiel 2 zeigt, wie eine XML-Datei mittels XSL-FO formatiert werden kann. Im Vorspann des XSL-FO-Dokuments wird das Seitenlayout festgelegt (hier auf Standardeinstellungen); dann folgt der formatierte Inhalt. Es ist gut ersichtlich, dass XSL-FO eigentlich der XML-Philosophie der strikten Trennung von Inhalt und Darstellung widerspricht. Gleichzeitig wird auch deutlich, dass XML-Dateien nur umständlich mit XSL-FO manuell formatiert werden können, weil dann z. B. jeder Kapitelüberschrift von Hand dasselbe Format zugewiesen werden müsste. Aber das ist auch nicht nötig, denn genau dafür wurde XSLT entwickelt: zur Transformation der XMLQuelldateien in XSL-FO-Dokumente. Doch das ist nicht der einzige Verwendungszweck von XSLT. Beispiel 3 zeigt, wie eine XML-Datei mittels XSLT in eine HTML-Seite transformiert werden kann. Grundelement von XSLT sind die so genannten Regeln (<xsl:template>); sie geben an, wie bestimmte Elemente eines XML-Dokuments transformiert werden sollen. In diesem Beispiel wird für das Element <book> der HTML-Kopf ausgegeben, mit dem Inhalt des Kind-Elements <title> als Titel (abgefragt mittels <xsl:value-of>). Dann wird mit <xsl:apply-templates/> die Kontrolle wieder an den XSLT-Prozessor übergeben, der die folgenden Elemente im Dokument abarbeitet. Das Element <title> kann je nach Elternelement in eine Überschrift ersten (<book>), zweiten (<chapter>) oder dritten Grades (<section>) umgesetzt werden. Das Beispiel zeigt nur einen kleinen Ausschnitt der Möglichkeiten, die sich mit XSLT bieten. XSLT ist eine ausgewachsene Programmiersprache mit Variablen, Schleifen, Verzweigungsanweisungen und vielem mehr.
XSLT im PraxistestBei der MVTec Software GmbH stand letztes Jahr ein Handbuch-Projekt an, das zum ersten Mal auf der Basis von XML realisiert werden sollte. MVTec ist ein führender Hersteller von Software für industrielle Bildverarbeitung; die Produkte werden mit umfangreicher Dokumentation ausgeliefert (siehe www.mvtec.com/download/documentation/). Das neu zu erstellende Handbuch, der "Quick Guide to HALCON", ist trotz seines Names mit mehr als 200 Seiten durchaus umfangreich. Neben klassischen Handbuch-Textformen beinhaltet es auch stark strukturierte Teile, etwa Kapitel mit Beispielanwendungen der Software in den verschiedenen Industriezweigen. Diese sind jeweils nach dem Schema "Beispielprogrammname - Screenshots - Text mit Auszügen aus dem Beispielprogramm - Liste weiterer Beispiele" aufgebaut. Als weitere Besonderheit sollten die Listen passender Beispiele automatisch aus einer Datenbank von Beispielbeschreibungen (ebenfalls auf Basis von XML) generiert werden. Ähnliches gilt für die Auszüge aus den Beispielprogrammen. Als DTD für das Handbuch kam Doc-Book (docbook.sourceforge.net/) zum Einsatz, eine umfangreiche Open-Source-DTD, die alles bietet, was typische Handbücher an Strukturelementen verlangen. Grund für diese Wahl war auch, dass sich DocBook sehr einfach mit eigenen Elementen erweitern lässt, was für die angesprochenen stark strukturierten Handbuch-Teile nötig war. Als Zielformate für das Handbuch waren PDF und PostScript für die Druckversion vorgegeben. Layout und Formatierung sollten mittels LaTeX geschehen, einem plattformunabhängigen Open-Source-Textsatz-System (www.latex-project.org/), das auch für die bereits bestehenden Handbücher bei MVTec eingesetzt wird. LaTeX ist eine WYSIWYG-Umgebung; es besteht aus einer Auszeichnungssprache, die durchaus Ähnlichkeiten mit XML aufweist, und Tools, die Eingabedateien in fertige Dokumente "übersetzen" (siehe Beispiel 4).
Aufgabe war es, die XML-Handbuchdateien in LaTeX-Dateien zu transformieren und dabei automatisch Informationen aus weiteren XML-Dateien einzubinden, die nicht primär für das Handbuch konzipiert wurden, nämlich aus der Beispiel-Datenbank und den Beispielprogrammen selbst - eine typische Anwendung für XSLT, dessen Stärken ja gerade im flexiblen Zugriff auf XML-Daten aller Art und deren beliebiger Transformation liegen. Das Handbuch wurde in ca. fünf Personenmonaten fertiggestellt. Drei Wochen entfielen dabei auf die Einarbeitung in XML und XSLT, sieben Wochen auf die Erstellung von DTD und XSLTStylesheets und zwölf Wochen auf den eigentlichen Handbuch-Inhalt. FazitWie das Praxisbeispiel zeigt, kann es sich auch im Bereich der Technischen Dokumentation durchaus lohnen, einen Blick auf XSLT zu werfen. Ausgehend von dem Ziel, XML- in XSL-FO-Dokumente zu transformieren und damit zu formatieren, entstand mit XSLT ein mächtiges, plattformunabhängiges Werkzeug, das eine fast beliebige Manipulation von XML-Daten erlaubt. Es ist seit fast fünf Jahren standardisiert und weit verbreitet, was sich auch in der Menge der verfügbaren Tools und Stylesheets zeigt, vieles davon Open Source. Die Anwendungsbereiche von XSLT sind vielfältig: So können XML-Dokumente direkt in HTML transformiert werden; gängige Browser besitzen deshalb auch einen XSLT-Prozessor. Die Stärken von XSLT kommen typischerweise dann zum Tragen, wenn die XML-Daten in Strukturen vorliegen, die nicht der des Zieldokuments entsprechen, weil sie auch für andere Zwecke verwendet werden. Eine weitere Anwendung sind Projekte, in denen XML-Dokumente in spezielle Ausgabeformate transformiert werden sollen, wie im beschriebenen Fall in LaTeX-Dateien. XSLT kann aber auch im Zusammenspiel mit Tools wie Word oder FrameMaker von Nutzen sein, z. B. um XML-Dokumente in eine Form zu transformieren, die zur Weiterverarbeitung mit diesen Tools geeignet ist. Jedoch: XSLT ist und bleibt eine Programmiersprache. Es ist kein Zufall, dass beim oben beschriebenen Projekt alle Mitarbeiter, die an der Handbuch-Technik beteiligt waren, aus dem Bereich der Software-Entwicklung stammen - aber das gilt ja auch für viele Word-Makro- und FrameMaker-API-Spezialisten. 01.10.04 Dr. Ing. Alexa Zierl - Verantwortliche für die Technische Produktdokumentation bei MVTec Weitere Artikel von Dr. Ing. Alexa Zierl Mit dem Artikel verknüpfte Schlagwörter: |
|
|||
|
Startseite | Impressum | Kontakt Doku.Info ist ein Service von Comet Computer GmbH - Die Profis für Technische Dokumentation
|