Analysis of information sources in references of the Wikipedia article "XSLT" in English language version.
Last modified:
Neben CSS ist XSL bzw. XSLT die zweite Möglichkeit um XML-Daten für den Browser relativ gut darstellbar zu machen. XSL(T) beschreibt dazu die Funktionen und den Syntax der es ermöglicht XML-Elemente in andere Elemente wie z.B. HTML umzuwandeln.
For example, security audits and bug trackers have repeatedly identified high-severity vulnerabilities in these parsers (e.g., CVE-2025-7425 and CVE-2022-22834, both in libxslt). Because client-side XSLT is now a niche, rarely-used feature, these libraries receive far less maintenance and security scrutiny than core JavaScript engines, yet they represent a direct, potent attack surface for processing untrusted web content.
After working through a bit of the XSLT necessary to accomplish something, I concluded that it was easier and simpler to use procedural code to do the same thing.
One of the primary criticisms of XSLT is its steep learning curve.
[August 21, 2000] "Inside XSL-T." By Michael Classen. From WebReference.com (August 2000). ['XML may be all the buzz, but a lot of the heavy lifting is actually done with XSL. Extensible Style Sheet Language Transformation sounds like a mouthful, but XSLT is your key to converting XML documents into display languages like HTML.]' "XSL was initially devised to solve two problems: (1) Transforming an XML document into something else. (2) Formatting an XML document for display on a page-oriented device, such as a printer or a browser. Subsequently it has proven difficult to solve the second problem in a fashion that satisfies all the different requirements from low resolution screen displays all the way to hi-res printing and copying. Furthermore, screen formatting is currently done with Cascading Style Sheets (CSS), so little interest developed in yet another method. The World Wide Web Committee (W3C) then decided to split the two tasks into separate sub-standards, XSL Transformations (XSL-T) and XSL formatting objects (XSL-FO). While XSL-T has been an official recommendation since November of last year, XSL-FO is still in the making. A transformation expressed in XSLT describes rules for transforming a source tree into a result tree. The transformation is achieved by associating patterns with templates. Whenever a pattern matches elements in the source tree, a template is used to create part of the result tree. The result tree is separate from the source tree, and their structures can be completely different. In constructing the result tree, elements from the source tree can be filtered and reordered, and new elements can be added. A transformation expressed in XSLT is called a stylesheet in the case where XSLT is transforming into a display language, such as HTML or WML..."
XSLT is a very specialized language with a distinct declarative flavor.
The predominant DSL for XML transformation is XSLT [18], a declarative language based on pattern matching and template instantiation. [from page 6]
Our approach We present a technique, Xact, that combines 1) a full integration of XML values and highly flexible operations for XML transformation into an existing high-level language, and 2) static guarantees of type safety of the transformations. We choose to build on Java since this language is already widely used in development of Web services. Using a general-purpose language allows mixing XML manipulations with other functionality, for example, accessing data bases or communicating on the Internet. [from page 7]
But the truth is that XSLT comes with overhead and architectural constraints that make for big headaches down the road. ... XSLT creates new performance issues that you might never encounter in more direct solutions.
The polyfill is powered by a WebAssembly port of the libxslt and libxml2 C libraries, providing a standards-compliant XSLT 1.0 engine.
The XSLT syntax is hard to read, and rule-based programming is a concept alien to many programmers.
Processing XSLT stylesheets consumes considerable CPU resources. Scalable applications often require a cache for transformation results in order to achieve the necessary throughput. Another throughput-enhancing option is the use of an XSLT compiler, for example the XSLT compiler contained in XALAN, which translates an XSLT stylesheet into a set of Java classes.
Google has sought to drop support for XSLT a few times. In 2013, Adam Barth notified the Blink development list of an intent to deprecate and remove XSLT from the browser engine. Barth argued that the inclusion of XSLT added ""more than its share of complexity, which leads to security vulnerabilities"", and that dropping XSLT support would help to remove Blink's dependency on libxml. Ultimately, the proposal was put on hold. Dominic Cooney tried to deprecate and remove XSLT from Chrome in 2015. After much discussion, Rick Byers replied that Chrome's API owners had met and agreed that they would like to eliminate XSLT from Blink eventually. However, prior experience had taught the team that it was important to do so carefully and with a plan to ""minimize the user and developer pain"". Byers provided a list of components that such a plan would need to have, including real-world case studies for replacements and a deprecation timeline of up to two years. It is unclear if Cooney submitted such a plan, but a decade later Chrome still ships with libxslt and supports XSLT 1.0.
My conclusion from this exercise was that using Ruby for XML transforms was much easier than using XSLT.
Both .xsl and .xslt are valid. The .xsl extension is older and more common in enterprise systems (SAP, Oracle, IBM DataPower). The .xslt extension is more explicit. Saxon accepts either. XSLT Playground accepts any content regardless of what you call it.
Your server needs to send both the source and the stylesheet with a XML mime type, text/xml or application/xml.
Statements are written in .xsl language and the following information explains some of this for admins who are familiar with this language.
SaxonJS is a high-performance XSLT 3.0 processor that runs either in the browser, or on Node.js. It conforms with the latest W3C specifications (notably XSLT 3.0 and XPath 3.1), together with extensions designed to meet the needs of modern web applications.
Als Alternative kann ein so genannter XSL(T)-Prozessor benutzt werden. Beim XSL(T)-Prozessor handelt es sich um ein Werkzeug, das ebenfalls ein XSL Stylesheet und ein XML-Dokument entgegennimmt und daraus -- basierend auf den Anweisungen im Stylesheet -- ein neues Dokument erzeugt.
The predominant DSL for XML transformation is XSLT [18], a declarative language based on pattern matching and template instantiation. [from page 6]
Our approach We present a technique, Xact, that combines 1) a full integration of XML values and highly flexible operations for XML transformation into an existing high-level language, and 2) static guarantees of type safety of the transformations. We choose to build on Java since this language is already widely used in development of Web services. Using a general-purpose language allows mixing XML manipulations with other functionality, for example, accessing data bases or communicating on the Internet. [from page 7]
Existing XSLT 1.0 stylesheets are most often described using the unregistered media type "text/xsl".
Example: Multiple Result Documents
The attribute version='1.0' specifies version of XSL(T) specification.
Neben CSS ist XSL bzw. XSLT die zweite Möglichkeit um XML-Daten für den Browser relativ gut darstellbar zu machen. XSL(T) beschreibt dazu die Funktionen und den Syntax der es ermöglicht XML-Elemente in andere Elemente wie z.B. HTML umzuwandeln.
Als Alternative kann ein so genannter XSL(T)-Prozessor benutzt werden. Beim XSL(T)-Prozessor handelt es sich um ein Werkzeug, das ebenfalls ein XSL Stylesheet und ein XML-Dokument entgegennimmt und daraus -- basierend auf den Anweisungen im Stylesheet -- ein neues Dokument erzeugt.
[August 21, 2000] "Inside XSL-T." By Michael Classen. From WebReference.com (August 2000). ['XML may be all the buzz, but a lot of the heavy lifting is actually done with XSL. Extensible Style Sheet Language Transformation sounds like a mouthful, but XSLT is your key to converting XML documents into display languages like HTML.]' "XSL was initially devised to solve two problems: (1) Transforming an XML document into something else. (2) Formatting an XML document for display on a page-oriented device, such as a printer or a browser. Subsequently it has proven difficult to solve the second problem in a fashion that satisfies all the different requirements from low resolution screen displays all the way to hi-res printing and copying. Furthermore, screen formatting is currently done with Cascading Style Sheets (CSS), so little interest developed in yet another method. The World Wide Web Committee (W3C) then decided to split the two tasks into separate sub-standards, XSL Transformations (XSL-T) and XSL formatting objects (XSL-FO). While XSL-T has been an official recommendation since November of last year, XSL-FO is still in the making. A transformation expressed in XSLT describes rules for transforming a source tree into a result tree. The transformation is achieved by associating patterns with templates. Whenever a pattern matches elements in the source tree, a template is used to create part of the result tree. The result tree is separate from the source tree, and their structures can be completely different. In constructing the result tree, elements from the source tree can be filtered and reordered, and new elements can be added. A transformation expressed in XSLT is called a stylesheet in the case where XSLT is transforming into a display language, such as HTML or WML..."
XSLT is a very specialized language with a distinct declarative flavor.
The predominant DSL for XML transformation is XSLT [18], a declarative language based on pattern matching and template instantiation. [from page 6]
Our approach We present a technique, Xact, that combines 1) a full integration of XML values and highly flexible operations for XML transformation into an existing high-level language, and 2) static guarantees of type safety of the transformations. We choose to build on Java since this language is already widely used in development of Web services. Using a general-purpose language allows mixing XML manipulations with other functionality, for example, accessing data bases or communicating on the Internet. [from page 7]
A problem that XSLT adoption has faced comes due to the difficulties in getting older implementations upgraded. Java ships with Xalan. Xalan has not been improved since it was first incorporated into Java back in 2000 and it still uses the very first version of XSLT, standardized in 1999. The Linux based libxslt processor is similar; while it is a good implementation for the Linux platform, it has not been upgraded since it was written in the early 2000s.
The attribute version='1.0' specifies version of XSL(T) specification.