XSLT
Inhaltsverzeichnis |
Autoren
- Gino Napierala (s3ginapi@stud.hs-zigr.de)
- Martin Kubasch (s3makuba@stud.hs-zigr.de)
Einleitung
XSLT(Extensible Stylesheet Language Transformation) gehört zur Familie der XSL-Sprachen . Es wurde Entwickelt zur Transformation von XML-Quelldokumenten in andere Dokumenttypen wie beispielsweiße XML, HTML oder einfache Textdokumente.
Grundlegende Merkmale und Aufbau von XSLT- Dokumenten
XSLT Prozessoren und XSL Stylesheets
Aufbau und Funktionsweise von XSLT Prozessoren
Zur Formatierung eines XML-Dokuments, mittels eines XSL-Stylesheets, wird ein XSLT-Prozessor benötigt. Bei diesem Vorgang werden die Template-Regeln (innerhalb des Stylesheets) auf das Eingabedokument angewendet um so ein neues Ausgabedokument zu erzeugen. Für die Transformation benötigt der XSLT Prozessor sowohl ein XML Dokument als auch ein Stylesheet Dokument welche als Dateien eingelesen werden, aber nicht direkt in dieser Form weiterbearbeitet werden. Erst durch die Umwandlung der Dokumente in Baumrepräsentationen mit hilfe einen XML Parsers ( DOM oder eigener Datenstruktur) ist der XSLT Prozessor in der Lage weiterzuarbeiten. Als Ausgabe wird ein Ergebnisbaum (resulttree) erzeugt . Durch die darauf folgende serialisierung kann das gewünschte Textdokument(XML, HTML, Plaintext, XSL-FO Designstruktur, etc.) erzeugt werden.
XSLT Prozessoren
XSLT Prozessoren haben viele Anwedungsmöglichkeiten, dabei wirde es wohl am häufigsten in Webbrowsern genutzt. Ein Grund dafür ist die starke Verbreitung des Microsoft Internet Explorers welcher einen integrieten XSLT Prozessor besitzt. Aber auch in der Entwicklung eigener Programme werden sehr häufig vorhandene XSLT Prozessoren genutzt. Auf drei dieser Prozessoren ( SAXON , Xalan , MSXML ) soll hier genauer eingegangen werden.
Xalan
Bei dem XSLT-Prozessor von Xalan handelt es sich um einen Open Source-Prozessor der im Rahmen des Apache XML Projektes3 entstanden ist. Dieser implimentiert sowohl die XPath 1.0 als auch die XSLT 1.0 Spezifikation des W3C vollständig. Da jedoch die dritte Spezifikation ( XSL Formatting Objects) nicht enthalten ist , muss in diesen fällen auf andere Prozessoren zurückgegriffen werden. Xalan wird unterschieden zwischen den Versionen Java- (Xalan-J) und C++- (Xalan-C++)und nutzt für diese Versionen den XML Parser Xerces4.
Seit der Xalan Version 2.5 gibt es zwei Möglichkeiten der Verwendung des Prozessors. Zum einen kann er als normaler interpretierender XSLT Prozessor (Xalan Interpretive Processor) genutzt werden. Bei der zweiten Variante arbeitet der XSLT-Prozessor mit vorkompilierten Stylesheet (Xalan Compiled Processor) . Bei beiden Varianten wird mit einer internen Baumrepräsentation gearbeitet, dem DTM ( Document Table Model ). Das DTM untescheidet sich vom DOM in der Hinsicht , dass es ein read-only Model ist. Daraus kann man schließen das im Gegensatz des DOM Modells keine neuen Knoten erzeugt werden und keine Daten in das Modell geschrieben werden können.
Eine Besonderheit der neuen Versionen von Xalan besteht im Xalan Compiled Processor XSLTC. Dieser besitzt die Möglichkeit XSL Stylesheet Dokumente in Java Bytecode zu kompilieren (Translets). Dadurch kann man einmal verarbeitete Stylesheets mehrfach auf XML Dokumente anwenden. Besonders wirkungsvoll kann dieses System werden wenn man es bei vielen XML Dokumenten einsetzt.
SAXON
MSXML

