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)<ref>XSL Transformations (XSLT) Version 2.0. 21 Conformance. In: w3.org. Abgerufen am 11. Juli 2010 (Lua-Fehler in Modul:Multilingual, Zeile 153: attempt to index field 'data' (a nil value)).</ref>. Weit verbreitet ist der standardkonforme, stabile und dank Java plattformunabhängige Saxon-Prozessor. Viele moderne Webbrowser 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 | XSLT 3.0 | schema aware | Plattform | API |
|---|---|---|---|---|---|---|
| AltovaXML / RaptorXML | x | x | x | Microsoft Windows | COM, Java, .NET<ref>Altova RaptorXML. In: altova.com. Abgerufen am 11. Juli 2010 (Lua-Fehler in Modul:Multilingual, Zeile 153: attempt to index field 'data' (a nil value)).</ref> | |
| libxslt/xsltproc | x | Unix/Linux, Windows, OS X | C<ref>libxslt: Home. In: gitlab.gnome.org. Abgerufen am 11. Januar 2011 (Lua-Fehler in Modul:Multilingual, Zeile 153: attempt to index field 'data' (a nil value)).</ref>, C++, Java, Perl, PHP, Python, REXX, Ruby, Tcl<ref>libxslt: Python bindings. In: gitlab.gnome.org. Abgerufen am 19. September 2012 (Lua-Fehler in Modul:Multilingual, Zeile 153: attempt to index field 'data' (a nil value)).</ref> | |||
| MSXML | x | Microsoft Windows | u. a. .NET, Visual Basic Script | |||
| Saxon-EE 9.x | x | x | x | x | plattformunabhängig (Java) | Java, .NET<ref>Saxon Product/Feature Matrix. In: saxonica.com. Archiviert vom Vorlage:IconExternal am 19. Juni 2010; abgerufen am 11. Juli 2010 (Lua-Fehler in Modul:Multilingual, Zeile 153: attempt to index field 'data' (a nil value)).</ref> |
| Saxon-PE 9.x | x | x | x | plattformunabhängig (Java) | Java, .NET | |
| Saxon-HE 9.x | x | x | x | plattformunabhängig (Java) | Java, .NET | |
| Saxon 6.5.5 | x | plattformunabhängig (Java) | Java, .NET | |||
| WebSphere Application Server Feature Pack for XML |
x | x | x | Unix/Linux, Windows u. a. | Java<ref>Overview of XML support. In: ibm.com. 17. Juni 2025, abgerufen am 20. Februar 2011 (Lua-Fehler in Modul:Multilingual, Zeile 153: attempt to index field 'data' (a nil value)).</ref> | |
| Xalan-C++ | x | Unix/Linux, Windows u. a. | C++ | |||
| Xalan-J | x | plattformunabhängig (Java) | Java | |||
| XmlPrime | x | x | x | x | Microsoft Windows | .NET<ref>XmlPrime XML Processing for the .NET Framework. In: xmlprime.com. Peryton Technologies Ltd., abgerufen am 28. August 2014 (Lua-Fehler in Modul:Multilingual, Zeile 153: attempt to index field 'data' (a nil value)).</ref> |
Siehe auch
Weblinks
- data2type: XSLT-Prozessoren für XSLT 2.0. 2014 (data2type.de [abgerufen am 30. September 2014]).
- Daniel Brügge: XSLT Prozessoren. München 2003 (<templatestyles src="Webarchiv/styles.css" />XSLT Prozessoren ( vom 17. Oktober 2011 im Internet Archive) [abgerufen am 16. Januar 2016]).
- Thomas Bayer: XSLT Prozessoren im Überblick. Oktober 2002 (oio.de [abgerufen am 10. Mai 2009]).
Einzelnachweise
<references />