XML transformation language: Difference between revisions

Content deleted Content added
Missing citations
m Dated {{Citations missing}}. (Build p613)
Line 1:
{{citationsCitations missing|date=July 2011}}
{{Data transformation}}
[[Image:XML To XML Transformation.png|thumb|right|300px|An XML to XML transformation]]
Line 8:
* '''XML to XML''': the ''output document'' is an XML document.
* '''XML to Data''': the ''output document'' is a byte stream.
 
==XML to XML==
As '''XML to XML''' transformation outputs an XML document, '''XML to XML''' transformation chains form [[XML pipeline]]s.
Line 24:
; '''XDuce''': [[XDuce]] is a typed language with a lightweight syntax, compared to XSLT. It is written in ML.
; '''CDuce''': [[CDuce]] extends [[XDuce]] to a general-purpose [[functional programming language]], see [http://www.cduce.org/ CDuce homepage].
; '''XStream''': [[XStream]] is a simple functional transformation language for XML documents based on CAML. XML transformations written in XStream are evaluated in streaming: when possible, parts of the output are computed and produced while the input document is still being parsed. Some transformations can thus be applied to huge XML documents which would not even fit in memory. The XStream compiler is distributed under the terms of the [[CeCILL]] [[free software license]].
; '''Xtatic''': [[Xtatic]] applies methods from [[XDuce]] to [[C Sharp (programming language)|C#]], see [http://www.cis.upenn.edu/~bcpierce/xtatic/ Xtatic homepage].
; '''HaXml''': [[HaXml]] is a library and collection of tools to write XML transformations in [[Haskell (programming language)|Haskell]]. Its approach is very consistent and powerful. Also see [http://www.cs.york.ac.uk/fp/HaXml/ this paper about HaXml published in 1999] and [http://www-106.ibm.com/developerworks/xml/library/x-matters14.html this IBM developerWorks article]. See also the more recent [http://www.flightlab.com/~joe/hxml/ HXML] and Haskell XML Toolbox ([http://www.fh-wedel.de/~si/HXmlToolbox/ HXT]), which is based on the ideas of HaXml and HXML but takes a more general approach to XML processing.