XML transformation language: Difference between revisions

Content deleted Content added
m Dated {{Citations missing}}. (Build p613)
m Existing languages: Typo patrol, typos fixed: may 2010 → May 2010 using AWB (7794)
Line 18:
; '''XSLT''': [[XSL Transformations|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 has become a W3C recommendation since January 2007 and implementations of the specification like [[Saxon XSLT|Saxon 8]] are already available.
; '''XQuery''': [[XQuery]] is a full functional language, despite having "query" in the name. It is a de-facto standard used by Microsoft, Oracle, DB2, Mark Logic, etc., is the foundation for the [[XRX (web application architecture)|XRX]] web programming model, and has a W3C recommendation for versions 1.0. XQuery is not written in XML itself like XSLT is, so 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. XQuery is logic driven, using FOR, WHERE and function composition (e.g. fn:concat("<html>", generate-body(), "</html>")). In contrast, XSLT is data-driven (push processing model) where certain conditions of the input document trigger the execution of templates rather than the code executing in the order in which it is written.
; '''XProc''': [[XProc]] is an XML Pipeline language. The XProc 1.0 W3C Recommendation was published in mayMay 2010.
; '''STX''': [[Streaming Transformations for XML|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]).
; '''XML Script''': [[XML Script]] is an imperative scripting language inspired by [[Perl]] that uses the XML syntax. XML Script supports [[XPath]] and its proprietary DSLPath for selecting nodes from the input tree.