Hlavní navigace

Akta X: EXI čili binární XML

Petr Cimprich

Už čtvrtým rokem pokračuje úsilí W3C zaměřené na možnost binární serializace XML. Konsorcium nejprve důkladně zvažovalo, zda se vůbec do standardizace takového formátu pustit. Poté porovnávalo existující technologie a nakonec opravdu došlo na tvorbu nového standardu. Ta se teď pomalu chýlí ke konci.

Takzvané binární XML, před dvěma, třemi lety vášnivě diskutované téma, se pomalu a vcelku nenápadně stává skutečností. Uprostřed letní okurkové sezóny pracovní skupina EXI konsorcia W3C představila první pracovní verzi dokumentu Efficient XML Interchange (EXI) Format 1.0. Podle plánu by ještě do konce roku nová specifikace měla přejít do víceméně stabilní fáze zvané Last Call.

W3C přitom v případě „binární XML“ postupuje nanejvýš obezřetně a důkladně. A až úsměvně důsledně se vyhýbá slovnímu spojení binární XML, na které mnozí veteráni značkovacích jazyků reagují jako býk na červený hadr. Jako první krok W3C ustanovilo pracovní skupinu XBC (XML Binary Characterization), jejímž úkolem bylo shromáždit informace, vyhodnotit případové studie a popsat z nich vyplývající vlastnosti a požadavky na případný binární formát. Důležitým požadavkem bylo, aby ony vlastnosti byly měřitelné. Dalším cílem XBC totiž bylo definovat pro vybrané vlastnosti metody měření, aby bylo možné co nejobjektivněji porovnat stávající nestandardní binární formáty pro serializaci XML.

Pracovní skupina XBC měla na svou práci vyhrazen přesně rok – od března 2004 do března 2005. Za tu dobu stačila publikovat čtyři dokumenty:

Svůj úkol pracovní skupina XBC beze zbytku splnila a připravila tím půdu pro další postup. Rok pilné práce přinesl zásadní argumenty do diskuze o užitečnosti či škodlivosti binární serializace. Odborná veřejnost v převážné většině přijala stanovisko XBC, že je možné a vhodné pokusit se o vytvoření univerzálního binárního formátu pro serializaci XML Infosetu. Že tento formát mnohým prospěje a nikomu neuškodí. Mimochodem, v červnu 2005 předseda XBC Robin Berjon přijal naše pozvání, aby o aktivitách a závěrech XBC promluvil na prvním ročníku konference XML Prague.

K pokračování práce započaté XBC byla v listopadu 2005 založena nová pracovní skupina EXI. Její činnost byla původně naplánována na dva roky do prosince 2007, ale nyní je jasné, že bude muset být o něco prodloužena. Konečným cílem EXI už je vytvoření specifikace formátu, který umožní efektivní serializaci XML Infosetu.

Pracovní skupina EXI se hned pustila do měření a porovnání existujících formátů podle kritérií připravených XBC. Soupeřily spolu tyto formáty: X.694 ASN.1/PER, Xebu, XSBC, FXDI, Fast Infoset, Efficient XML a esXML. Měření je podrobně popsáno v dokumentu Efficient XML Interchange Measurements Note; zde jsou výsledky měření. Nejlépe ze všech kandidátů si vcelku přesvědčivě vedl formát Efficient XML navržený firmou AgileDelta, který tak byl vybrán jako základ pro budoucí standardní formát EXI.

Formát EXI je založen na poměrně jednoduchém algoritmu. Dokument XML je modelován jako proud událostí, které jsou v daném kontextu reprezentovány různě dlouhými kódy. Na základě znalosti gramatiky jsou těm nejpravděpodob­nějším událostem přířazeny nejkratší kódy. Každý kód se skládá z nejvýše tří celých čísel bez znaménka, přičemž ke kódování každého celého čísla je použit minimální počet bitů nutný k rozlišení všech možných čísel na této úrovni. Dále může být použita dodatečná komprese na principu náhrady často opakujících se vzorů, některé textové řetězce (URI, prefixy, jména elementů) mohou být nahrazeny kompaktními identifikátory odkazujícími do tabulky řetězců, a podobně.

