Warning: Function registration failed - duplicate name - xslt_create in /home/avernet/public_html/misc/controller.php on line 2

Warning: Function registration failed - duplicate name - xslt_set_sax_handlers in /home/avernet/public_html/misc/controller.php on line 2

Warning: Function registration failed - duplicate name - xslt_set_scheme_handlers in /home/avernet/public_html/misc/controller.php on line 2

Warning: Function registration failed - duplicate name - xslt_set_error_handler in /home/avernet/public_html/misc/controller.php on line 2

Warning: Function registration failed - duplicate name - xslt_set_base in /home/avernet/public_html/misc/controller.php on line 2

Warning: Function registration failed - duplicate name - xslt_set_encoding in /home/avernet/public_html/misc/controller.php on line 2

Warning: Function registration failed - duplicate name - xslt_set_log in /home/avernet/public_html/misc/controller.php on line 2

Warning: Function registration failed - duplicate name - xslt_process in /home/avernet/public_html/misc/controller.php on line 2

Warning: Function registration failed - duplicate name - xslt_error in /home/avernet/public_html/misc/controller.php on line 2

Warning: Function registration failed - duplicate name - xslt_errno in /home/avernet/public_html/misc/controller.php on line 2

Warning: Function registration failed - duplicate name - xslt_free in /home/avernet/public_html/misc/controller.php on line 2

Warning: Function registration failed - duplicate name - xslt_set_object in /home/avernet/public_html/misc/controller.php on line 2

Warning: Function registration failed - duplicate name - xslt_setopt in /home/avernet/public_html/misc/controller.php on line 2

Warning: Function registration failed - duplicate name - xslt_getopt in /home/avernet/public_html/misc/controller.php on line 2

Warning: Function registration failed - duplicate name - xslt_backend_version in /home/avernet/public_html/misc/controller.php on line 2

Warning: Function registration failed - duplicate name - xslt_backend_name in /home/avernet/public_html/misc/controller.php on line 2

Warning: Function registration failed - duplicate name - xslt_backend_info in /home/avernet/public_html/misc/controller.php on line 2

Warning: xslt: Unable to register functions, unable to load in Unknown on line 0
XML Transformation Languages

XML Transformation Languages

Alessandro Vernet
July, 2002

What About Alternatives?

XSLT is the most popular XML transformation language. It is a W3C standard and now many implementations and tools are available. Even though XSLT is a popular and well supported XML transformation language, other languages might be better suited to perform some kind of transformations (or might better suit personal tastes). A few alternative languages are listed below.

  • STX (Streaming Transformations for XML) - XSLT-like, implementations available in Java (Joost) and Perl (XML:STX).
  • FTX The Functional XML Transformation Tool - implementation in Standard ML.
  • XDuce - typed language with a lightweight syntax (compared to XSLT), implementation in ML.
  • HaXml - a library and collection of tools to write XML transformations in Haskell. This is IMHO the most powerfull and clean approach I have seen so far. Also see this paper about HaXml published in 1999 and this IBM developerWorks article.
  • XMLLambda - by Erik Meijer and Mark Shields. The paper was written in 1999 and I haven't seen any implementation.