Hlavní navigace

XPath 2.0 a XSLT 2.0 se blíží

21. 5. 2003
Doba čtení: 3 minuty

Sdílet

Druhé verze rozšířených jazyků XPath a XSLT, jež patří mezi klíčové technologie XML, se pomalu, ale nezadržitelně blíží. Po zveřejnění nových pracovních návrhů specifikací jsme se zase o kousek posunuli směrem k budoucnosti, která je jedněmi vítána stejně jako druhými odmítána.

Kvantitativní ukazatele zřejmě W3C plní na 100, ne-li na 120 procent. 5. května pracovní skupiny pro XSL a XQuery společně zveřejnily hned deset nových specifikací (datovaných 2. květnem 2003), tak či onak se týkajících jazyků XPath, XSLT a XQuery. Úplný seznam těchto specifikací zájemci najdou na konci tohoto článku. Za nárůst počtu specifikací může hlavně modularizace. Ucelené oblasti společné více jazykům (datový model, formální sémantika, funkce a operátory) jsou přesouvány do samostatných dokumentů, na které se XPath, XSLT nebo XQuery podle potřeby odkazují. Dva z nových dokumentů specifikují pouze požadavky na nové technologie, což je sympatický přístup. Dobře definovat zadání úlohy před jejím řešením se v praxi obvykle osvědčuje.

První, co člověka při pohledu na požehnanou úrodu nových informací asi napadne, je: „Kdo to má všechno číst?“ Do posledního písmenka nejspíš nikdo. Implementátoři si počkají na stabilní doporučení W3C, uživatelé na přehledné tutorialy. Těm, kdo chtějí být informováni, stačí zběžné prolistování a sledování changelogů. Vzhledem k pokročilému stádiu pracovních návrhů – dva z nich už jsou dokonce označeny jako Last Call Working Draft – by se s novými dokumenty měl seznámit každý, kdo chce ještě efektivně vyjádřit svůj názor na připravované standardy. W3C na veřejné ohlasy (poslané na public-qt-comments@w3.org) reaguje a vše pečlivě archivuje.

Nová generace pracovních návrhů potvrzuje nastolený trend integrace jazyka XPath s datovými typy systému W3C XML Schema (WXS). Jednoduše řečeno, uzly bude možné charakterizovat nejen na základě jejich druhu (element, atribut apod.) a jména jako v XPath 1.0, ale také pomocí datových typů (xs:integer, xs:decimal, xs:date apod.). Datové typy jsou buď přímo vestavěné ve WXS (těch je 44), nebo mohou být definovány uživateli pomocí schématu WXS. Tím se podstatně zvyšují vyjadřovací schopnosti jazyka, ale cena za to není nijak malá.

XPath 1.0 má intuitivní a přehlednou syntaxi a dokonale slouží svému účelu, kterým je adresovaní uzlů v dokumentech XML. Nic víc, nic míň. XPath 2.0 je mocnější, ale bohužel nikoli pro všechny dokumenty XML. Univerzální adresovací jazyk se změní na jazyk specializovaný na práci s typovanými dokumenty. Totéž platí i pro další techologie, které staví na XPath 2.0, tedy zejména XSLT 2.0 a XQuery 1.0.

Nedá se říct, že by W3C na rozhořčené ohlasy z tábora uživatelů XML, kteří typované dokumenty pro svou práci nechtějí a nepotřebují, nereagovala. Reaguje, vše pečlivě archivuje, ale trend integrace s WXS je neměnný. Jediným ústupkem jsou „backward-compatible“ režimy a různé stupně konformity. Tak například procesor XSLT 2.0 může být buď schémat znalý (schema aware processor), nebo pouze základní (basic processor). Ovšem i základní procesor bude muset umět ve výrazech manipulovat s vestavěnými typy WXS, pouze nemusí rozeznávat typy uzlů. Vše je postaveno právě naopak, než se zdá být logické. Základní XSLT 2.0 by mohlo být definováno bez typů a ti, kdo to potřebují, by mohli mít dispozici odpovídající rozšíření. Jenže tak to není a nebude; vliv typové lobby, kam patří všechny největší IT firmy, je ve W3C rozhodující. Mezi editory specifikací nechybí opravdové osobnosti s bohatými zkušenostmi a pevnými názory. Tito lidé odvádějí kvalitní práci, ale pohybují se v rámci zadání vymezeného členy W3C.

Cloud 24 - tip 1

Povinné zavedení datových typů v XML se (naštěstí) zatím nechystá; významný blok základních technologií XML se však bude tvářit, že tomu tak de facto je. Procesory XPath/XSLT 2.0 budou podstatně složitější a budou záviset na implementaci WXS, nejkomplexnějším standardu v XML vůbec. Velké většině uživatelů by jistě stačilo zůstat u první, jednodušší a efektivnější verze, ale zkuste svým zákazníkům vysvětlit, že 2.0 není lepší než 1.0. Autoři open source procesorů se budou muset rozhodnout, do jaké míry nové standardy podpoří. Tak či onak, poměr sil v této oblasti se určitě posune na stranu komerčního softwaru. Kauza XPath 2.0 je pro hodně uživatelů také zlomem ve vnímání W3C. Z nezávislého arbitra vydávajícího standardy pro dobro všech se stala organizace tvrdě prosazující zájmy svých členů. Pokud chce W3C zabránit své postupné marginalizaci, musí znovu najít společnou řeč s komunitou nezávislých vývojářů a uživatelů. Snaha o komunikaci může být ze strany W3C dobrým začátkem.

Dokumenty:

Byl pro vás článek přínosný?