Saxon XSLT - Saxon XSLT
saský je XSLT a XQuery procesor vytvořen Michael Kay a nyní je vyvíjen a udržován jeho společností Saxonica. Existují open-source a také uzavřený zdroj komerční verze. Verze existují pro Jáva, JavaScript[1] a .SÍŤ.
Aktuální verze od května 2020 je 10.1.[2]
Verze
Původní vývojová řada Saxonu skončila verzí 6. Toto je řada procesorů XSLT 1.0. Aktuální verze 6.5.5 neprochází kromě údržby dalším vývojem. Řada 6 je k dispozici pouze pro programovací jazyk Java.
Současná vývojová řada, Saxon 10, implementuje specifikace XSLT 3.0 a XQuery 3.1. Saxon 10 dokáže zpracovat také soubory XSLT 1.0. (XSLT 2.0 je vysoce zpětně kompatibilní s XSLT 1.0. [3])
Od roku 2004 do roku 2009 byla společnost Saxon k dispozici ve dvou samostatných formách: Saxon-B a Saxon-SA. Oba byly postaveny na podobných kódových základnách. Saxon-B byl open-source software vydaný pod Veřejná licence Mozilla, zatímco Saxon-SA byl komerční produkt uzavřeného zdroje.
Rozdíl mezi Saxon-B a Saxon-SA byl v tom, že B byl „základní“, zatímco SA byl „vědomý schématu“. Tyto termíny jsou odkazy na termíny ve specifikaci XSLT 2.0 a XQuery 1.0. Procesor, který je „vědom schématu“, je schopen používat a Schéma XML W3C definovat datové typy různých prvků ve zdrojových dokumentech XML. Tyto datové typy lze poté použít v XPath 2.0 a XSLT 2.0 příkazy. „Základní“ procesor XSLT 2.0 není schopen použít informace o zadávání dat.
S vydáním verze 9.2 v srpnu 2009 se obal změnil a vytvořil tři verze: domácí vydání (HE), profesionální vydání (PE) a podnikové vydání (EE). Domácí vydání je open source a zdarma, ostatní verze jsou k dispozici na základě komerčních licencí. Přejmenování z SA na EE bylo provedeno s cílem zdůraznit, že komerční produkt nyní zahrnoval mnoho dalších funkcí nad rámec povědomí o schématu, včetně pokročilejšího optimalizátoru a schopnosti streamovaného zpracování XSLT a XQuery, což umožňuje zpracování velmi velkých zdrojových dokumentů bez odpovídajícího velké množství paměti.
Saxon nabízí přísnou shodu s doporučeními XSLT 2.0, XPath 2.0 a 3.0 a XQuery 1.0 a 3.0 W3C a také implementuje XML Schema 1.0 a 1.1. Od roku 2016 aktuální verze (9.7) také implementuje většinu funkcí v konceptu doporučení pro XSLT 3.0, XPath 3.1 a XQuery 3.1.
Saský zdrojový kód je napsán v jazyce Java. V letech 2005-6 M. David Peterson a další prokázali, že Saxon může být cross-kompilován pro běh na .NET pomocí IKVM.NET cross-compiler, spuštění Saxon.NET jako samostatného produktu nezávislého na původním vývojáři. S vydáním Saxon 8.7 přijala Saxonica tuto technologii a od tohoto vydání byly všechny verze vydány současně pro Java a .NET. Verze .NET produktu vynechává funkce, které jsou specifické pro platformu Java (například integrace s JDOM, Dom4j, a XOM ) a místo toho poskytuje funkce, které se integrují s možnostmi zpracování XML platformy .NET.
V roce 2012 vydala společnost Saxonica po sérii prototypů verzi Saxon Client Edition (Saxon-CE), verzi produktu přizpůsobenou pro běh v prostředí prohlížeče. Toho je dosaženo přizpůsobením zdrojového kódu Java tak, aby mohl být křížově kompilován do Javascript pomocí GWT cross-kompilátor produkovaný Google. Saxon-CE poskytuje první implementaci XSLT 2.0 běžící na prohlížeči a také rozšiřuje jazyk tak, že místo pouhého generování HTML dokáže přímo zpracovat interakci uživatele. S vydáním Saxon-CE 1.1 v únoru 2013 se produkt stal open source. V únoru 2016 Michael Kay oznámil, že Saxonica pracuje na náhradě za Saxon-CE napsané v čistém Javascriptu a dabované Saxon-JS.[4]
Michael Kay, autor Saxonu, byl editorem specifikace XSLT 2.0 a je také editorem konceptu XSLT 3.0.
Funkce
Tato tabulka ukazuje, které funkce jsou k dispozici v aktuálních verzích Saxonu. Verze Java a .NET jsou vytvořeny z jedné kódové základny, takže sdílejí stejné funkce. Přípony * HE *, * PE *, * EE * a * CE * odkazují na edice Home, Professional, Enterprise a Client Edition: Saxon-HE a -CE jsou open source, zatímco verze -PE a -EE jsou k dispozici na základě komerční licence.
Podrobnější a aktuální matici funkcí najdete na webové stránky Saxonica.
Vlastnosti | saský 6.5.5 (Pouze Java) | saský HE 9.5 (Domácí edice, MPL -2.0) | saský PE 9.5 (Professional Edition, komerční) | saský EE 9.5 (Enterprise Edition, komerční) | saský CE 1.1 (Klientská edice, JS -pouze, MPL -2.0) |
---|---|---|---|---|---|
Podpora XSLT 1.0 | Ano | Prostřednictvím zpětně kompatibilního chování | Prostřednictvím zpětně kompatibilního chování | Prostřednictvím zpětně kompatibilního chování | Prostřednictvím zpětně kompatibilního chování |
Podpora XSLT 2.0 | -- | Ano | Ano | Ano | Ano |
Podpora XSLT 3.0 | -- | -- | Ano | Ano | -- |
Podpora XPath 1.0 | Ano | Prostřednictvím režimu kompatibility XPath 1.0 | Prostřednictvím režimu kompatibility XPath 1.0 | Prostřednictvím režimu kompatibility XPath 1.0 | Pouze v XSLT |
Podpora XPath 2.0 | -- | Ano | Ano | Ano | Pouze v XSLT |
Podpora XPath 3.0 | -- | -- | Ano | Ano | -- |
Podpora XQuery 1.0 | -- | Ano | Ano | Ano | -- |
Podpora XQuery 3.0 | -- | -- | Ano | Ano | -- |
Podpora XQueryX | -- | -- | -- | -- | -- |
Podpora aktualizace XQuery 1.0 | -- | -- | Ano | Ano | -- |
Podpora plného textu XQuery / XPath | -- | -- | -- | -- | -- |
Podpora schématu XML 1.0 | -- | -- | -- | Ano | -- |
Podpora schématu XML 1.1 | -- | -- | -- | Ano | -- |
Podpora funkce serializace | Ano | Ano | Ano | Ano | -- |
Podpora funkcí statického psaní | -- | -- | -- | -- | -- |
podpora xml: id 1.0 | -- | Ano | Ano | Ano | Ano |
Šablona stylů XML Pokyn ke zpracování Podpěra, podpora | Ano | Ano | Ano | Ano | prostřednictvím šablony stylů bootstrapu XSLT 1.0 |
Pokročilé funkce rozšíření | -- | -- | Ano | Ano | -- |
Pokročilý optimalizátor | -- | -- | -- | Ano | -- |
Streamování | -- | -- | -- | Ano | -- |
Generování bytového kódu | -- | -- | -- | Ano | -- |
Viz také
Reference
- ^ „Saxon Client Edition 1.0“. Saxonica. Citováno 14. srpna 2012.
- ^ Oficiální webové stránky Saxon XSLT
- ^ Toto doporučení staví na úspěchu [XSLT 1.0], který byl publikován 16. listopadu 1999. Do jazyka byla přidána řada nových funkcí (viz J.2 Nová funkce) při zachování vysoké úrovně zpětné kompatibility. Transformace XSL (XSLT) verze 2.0
- ^ http://dev.saxonica.com/blog/mike/2016/02/introducing-saxon-js.html