XML transformation language

XML transformation language

An XML transformation language is a computer language designed specifically to transform an "input" XML document into an "output" XML document which satisfies some specific goal.

There are two special cases of transformation:
* XML to XML : the "output document" is an XML document.
* XML to Data : the "output document" is a byte stream.

XML to XML

An XML to XML transformation outputs XML document, it is current to chain XML to XML transformation to form XML pipelines.

XML to Data

The XML to Data transformation contains some important cases. The most notable one is XML to HTML, as an HTML document "is not" an XML document.

Existing languages

; XSLT : 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 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 programming model, and has a W3C recommendation for versions 0.9 and 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-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("", generate-body(), "")). 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.; 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 ( [http://joost.sourceforge.net/ Joost] ) and Perl ( [http://www.gingerall.com/charlie/ga/xml/p_stx.xml?s=org XML::STX] ).; XML Script : An imperative scripting language inspired by Perl that uses the XML syntax. XML Script supports XPath as well as its proprietary DSLPath for selecting nodes from the input tree.; FXT : A Functional XML Transformation Tool, implemented in Standard ML.; XDuce : A typed language with a lightweight syntax (compared to XSLT). The implementation is written in ML.; CDuce : Extends XDuce to a general-purpose functional programming language, see [http://www.cduce.org/ CDuce homepage] .; XStream: 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 : Applies techniques from XDuce to C#, see [http://www.cis.upenn.edu/~bcpierce/xtatic/ Xtatic homepage] .; HaXml : A library and collection of tools to write XML transformations in 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.; XMLambda : XMLambda (XMλ) is described in a 1999 paper by Erik Meijer and Mark Shields. No implementation is available. See [http://www.cartesianclosed.com/pub/xmlambda/ XMLambda home page] .; FleXML : FleXML is an XML processing language first implemented by Kristofer Rose. Its approach is to add actions to an XML DTD specifying processing instructions for any subset of the DTD's rules.; XML Sapiens : A paradigm of the managed sites building, a way for the independent aspects’ effective integration: data, design, and functionality.; Scala : 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.; 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.

ee also

* Filter (software)
* Filter (Unix)
* Web template
* Web template system
* Web template engine


Wikimedia Foundation. 2010.

Игры ⚽ Поможем написать реферат

Look at other dictionaries:

  • Transformation language — A transformation language is a computer language designed to transform some input text in a certain formal language into a modified output text that meets some specific goal.Program transformation systems such as Stratego/XT, TXL, DMS, and… …   Wikipedia

  • XML Query Language — XQuery steht für XML Query Language und bezeichnet eine vom W3C spezifizierte Abfragesprache für XML Datenbanken. XQuery benutzt eine an XSLT, SQL und C angelehnte Syntax und verwendet XPath sowie XML Schema für sein Datenmodell und seine… …   Deutsch Wikipedia

  • XML Schema Language Comparison — An XML schema is a description of a type of XML document, typically expressed in terms of constraints on the structure and content of documents of that type, above and beyond the basic syntax constraints imposed by XML itself. There are several… …   Wikipedia

  • Model transformation language — A model transformation language in systems and software engineering is a language for model transformation. Contents 1 Overview 2 Available transformation languages 3 See also 4 …   Wikipedia

  • Model Transformation Language — Presentation = Ubiquitous transformations The notion of Model transformation is of central importance to Information Technology. A software system may be seen as a set of information transformations. The Unix system itself may be viewed as a… …   Wikipedia

  • Transformation — (root transform ) may refer to:Transformation is also referred to as a turn.In science: * Transformation (geometry), in mathematics, as a general term applies to mathematical functions. ** Data transformation (statistics) in statistics. *… …   Wikipedia

  • XML Script — are two unrelated XML technologies. The former (XML Script) is an XML transformation language, while the later (XML Script) is a [http://www.asp.net/ajax/documentation/live/Default.aspx Microsoft technology] preview for scripting web browsers… …   Wikipedia

  • Transformation XML — Langage de transformation XML Un langage de transformation XML est un langage de programmation créé spécifiquement pour créer toute forme de document en sortie à partir d un document XML en entrée. Il y a deux cas spécifiques de… …   Wikipédia en Français

  • XML-Schema — ist eine Empfehlung des W3C zum Definieren von Strukturen für XML Dokumente. Anders als bei den klassischen XML DTDs wird die Struktur in Form eines XML Dokuments beschrieben. Darüber hinaus wird eine große Anzahl von Datentypen unterstützt.… …   Deutsch Wikipedia

  • XML Schema Definition — XML Schema ist eine Empfehlung des W3C zum Definieren von Strukturen für XML Dokumente. Anders als bei den klassischen XML DTDs wird die Struktur in Form eines XML Dokuments beschrieben. Darüber hinaus wird eine große Anzahl von Datentypen… …   Deutsch Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”