Stejný algoritmus se používá pro dokumenty bez schématu i pro ty, u nichž je k dispozici schéma. Liší se pouze použitá gramatika. Dokument bez schématu je zakódován podle základní gramatiky XML definované specifikací XML 1.0. Dokument se schématem je zákodován podle specifičtější gramatiky určené konkrétním schématem.

Formát EXI by měl dobře spolupracovat s existujícími standardy XML. Každý dokument EXI začíná bity 1 a 0, což je sekvence, na kterou nesmí začínat textové dokumenty XML v žádném z obvyklých kódování. Technicky tedy nic nebude bránit napsání parseru, který by uměl interpretovat jak XML, tak EXI. Obdobně na opačném konci zpracování se o vše může postarat serializér.

Dlouho kontroverzní binární XML se tak už brzy stane realitou. O tom, jaká bude skutečná odezva implementátorů a uživatelů, zatím můžeme jen spekulovat.

Našli jste v článku chybu?

7. 11. 2007 11:39

erg (neregistrovaný)
Az budete muset implementovat interoperabilitu mezi vasim SW a SW tretich stran nad dynamickymi daty (tzn. daty, ktere nemaji zrovna format sekvence fixnich struktur), tak to XML ocenite, verte mi :-)

6. 11. 2007 18:08

Palo (neregistrovaný)
A citali ste clanok? Ide o binarne XML aby sa nemuselo vzdy parsovat. Najrychlejsia implementacia pouziva mimo ine aj Huffmanovo kodovanie.
Vitalia.cz: 7 originálních adventních kalendářů pro mlsné

7 originálních adventních kalendářů pro mlsné

120na80.cz: Rovnátka, která nejsou vidět

Rovnátka, která nejsou vidět

DigiZone.cz: R2B2 a Hybrid uzavřely partnerství

R2B2 a Hybrid uzavřely partnerství

DigiZone.cz: V Plzni odstartovalo Radio 1

V Plzni odstartovalo Radio 1

120na80.cz: Boreliózu nelze žádným testem prokázat

Boreliózu nelze žádným testem prokázat

Podnikatel.cz: Chtějte údaje k dani z nemovitostí do mailu

Chtějte údaje k dani z nemovitostí do mailu

Lupa.cz: Kdo pochopí vtip, může jít do ČT vyvíjet weby

Kdo pochopí vtip, může jít do ČT vyvíjet weby

Root.cz: Certifikáty zadarmo jsou horší než za peníze?

Certifikáty zadarmo jsou horší než za peníze?

Vitalia.cz: Proč vás každý zubař posílá na dentální hygienu

Proč vás každý zubař posílá na dentální hygienu

120na80.cz: 5 nejčastějších mýtů o kondomech

5 nejčastějších mýtů o kondomech

Vitalia.cz: Potvrzeno: Pobyt v lese je skvělý na imunitu

Potvrzeno: Pobyt v lese je skvělý na imunitu

Měšec.cz: Za palivo zaplatíte mobilem (TEST)

Za palivo zaplatíte mobilem (TEST)

Vitalia.cz: Jak vybrat ořechy do cukroví a kde mají levné

Jak vybrat ořechy do cukroví a kde mají levné

DigiZone.cz: Ohrozí Freedom TV přechodové sítě?

Ohrozí Freedom TV přechodové sítě?

Lupa.cz: Levný tarif pro Brno nebude, je to kartel

Levný tarif pro Brno nebude, je to kartel

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

Lupa.cz: Insolvenční řízení kvůli cookies? Vítejte v ČR

Insolvenční řízení kvůli cookies? Vítejte v ČR

Lupa.cz: Obchod budoucnosti je bez front, košíků i pokladen

Obchod budoucnosti je bez front, košíků i pokladen

Podnikatel.cz: K EET. Štamgast už peníze na stole nenechá

K EET. Štamgast už peníze na stole nenechá

Vitalia.cz: Pamlsková vyhláška bude platit jen na základkách

Pamlsková vyhláška bude platit jen na základkách