Encyclopedia > XML transformation language

  Article Content

XML transformation language


An XML transformation
An XML transformation language is a programming languages designed specifically to create an output XML document based on an input XML document.

A typical application of XML transformation languages is to style HTML pages. In this scenario the input document is bare-bone XHTML and the transformation can add sidebars, footers and sets formatting information, like colors, fonts and cell background colors in tables. XML transformations can be chained to form XML pipelines.

Existing languages

XSLT
XSLT is the best known XML transformation language. The XSLT 1.0 W3C recommendation was published in 1999 and it has been widely implemented since then. XSLT 2.0 is expected to be released soon as a W3C recommendation and early implementations of the specification like SAXON 7 (http://saxon.sourceforge.net/) are already available.
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-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.
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 (Joost (http://joost.sourceforge.net/)) and Perl (XML::STX (http://stx.gingerall.cz/stx/xml-stx/index)).
FTX A Functional XML Transformation Tool, implementated in Standard ML.
XDuce
A typed language with a lightweight syntax (compared to XSLT). The implementation is written in ML.
HaXml
A library and collection of tools to write XML transformations in Haskell. Its approach is very consistent and powerful. Also see this paper about HaXml published in 1999 (http://www.cs.york.ac.uk/fp/HaXml/) and this IBM developerWorks article (http://www-106.ibm.com/developerworks/xml/library/x-matters14).
XMLLambda
XMLLambda is described in a paper by Erik Meijer and Mark Shields. The paper was written in 1999 no implementation is available.



All Wikipedia text is available under the terms of the GNU Free Documentation License

 
  Search Encyclopedia

Search over one million articles, find something about almost anything!
 
 
  
  Featured Article
Bugatti

... named to honour the 110th anniversary of Ettore Bugatti's birth). Bugatti EB 110 The completed car was ready in 1990 but the unveiling was delayed until th ...

 
 
 
This page was created in 28 ms