Open main menu
Home
Random
Recent changes
Special pages
Community portal
Preferences
About Wikipedia
Disclaimers
Incubator escapee wiki
Search
User menu
Talk
Dark mode
Contributions
Create account
Log in
Editing
XSLT
(section)
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
==History== XSLT is influenced by [[functional programming|functional languages]],<ref>{{cite web | url=http://www.ibm.com/developerworks/library/x-xslt/ | author=Michael Kay | title=What kind of language is XSLT? | website=[[IBM]] | access-date=July 8, 2016}}</ref> and by text-based pattern matching languages like [[SNOBOL]] and [[AWK]]. Its most direct predecessor is [[DSSSL]], which did for [[SGML]] what XSLT does for XML.<ref>{{cite web | url=http://www.w3.org/TR/NOTE-XSL.html | title=A Proposal for XSL | publisher=W3C | access-date=November 7, 2012}}</ref> * XSLT 1.0: XSLT was part of the [[World Wide Web Consortium]] (W3C)'s [[Extensible Stylesheet Language|eXtensible Stylesheet Language]] (XSL) development effort of 1998β1999, a project that also produced [[XSL-FO]] and [[XPath]]. Some members of the standards committee that developed XSLT, including [[James Clark (XML expert)|James Clark]], the editor, had previously worked on DSSSL. XSLT 1.0 was published as a [[W3C recommendation]] in November 1999.<ref name="timelinehistory">{{cite web |url=http://www.dblab.ntua.gr/~bikakis/XML%20and%20Semantic%20Web%20W3C%20Standards%20Timeline-History.pdf |title=XML and Semantic Web W3C Standards Timeline |access-date=2012-02-04 |archive-date=2013-04-24 |archive-url=https://web.archive.org/web/20130424125723/http://www.dblab.ntua.gr/~bikakis/XML%20and%20Semantic%20Web%20W3C%20Standards%20Timeline-History.pdf |url-status=dead }}</ref> Despite its age, XSLT 1.0<ref>{{cite web|url=http://www.w3.org/TR/xslt |title=XSL Transformations (XSLT) |publisher=W3.org |date=1999-11-16 |access-date=2014-07-12}}</ref> is still widely used ({{as of|2018|lc=y}}), since later versions are not supported natively in [[web browser]]s or for environments like [[LAMP (software bundle)|LAMP]]. * XSLT 2.0: after an abortive attempt to create a version 1.1 in 2001,<ref>{{cite web|url=http://www.w3.org/TR/xslt11/ |title=XSL Transformations (XSLT) Version 1.1 |publisher=W3.org |date=2001-08-24 |access-date=2014-07-12}}</ref> the XSL working group joined forces with the [[XQuery]] working group to create [[XPath 2.0]],<ref>{{cite web|url=http://www.w3.org/TR/xpath20/ |title=XML Path Language (XPath) 2.0 (Second Edition) |publisher=W3.org |date=2010-12-14 |access-date=2014-07-12}}</ref> with a richer data model and type system based on [[XML Schema (W3C)|XML Schema]]. Building on this is XSLT 2.0,<ref>{{cite web|url=http://www.w3.org/TR/xslt20/ |title=XSL Transformations (XSLT) Version 2.0 |publisher=W3.org |date=2007-01-23 |access-date=2014-07-12}}</ref> developed under the editorship of [[Michael Howard Kay|Michael Kay]], which reached recommendation status in January 2007.<ref>{{cite web|url=http://www.dblab.ntua.gr/~bikakis/XML%20and%20Semantic%20Web%20W3C%20Standards%20Timeline-History.pdf|title=XML and Semantic Web W3C Standards Timeline|date=2012-02-04|access-date=2012-02-04|archive-date=2013-04-24|archive-url=https://web.archive.org/web/20130424125723/http://www.dblab.ntua.gr/~bikakis/XML%20and%20Semantic%20Web%20W3C%20Standards%20Timeline-History.pdf|url-status=dead}}</ref> The most important innovations in XSLT 2.0 include: ** String manipulation using [[regular expressions]] ** Functions and operators for manipulating dates, times, and durations ** Multiple output documents ** Grouping (creating hierarchic structure from flat input sequences) ** A richer type system and stronger type checking * XSLT 3.0: became a W3C Recommendation on 8 June 2017. The main new features are:<ref name=new-in-3>{{cite web|title=What's New in XSLT 3.0? |url=http://www.w3.org/TR/xslt-30/#whats-new-in-xslt3|publisher=w3|access-date=6 January 2014}}</ref> ** [[Streaming XML|Streaming transformations]]: in previous versions the entire input document had to be read into memory before it could be processed,<ref> {{cite web|last=Kay|first=Michael|title=A Streaming XSLT Processor|url=http://www.balisage.net/Proceedings/vol5/html/Kay01/BalisageVol5-Kay01.html|publisher=Balisage: The Markup Conference 2010 Proceedings|access-date=15 February 2012}}</ref> and output could not be written until processing had finished. XSLT 3.0 allows [[Streaming XML|XML streaming]] which is useful for processing documents too large to fit in memory or when transformations are chained in [[XML Pipelines]]. ** Packages, to improve the modularity of large stylesheets. ** Improved handling of dynamic errors with, for example, an xsl:try instruction. ** Support for maps and arrays, enabling XSLT to handle JSON as well as XML. ** Functions can now be arguments to other (higher-order) functions.
Edit summary
(Briefly describe your changes)
By publishing changes, you agree to the
Terms of Use
, and you irrevocably agree to release your contribution under the
CC BY-SA 4.0 License
and the
GFDL
. You agree that a hyperlink or URL is sufficient attribution under the Creative Commons license.
Cancel
Editing help
(opens in new window)