XML transformation language: Difference between revisions

Content deleted Content added
m Robot-assisted disambiguation (you can help!): Haskell programming language
m Existing languages: XSLT 2 is a W3C REC
Line 13:
 
==Existing languages==
; '''[[XSL Transformations|XSLT]]''' : XSLT is the best known XML transformation language. The XSLT 1.0 W3C recommendation was published in [[1999]] together with [[XPath]] 1.0, and it has been widely implemented since then. XSLT 2.0 ishas expectedbecome toa beW3C releasedrecommendation soonsince asJanuary a W3C recommendation2007 and early implementations of the specification like [http://saxon.sourceforge.net/ [Saxon_XSLT|SAXON 8]] are already available.
; '''[[XML query language|XQuery]]''' : XQuery is also bound to become a W3C standard. XQuery is not an XML application, like XSLT. Consequently its syntax is much lighter. The language is based on XPath 2.0. XQuery programs cannot have [[Side effect (computer science)|side-effects]], just like XSLT and provides almost the same capabilities (for instance: declaring variables and functions, iterating over sequences, using W3C schema types), even though the program syntax are quite different. In addition to the syntax, the main difference between XSLT and XQuery is the XSLT push processing model, where certain conditions of the input document trigger the execution of templates, which is not shared with XQuery.
; '''[[Streaming Transformations for XML|STX]]''' : STX (Streaming Transformations for XML) is inspired by XSLT but has been designed to allow a one-pass transformation process that never prevents streaming. Implementations are available in Java ([http://joost.sourceforge.net/ Joost]) and Perl ([http://www.gingerall.com/charlie/ga/xml/p_stx.xml?s=org XML::STX]).