Hlavní navigace

XPath 2.0 a XSLT 2.0 se blíží

Petr Cimprich 21. 5. 2003

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.

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:

Našli jste v článku chybu?

23. 5. 2003 14:27

nekdo (neregistrovaný)

Jako nekdo, kdo se pokousel vymyslet, jak by mela vypadat implementace pouheho xpath-1.0, musim rict, ze to sice jde, ale efektivita jde do haje. xpath-2.0 jde jeste dal. Obcas mi prijde ze zvysuji silu jazyka jenom pro tu silu -- realne pouzitelne to ve vysledku tezko bude. Stejne se bude pouzivat jenom zaklad nebo se bude spolehat na to, ze data jsou opravdu mala...

Pripada mi to, jako kdyby nekdo chtel po SQL databazi s pulmilonem tabulek o dvou radcich (pokud mozno s neznamym poctem sloup…

23. 5. 2003 10:07

Petr Cimprich (neregistrovaný)

XSLT se dnes pouziva mnohem vic, nez byl puvodni zamer. Proto v nekterych ohledech nestaci. Kdyby doslo k doplneni potrebnych funkci (jak se o to snazilo XSLT 1.1, resp. EXSLT), jasali by asi vsichni. Kdyby bylo mozne pouzivat typy jako rozsireni, tezko by si nekdo stezoval. Problemem "z podstaty" je, ze XSLT 2.0 uz neni univerzalnim transformacnim jazykem pro well-formed dokumenty, coz je skoda pro XML i XSLT.

Jeste poznamka: XPath/XSLT 2.0 jsou rozhodne implementovatelne standardy, byt obti…

Podnikatel.cz: Vládu obejde, kvůli EET rovnou do sněmovny

Vládu obejde, kvůli EET rovnou do sněmovny

DigiZone.cz: Česká televize mění schéma ČT :D

Česká televize mění schéma ČT :D

Podnikatel.cz: Přehledná titulka, průvodci, responzivita

Přehledná titulka, průvodci, responzivita

Vitalia.cz: Říká amoleta - a myslí palačinka

Říká amoleta - a myslí palačinka

Root.cz: Vypadl Google a rozbilo se toho hodně

Vypadl Google a rozbilo se toho hodně

Vitalia.cz: Paštiky plné masa ho zatím neuživí

Paštiky plné masa ho zatím neuživí

Podnikatel.cz: Víme první výsledky doby odezvy #EET

Víme první výsledky doby odezvy #EET

120na80.cz: Rakovina oka. Jak ji poznáte?

Rakovina oka. Jak ji poznáte?

Podnikatel.cz: Na poslední chvíli šokuje vyjímkami v EET

Na poslední chvíli šokuje vyjímkami v EET

Měšec.cz: Zdravotní a sociální pojištění 2017: Připlatíte

Zdravotní a sociální pojištění 2017: Připlatíte

Podnikatel.cz: 1. den EET? Problémy s pokladnami

1. den EET? Problémy s pokladnami

Vitalia.cz: Láska na vozíku: Přitažliví jsme pro tzv. pečovatelky

Láska na vozíku: Přitažliví jsme pro tzv. pečovatelky

Měšec.cz: Kdy vám stát dá na stěhování 50 000 Kč?

Kdy vám stát dá na stěhování 50 000 Kč?

120na80.cz: Pánové, pečujte o svoje přirození a prostatu

Pánové, pečujte o svoje přirození a prostatu

DigiZone.cz: Recenze Westworld: zavraždit a...

Recenze Westworld: zavraždit a...

Podnikatel.cz: Prodává přes internet. Kdy platí zdravotko?

Prodává přes internet. Kdy platí zdravotko?

Měšec.cz: U levneELEKTRO.cz už reklamaci nevyřídíte

U levneELEKTRO.cz už reklamaci nevyřídíte

Lupa.cz: Google měl výpadek, nejel Gmail ani YouTube

Google měl výpadek, nejel Gmail ani YouTube

Vitalia.cz: Tesco: Chudá rodina si koupí levné polské kuře

Tesco: Chudá rodina si koupí levné polské kuře

Měšec.cz: Jak vymáhat výživné zadarmo?

Jak vymáhat výživné zadarmo?