Jazyk pro transformace XML
Jazyk pro transformace XML () je programovací jazyk navržený pro transformaci vstupního XML dokumentu na výstupní dokument požadovaného formátu.

Existují dva speciální případy transformace:
 XML na XML: výstupní dokument je XML dokument.
 XML na data: výstupní dokument je proud bytů.

XML na XML 
Protože výstupem transformace XML na XML je XML dokument, lze pomocí těchto transformací vytvářet XML kolony.

XML na Data 
Transformace XML (EXtensible Markup Language) na data obsahuje některé důležité případy. K nejvýznamnějším patří XML na HTML (HyperText Markup Language), protože HTML dokument (ve verzích 3 a 4) není XML dokumentem: Tím se staly až novější XHTML a HTML5.

Dostupné nástroje 
 XSLT XSLT je nejznámější jazyk pro XML transformace. W3C doporučení popisující XSLT 1.0 bylo publikováno v roce 1999 spolu s XPath 1.0 a od té doby bylo několikrát implementováno. Pro verze XSLT 2.0 vyšlo W3C doporučení v lednu 2007 a také jsou dostupné první implementace jako Saxon 8.
 XQuery Přestože jeho jméno obsahuje slovo „dotaz“, XQuery je plně funkcionální jazyk. Je to de facto standard používaný firmami Microsoft, Oracle, DB2, Mark Logic, atd., a je základem pro webový programovací model XRX a pro verze 1.0 existuje W3C doporučení. Je založený na XPath 2.0, ale protože není napsán přímo v XML jako XSLT, je jeho syntaxe mnohem jednodušší. Programy v XQuery nesmí mít vedlejší účinky jako v XSLT, ale poskytují téměř stejnou funkcionalitu (například: deklarování proměnných a funkcí, iterace přes posloupnosti, používání typy W3C schema), i když syntaxe program je úplně jiná. XQuery je řízený logikou, používají FOR, WHERE a skládání funkcí (například fn:concat("", generuje-tělo(), "")). Naproti tomu XSLT je řízený daty (push model zpracování), kde určité podmínky splněné ve vstupním dokumentu spouštějí provedení šablon místo provádění kódu v pořadí, ve kterém je napsán.
 XProc XProc je XML Pipeline jazyk. XProc 1.0 W3C doporučení bylo publikováno v květnu 2010.
 XML document transform Je standard firmy Microsoft pro provádění jednoduchých transformací XML dokumentů. Je primárně určený pro vytváření Web.config souborů pro IIS (Config Transforms). Jiné implementace umožňují, aby byl používán pro obecné konfigurační soubory jako je build time (Slow Cheetah) nebo z příkazového řádku (CTT).
 STX STX (Streaming Transformations for XML) je inspirován XSLT, ale navržený tak, aby umožňoval jednoprůchodový transformační proces, který umožní proudové zpracování. Implementace jsou dostupné v Javě a v Perlu.
 XML Script XML Script je imperativní skriptovací jazyk inspirovaný jazykem Perl používající XML syntaxi. XML Script podporuje XPath a vlastní proprietární DSLPath pro výběr uzlů ze vstupního stromu.
 FXT FXT je funkcionální XML transformační nástroj implementovaný ve standardním ML.
 XDuce XDuce je typovaný jazyk s odlehčenou syntaxí v porovnání s XSLT. Je napsaný v ML.
 CDuce CDuce rozšiřuje XDuce na obecný funkcionální programovací jazyk.
 XACT XACT je systém pro programování XML transformací v Javě. Používá XML šablony jako immutable hodnoty a statickou analýzu pro zajištění typové bezpečnosti pomocí XML Schema typů.
 XFun XFun je funkcionální jazyk X-Fun pro definování transformací mezi datovými stromy XML, který poskytuje instrukce pro shredding. X-Fun lze chápat jako rozšíření Frischova jazyka XStream o výstupní shredding, kde vyhledávání vzorků je nahrazen navigací ve stromě pomocí XPath výrazů.
 XStream XStream je jednoduchý funkcionální transformační jazyk pro XML dokumenty založené na CAML. XML transformace napsané v XStream jsou vyhodnocované proudově: pokud je to možné, složky výstupu jsou vypočítané a vyrobené během syntaktickou analýzu vstupního dokumentu. Některé transformace tedy mohou být aplikovány na rozsáhlé XML dokumenty, které se ani nevejdou do paměti. Překladač XStream je distribuovaný s svobodnou softwarovou licencí CeCILL.
 Xtatic Xtatic používá metody z XDuce na C#.
 HaXml HaXml je knihovna a kolekce nástrojů pro zápis XML transformací v Haskell. Jeho přístup je velmi konzistentní a výkonný. Byly publikovány i novější články, např. Haskell XML Toolbox, které vycházejí z myšlenek HaXml a HXML, ale používají obecnější přístup ke zpracování XML.
 XMLambda XMLambda (XMλ) popsal v roce 1999 Erik Meijer a Mark Shields. Žádná implementace není dostupná.
 FleXML FleXML je jazyk na zpracování XML, který poprvé implementoval Kristofer Rose. Jeho principem je provádět činnosti na XML DTD popisující instrukce pro zpracování pro libovolnou podmnožinu DTD pravidel.
 Scala Scala je obecný funkcionální a objektově orientovaný jazyk se zvláštní podporou pro XML transformace ve formě vyhledávání XML vzorků, literálů a výrazů a se standardními XML knihovnami.
 LINQ to XML LINQ to XML je programovací API s .NET 3.5 syntaxí dostupnou v jazyce C#, Visual Basic .NET a některých jiných .NET jazycích. LINQ je primárně navržené jako dotazovací jazyk, ale podporuje i XML transformace.

Odkazy

Reference

Související články 
 Filtr (informatika)
 Roura (software)
 Roura (Unix)
 Web template
 Web template system
 Template engine (WWW)
 Tritium (programovací jazyk)

Standardy založené na XML
Transformační jazyky