Jmenné prostory a URI
XML.com v dubnu publikoval zajímavý článek Michaela Daye nazvaný XML Namespaces Don't Need URIs. Autor označuje použití identifikátorů jmenných prostorů v syntaktické podobě URI za vážnou chybu, která mate uživatele a zbytečně komplikuje implementaci nástrojů pro XML. Řadu jeho námitek proti URI bychom mohli rozdělit do dvou oblastí.
Pro tu první je typické tvrzení, že nepotřebujeme URI jmenných prostorů, ale vystačili bychom si s prefixy. Když si to přeložím do řeči, které rozumím, znamená to vynechání mechanismu deklarace prefixů a přímé psaní plných krátkých identifikátorů jmenných prostorů u jmen atributů a elementů. Vynechání deklarací by určitě bylo příjemné. Ze syntaxe XML by zmizel ojedinělý kontextový prvek. Když má element kvalifikované jméno třeba xsl:value-of, nemusí to ještě znamenat, že se jedná o instrukci jazyka XSLT. Abych měl jistotu, musím se navíc přesvědčit, že je prefix xsl v oboru platném pro uvedený element deklarován pro jmenný prostor http://www.w3.org/1999/XSL/Transform. Významné aplikace XML by mohly používat privilegované, krátké identifikátory, jako například xsl:, fo:, xsd: nebo xhtml:. Snesitelné by určitě byly i o něco delší, řekněme šesti až osmimístné řetězce. Čistě kombinatoricky by i při použítí jen malých písmen a číslic umožnily dost různých jmen. Potíž je v tom, že většina těchto jmen by byla neatraktivní a špatně zapamatovatelná, zatímco o jiná by se soupeřilo. Registraci jmenných prostorů pro XML by kvůli zajištění jednoznačnosti musel někdo řídit a evidovat, což by v globálním měřítku byla nákladná záležitost.
Nespornou výhodou identifikátorů obsahujících doménová jména je využití existujícího a relativně dobře fungujícího mechanismu jejich registrace. Námitky z druhé oblasti souhlasí s využitím doménových jmen, pro jejich délku jsou smířeny s deklaracemi prefixů, ale nesouhlasí s použitím syntaxe URI nebo dokonce http URL. Day dává za příklad podobu jmenných prostorů v Javě (byla zde už před XML). Místo http://www.w3.org/1999/XSL/Transform by radši použil informačně kompaktnější a snadno zapamatovatelný identifikátor org.w3.xsl.transform.
Použití http URL není nikde závazně předepsáno. Podle specifikace jsou jmenné prostory identifikované odkazem URI. Jenže všechny další specifikace W3C, které zavádějí jmenné prostory, pro ně používají identifikátor v podobě http URL. Není tedy pochyb o tom, jaká je podle W3C doporučená praxe. Pro nevýhody nemusíme chodit daleko. Většina aplikací bere URL jako lokátory elektronických zdrojů. Zadáte URL a získáte aktuální reprezentaci zdroje. URL nejsou citlivé na malá a velká písmena, celá řada variant (např. http://www.w3.org/, http://w3.org/ nebo http://www.W3.org/) obvykle identifikuje jeden zdroj. Naproti tomu, URL jako idenfikátor jmenného prostoru nereprezentuje, aspoň ne přímo, žádný webový zdroj a musí se psát vždy naprosto stejně.
Proč tedy W3C prosazuje http URL jako identifikátory jmenných prostorů? Záleží na názoru na význam URL. Pokud je chápeme výhradně jako součást aktuální webové architektury, nemá jejich použití pro jmenné prostory v XML valný smysl. Pokud ale bereme URI jako univerzální identifikátor nejen elektronických zdrojů, ale také všemožných abstraktních a fyzických objektů (jak činí RDF a sémantický web), nemůžeme se divit ani využití v XML. Při vší snaze o tento širší pohled na URL ale stejně nechápu, proč mají být rozličné neelektronické objekty identifikovány pomocí schématu http://. Co když identifikátor fyzického či abstraktního objektu současně funguje jako lokátor webového zdroje? Měli bychom se tomu vyhýbat? Je naopak žádoucí, aby každý objekt měl svou elektronickou reprezentaci? Nebo je to jedno a jde jen o shodu okolností? Jaký je potom vztah mezi objektem a dokumentem, které jsou oba určeny týmž „jedinečným“ identifikátorem? Bez odpovědí na podobné otázky budí snaha používat vždy a všude http URL dojem určité nedomyšlenosti.
Specifikace W3C
Trochu jsem se zapovídal, takže následuje už jen stručný přehled dubnových novinek. Pracovní skupiny XQuery a XSL znovu vydaly 12 aktualizovaných specifikací o XQuery 1.0, XPath 2.0 a XSLT 2.0. Nebudu už ani uvádět všechny odkazy; zde je jejich seznam. Většina dokumentů je už přes rok ve fázi posledních připomínek, jež se neustále protahuje a přibývají stále nové termíny, do kdy mají být připomínky uzavřeny. To svědčí jak o živém zájmu publika a ochotě W3C naslouchat, tak o malém tlaku na dokončení těchto specifikací. Většina uživetelů neví, co by vlastně s těmi novými báječnými prostředky měla dělat. Pokud také nevíte a rádi se dozvíte, nenechte si ujít blížící se přednášku Micheala Kaye na XML Prague.
Pracovní skupina SVG zveřejnila třetí pracovní verzi dokumentu SVG's XML Binding Language (sXBL), který popisuje zobecnitelný způsob vázání funkčnosti SVG na elementy jiných aplikací XML. Stejná pracovní skupina uvolnila aktualizovanou verzi specifikace SVG Tiny 1.2, což je zjednodušená verze SVG určená hlavně pro mobilní telefony, PDA a jinou drobotinu. Dočkáme se brzy SVG pozadí na mobily?
O jednu pracovní verzi kupředu pokročila také specifikace SPARQL, dotazovacího jazyka pro RDF. Dokument je přímo nabitý URL, které rozhodně nejsou určeny pro váš prohlížeč.