Content deleted Content added
m Bot: Migrating 2 interwiki links, now provided by Wikidata on d:q3217190 |
Rescuing 1 sources and tagging 0 as dead.) #IABot (v2.0.9.5 |
||
(37 intermediate revisions by 29 users not shown) | |||
Line 1:
{{Short description|Type of programming language}}
{{Data transformation}}
{{
[[File:XML To XML Transformation.
<!-- TODO: ImageNode -->
An '''XML transformation language''' is a [[programming language]] designed specifically to transform an ''input'' [[XML]] document into an ''output''
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==
Line 14 ⟶ 15:
==XML to Data==
The '''XML (EXtensible Markup Language) to Data''' transformation contains some important cases. The most notable one is '''XML to HTML (HyperText Markup Language)''', as an [[HTML]] document ''is not'' an XML document.
==SGML origins==
The earliest transformation languages predate the advent of XML as an SGML profile, and thus accept input in arbitrary [[SGML]] rather than specifically XML. These include the SGML-to-SGML '''link process definition''' (LPD) format defined as part of the SGML standard itself; in SGML (but not XML), the LPD file can be referenced from the document itself by a {{code|LINKTYPE}} declaration, similarly to the [[document type declaration|{{code|DOCTYPE}} declaration]] used for a [[document type definition|DTD]].<ref>{{cite book |isbn=0-19-853737-9 |work=The SGML Handbook |title=Clause 12—Markup Declarations: Link Process Definition |last=Goldfarb |first=Charles F. |author-link=Charles Goldfarb |publisher=[[Clarendon Press]] |___location=[[Oxford]] |year=1990 |pages=433–449}}</ref> Other such transformation languages, addressing some of the deficiencies of LPDs, include [[Document Style Semantics and Specification Language]] (DSSSL) and [[OmniMark#Processing_structured input (XML, SGML)|OmniMark]].<ref>{{cite web |url=http://xml.coverpages.org/kimber-link95.html |title=Why I Want the SGML LINK Feature |first=W. Eliot |last=Kimber |website=CoverPages.org}}</ref> Newer transformation languages tend to target XML specifically, and thus only accept XML, not arbitrary SGML.
==Existing languages==
* '''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])
==See also==
Line 40 ⟶ 45:
* [[Web template system]]
* [[Template engine (web)]]
* [[Tritium (programming language)]]
==References==
{{Reflist}}
{{DEFAULTSORT:Xml Transformation Language}}
[[Category:
[[Category:
|