XSLT processor
An XSLT processor is a software for converting documents by means of a XSLT - stylesheets . The result is a new document that can be processed further (e.g. as a DOM object ) or output to a file.
The XSLT processor reads the input document and the stylesheet and parses them. Starting with the root element of the document, the XSLT processor then checks which template (rule) of the stylesheet is used. The template found in this way determines what is written to the output. In many cases this is the content of the current node (XSLT term: the context node ) or an algorithmically calculated result based on it. In addition, the template determines which document parts are processed next: for example the children of the context node, other parts of the input document or external documents. In addition to the rules explicitly formulated in the stylesheet, predefined rules (such as copy every text or edit every child element ) are used if no suitable template is found.
The output of the XSLT processor is initially an object model of the output document. This object can be further processed directly via a programming interface (API). Most XSLT processors can also output to one or more files ( serialization ).
XSLT processors initially differ in the supported XSLT and XPath versions (1.0 and / or 2.0). For XSLT 2.0, the XSLT standard also defines the distinction between a basic XSLT processor (full support of the XSLT 2.0 standard) and a schema-sensitive XSLT processor ("schema aware": additional consideration of information from XML schemas in the Processing). The standard-compliant, stable and, thanks to Java, platform-independent Saxon processor is widespread . Many modern web browsers such as Internet Explorer , Mozilla Firefox and Opera have built-in XSLT 1.0 processors so that they can directly display XML documents in XSLT formatting.
XSLT processors (selection)
Surname | XSLT 1.0 | XSLT 2.0 | XSLT 3.0 | schema aware | platform | API |
---|---|---|---|---|---|---|
AltovaXML | x | x | x | Microsoft Windows | COM, Java, .NET | |
libxslt / xsltproc | x | Unix / Linux, Windows, OS X | C , C ++ , Java , Perl , PHP , Python , REXX , Ruby , Tcl | |||
MSXML | x | Microsoft Windows | u. a. .NET, Visual Basic Script | |||
Saxon-EE 9.x | x | x | x | x | platform independent (Java) | Java, .NET |
Saxon-PE 9.x | x | x | x | platform independent (Java) | Java, .NET | |
Saxon-HE 9.x | x | x | x | platform independent (Java) | Java, .NET | |
Saxon 6.5.5 | x | platform independent (Java) | Java, .NET | |||
WebSphere Application Server Feature Pack for XML |
x | x | x | Unix / Linux, Windows etc. a. | Java | |
Xalan-C ++ | x | Unix / Linux, Windows etc. a. | C ++ | |||
Xalan-J | x | platform independent (Java) | Java | |||
XmlPrime | x | x | x | x | Microsoft Windows | .NET |
See also
Web links
- data2type: XSLT processors for XSLT 2.0 . 2014 ( data2type.de [accessed on September 30, 2014]).
- Daniel Bruges: XSLT processors . Munich 2003 ( XSLT processors ( Memento from October 17, 2011 in the Internet Archive ) [PDF; accessed on January 16, 2016]).
- Thomas Bayer: XSLT processors at a glance . October 2002 ( oio.de [accessed on May 10, 2009]).
- Michael Kay : Saxon: Anatomy of an XSLT processor . What is current state of the art in XSLT optimization? April 20, 2005 (American English, ibm.com [accessed August 9, 2009]).
- Mukul Gandhi: Schema-aware processing with XSLT 2.0 . Reap the benefits of designing your XSLT stylesheets to be schema-aware. May 15, 2008 (American English, ibm.com [accessed August 14, 2009]).
Individual evidence
- ↑ W3C Standard XSL Transformations (XSLT) Version 2.0. 21 Conformance
- ↑ http://www.altova.com/altovaxml.html , accessed July 11, 2010
- ↑ http://xmlsoft.org/XSLT/ , accessed January 11, 2011
- ↑ http://xmlsoft.org/XSLT/python.html
- ↑ www.saxonica.com/feature-matrix.html ( Memento from June 19, 2010 in the Internet Archive ), accessed on July 11, 2010
- ↑ http://publib.boulder.ibm.com/infocenter/wasinfo/fep/topic/com.ibm.websphere.xmlfep.multiplatform.doc/info/ae/ae/cins_xml_overview.html , accessed February 20, 2011
- ↑ [1]