- XSLT-Prozessor
-
Ein XSLT-Prozessor ist eine Software zum Umwandeln von Dokumenten mittels eines XSLT-Stylesheets. Das Ergebnis ist ein neues Dokument, das (z. B. als DOM-Objekt) direkt weiterverarbeitet oder in eine Datei ausgegeben werden kann.
Der XSLT-Prozessor liest das Eingabedokument sowie das Stylesheet ein und parst sie. Beginnend mit dem Wurzelelement des Dokumentes prüft der XSLT-Prozessor dann, welches Template (Regel) des Stylesheets angewandt wird. Das so gefundene Template bestimmt, was in die Ausgabe geschrieben wird. In vielen Fällen ist das der Inhalt des aktuellen Knotens (XSLT-Terminus: des Kontextknotens) oder ein algorithmisch berechnetes Ergebnis auf dessen Basis. Außerdem bestimmt das Template, welche Dokumententeile als nächstes bearbeitet werden: etwa die Kinder des Kontextknotens, andere Teile des Eingabedokumentes oder auch externe Dokumente. Neben den im Stylesheet explizit formulierten Regeln kommen auch vordefinierte Regeln (wie Kopiere jeden Text oder Bearbeite jedes Kind-Element) zur Anwendung, wenn kein passendes Template gefunden wird.
Die Ausgabe des XSLT-Prozessors ist zunächst ein Objektmodell des Ausgabedokumentes. Über eine Programmierschnittstelle (API) kann dieses Objekt direkt weiterverarbeitet werden. Die meisten XSLT-Prozessoren beherrschen auch die Ausgabe in eine oder mehrere Dateien (Serialisierung).
XSLT-Prozessoren unterscheiden sich zunächst in den unterstützten XSLT- und XPath-Versionen (1.0 und/oder 2.0). Für XSLT 2.0 definiert der XSLT-Standard zudem die Unterscheidung in Basis-XSLT-Prozessor (vollständige Unterstützung des XSLT-2.0-Standards) und Schema-sensitiver XSLT-Prozessor (englisch »schema aware«: zusätzliche Berücksichtigung von Informationen aus XML-Schemata bei der Verarbeitung)[1]. Weit verbreitet ist der standardkonforme, stabile und dank Java plattformunabhängige Saxon-Prozessor. Viele moderne Web-Browser wie Internet Explorer, Mozilla Firefox und Opera haben integrierte XSLT-1.0-Prozessoren, so dass sie direkt XML-Dokumente XSLT-formatiert anzeigen können.
XSLT-Prozessoren (Auswahl)
Name XSLT 1.0 XSLT 2.0 schema aware Plattform API AltovaXML x x x Microsoft Windows COM, Java, .NET[2] libxslt/xsltproc x Unix/Linux C[3] MSXML x Microsoft Windows u.a. .NET, Visual Basic Script Saxon-EE 9.x x x x plattformunabhängig (Java) Java, .NET[4] Saxon-PE 9.x x x plattformunabhängig (Java) Java, .NET Saxon-HE 9.x x x plattformunabhängig (Java) Java, .NET Saxon 6.5.5 x plattformunabhängig (Java) Java, .NET WebSphere Application Server
Feature Pack for XMLx x x Unix/Linux, Windows u.a. Java[5] Xalan-C++ x Unix/Linux, Windows u.a. C++ Xalan-J x plattformunabhängig (Java) Java Siehe auch
Weblinks
- Daniel Brügge: XSLT Prozessoren. München 2003 (http://www.semanticpool.de/xslt_prozessoren.pdf, abgerufen am 10. Mai 2009).
- Thomas Bayer: XSLT Prozessoren im Überblick. Oktober 2002 (http://www.oio.de/public/xml/xslt-prozessoren.htm, abgerufen am 10. Mai 2009).
- Michael Kay: Saxon: Anatomy of an XSLT processor. What is current state of the art in XSLT optimization?. 20. April 2005 (http://www.ibm.com/developerworks/xml/library/x-xslt2/, abgerufen am 9. August 2009).
- Mukul Gandhi: Schema-aware processing with XSLT 2.0. Reap the benefits of designing your XSLT stylesheets to be schema-aware. 15. Mai 2008 (http://www.ibm.com/developerworks/xml/library/x-schemaxslt.html, abgerufen am 14. August 2009).
Einzelnachweise
- ↑ W3C-Standard XSL Transformations (XSLT) Version 2.0. 21 Conformance
- ↑ http://www.altova.com/altovaxml.html, abgerufen am 11. Juli 2010
- ↑ http://xmlsoft.org/XSLT/, abgerufen am 11. Januar 2011
- ↑ http://www.saxonica.com/feature-matrix.html, abgerufen am 11. Juli 2010
- ↑ http://publib.boulder.ibm.com/infocenter/wasinfo/fep/topic/com.ibm.websphere.xmlfep.multiplatform.doc/info/ae/ae/cins_xml_overview.html, abgerufen am 20. Februar 2011
Wikimedia Foundation.