Jazyk pro transformace XML

Technology
12 hours ago
8
4
2
Avatar
Author
Albert Flores

Jazyk pro transformace XML (XSLT) je jazyk pro transformaci a prezentaci dat obsažených v dokumentech XML. Jeho hlavním účelem je definování pravidel, která určují, jakým způsobem se má původní XML dokument změnit z hlediska struktury a obsahu. Tento jazyk je založen na deklarativním přístupu a je vhodný pro automatizované zpracování XML dat. Jazyk pro transformace XML umožňuje použití různých metod a funkcí pro manipulaci s XML dokumentem. Může například vyhledávat a filtrovat určité elementy, měnit jejich atributy, přidávat nové elementy nebo je odstraňovat. Díky tomu je možné provádět různé operace s XML daty, jako je například převod z jednoho formátu do jiného nebo vytvoření komplexních reportů z dat obsažených v XML dokumentu. Jazyk pro transformace XML je standardizovaným jazykem a je součástí technologií v rámci světa XML. Jeho syntaxe je založena na XML syntaxi a využívá kódování pomocí elementů, atributů a funkcí. Pro vytvoření transformačního dokumentu se používá specifický formát zvaný XSLT stylový list, který obsahuje instrukce pro transformaci. V praxi se jazyk pro transformace XML často používá ve spojení s jazykem pro dotazování nad XML (XPath), který umožňuje vyhledávat a identifikovat konkrétní části XML dokumentu. Tímto spojením je možné provádět sofistikovanější operace s XML daty. Jazyk pro transformace XML je široce používán při zpracování a publikování XML dat. Jeho využití je obzvláště rozšířené v oblasti webových technologií, kde se používá například pro generování dynamických webových stránek nebo pro vytváření XML feedů. Díky své flexibilitě a možnosti automatizace je jazyk pro transformace XML ceněný nástroj při práci s XML daty.

Transformace XML na 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. +more0 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.

5 min read
Share this post:
Like it 8

Leave a Comment

Please, enter your name.
Please, provide a valid email address.
Please, enter your comment.
Enjoy this post? Join Cesko.wiki
Don’t forget to share it
Top