Content deleted Content added
m Clean up duplicate template arguments using findargdups |
Rescuing 1 sources and tagging 0 as dead.) #IABot (v2.0.9.5 |
||
(5 intermediate revisions by 3 users not shown) | |||
Line 28:
* '''FXT''': FXT is a functional XML transformation tool, implemented in [[ML (programming language)|Standard ML]].
* '''XDuce''': [[XDuce]] is a typed language with a lightweight syntax, compared to XSLT. It is written in ML.
* '''CDuce''':
* '''XACT''': XACT is a Java-based system for programming XML transformations. Notable features include XML templates as immutable values and a static analysis to ensure type safety using XML Schema types ([http://www.brics.dk/Xact/ XACT home page]).
* '''XFun''': XFun is a functional language X-Fun for defining transformations between XML data trees, while providing shredding instructions. X-Fun can be understood as an extension of Frisch's [[XStream]] language with output shredding, while pattern matching is replaced by tree navigation with XPath expressions. ([http://hal.inria.fr/hal-00806343])
* '''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]]. Also see [http://www.cs.york.ac.uk/fp/HaXml/ this paper about HaXml published in 1999] {{Webarchive|url=https://web.archive.org/web/20141018124509/http://www.cs.york.ac.uk/fp/HaXml/ |date=2014-10-18 }} and [http://www-106.ibm.com/developerworks/xml/library/x-matters14.html this IBM developerWorks article]. See also the more recent [https://web.archive.org/web/20060422010402/http://www.flightlab.com/~joe/hxml/ HXML] and Haskell XML Toolbox ([https://web.archive.org/web/20080622124011/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.
* '''XMLambda''': XMLambda (XMλ) is described in a 1999 paper by [[Erik Meijer (computer scientist)|Erik Meijer]] and [[Mark Shields (computer scientist)|Mark Shields]]. No implementation is available. See [https://web.archive.org/web/20051123030818/http://www.cartesianclosed.com/pub/xmlambda/ XMLambda home page].
* '''FleXML''':
* '''Scala''': [[Scala (programming language)|Scala]] is a general-purpose functional and object-oriented language with specific support for XML transformation in the form of XML pattern matching, literals, and expressions, along with standard XML libraries.<ref>{{Cite journal|title=XML Processing in Scala|first1=Dino|last1=Fancellu|first2=William|last2=Narmontas|date=June 2014|journal=XML London 2014|doi=10.14337/XMLLondon14.Narmontas01|pages=63–75|article-number=4 |doi-broken-date=12 July 2025 |isbn=978-0-9926471-1-7|doi-access=free}}</ref>
* '''LINQ to XML''': [[LINQ to XML]] is a .NET 3.5 syntax and programming API available in C#, VB and some other .NET languages. LINQ is primarily designed as a query language, but it also supports XML transforms.
|