XSLT processor

from Wikipedia, the free encyclopedia
TempDeXslt015.svg

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

  1. W3C Standard XSL Transformations (XSLT) Version 2.0. 21 Conformance
  2. http://www.altova.com/altovaxml.html , accessed July 11, 2010
  3. http://xmlsoft.org/XSLT/ , accessed January 11, 2011
  4. http://xmlsoft.org/XSLT/python.html
  5. www.saxonica.com/feature-matrix.html ( Memento from June 19, 2010 in the Internet Archive ), accessed on July 11, 2010
  6. 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
  7. [1]