Hlavní navigace

Akta X 0405

Petr Cimprich

Co se skrývá pod pojmem "neextraktivní" zpracování XML a jaké výhody může tato metoda nabídnout? W3C připravuje novou verzi jazyka SVG. Po dlouhé nemoci nás opustil oblíbený zpravodajský server.

Neextraktivní zpracování XML

V článku Non-Extractive Parsing for XML uveřejněném na XML.com navrhuje Jimmy Zhang zajímavý přístup ke zpracování XML. Jeho princip lze aplikovat na zpracování libovolného textového formátu, ale zůstaňme u XML.

Prvním krokem při parsování dokumentu XML je takzvaná tokenizace. Text je při ní rozdělen na atomické významové jednotky. Například kousek textu <item id=„i5“> si parser pravděpodobně rozdělí na tyto tokeny: <, item, mezera, id, ", i5, ", >. Izolované tokeny jsou uloženy v paměti, kde čekají na další krok zpracování – syntaktickou analýzu, jejímž výsledkem je syntaktický strom. Jádrem návrhu Jimmyho Zhanga je neukládat nalezené tokeny znovu do paměti, ale pouze si zapamatovat jejich polohu v původním dokumetu. Místo zkopírování tokenu si procesor jen uloží dvojici čísel (offset, délka).

Výhody jsou, podle článku, nasnadě. Úspora paměti a větší efektivita. Ušetří se místo v paměti pro nové řetězce a čas nezbytný pro vytváření těchto řetězců. Informaci o pozici tokenů je možné v binární podobě uložit do souboru, čímž by vzniklo cosi jako externí binární index textového dokumentu XML, umožňující rychlejší načtení dokumentu. Dále, neextraktivně načtený dokument, případně jeho libovolný fragment, je neustále k dispozici v serializované podobě.

Pokud jde o nejasnosti či slabiny, také se najdou. První otázkou je kódování. Serializovaný dokument XML může být libovolně kódovaný text, ale procesory XML potřebují pracovat se sekvencemi znaků Unicode. K interpretaci vstupního kódování a případnému převodu typicky dochází právě při tokenizaci. Při neextraktivním zpracování je třeba buď konvertovat celý dokument do vhodného kódování Unicode ještě před tokenizací, nebo konvertovat každý token vždy znovu při každém přístupu. Druhý způsob je zcela neefektivní, ten první vypadá přijatelně.

Úplně jasné není ani, jak by se podařilo skloubit neextraktivní a proudové, událostmi řízené zpracování. Aby zůstaly zachovány nízké paměťové nároky, musely by vždy být k dispozici pouze malé fragmenty dokumentu.

Dokonce i hlavní Zhangův argument týkající se zbytečného kopírování tokenů je možné oslabit. Opakovanému kopírování řetězců lze zabránit použitím poolu jmen, kde je každé jméno uloženo jen jednou a procesor pouze udržuje odkazy. V případě XML je tato metoda velmi účinná a často používaná. Neextraktivní zpracování textu je zajímavý nápad, ale revoluci v práci s XML od něho nečekám. Pokud se objeví implementace, určitě si ji ale nenechám ujít.

SVG 1.2

10. května pracovní skupina pro SVG konsorcia W3C zveřejnila již sedmou pracovní verzi specifikaceSVG 1.2 (Scalable Vector Graphics). SVG 1.2 je významnou aktualizací současného standardu SVG 1.1. Nové dynamické funkce mají omezit potřebu vkládat do dokumentů SVG javascriptový kód. Zdokonalený model SVG DOM poskytuje přístup k dalším užitečným vlastnostem obrázků.

Nekrolog

Od roku 1999 informoval server xmlhack.com o novinkách ze světa XML. Za tu dobu se stal součástí komunity a autoritou měřící význam událostí. Co nebylo na xmlhacku, jako by se nestalo. Poslední dobou však xmlhack viditelně ztrácel dech. Skupina dobrovolných editorů většinou přesunula svou psací energii do vlastních weblogů a na společný projekt přestával zbývat čas. Četnost nových příspěvků poklesla na úroveň, jež pro zpravodajský server znamená klinickou smrt.

Serveru xmlhack.com neprospěla ani skutečnost, že jeho provozovatelem je firma O'Reilly, které patří také podobně zaměřený, profesionálně vedený server XML.com. Dokud xmlhack běžel samospádem, vše bylo v pořádku. Jen blázen by ale investoval do dvou tématicky se překrývajících médií. xmlhack ukončil svou činnost stylově – nezmizel po anglicku (404) ani se z něho nestal zapomenutý zombie. V poslední„no­vince“ ozřejmuje okolnosti svého zániku a slibuje dostupnost svého, teď již historického, obsahu na původních URL.

Našli jste v článku chybu?

3. 6. 2004 15:28

uživatel si přál zůstat v anonymitě

no vazne jsem necekal, ze to popisovane technicky efektivni reseni bude odpovidat tomu co jsem pouzil pri prepisovani dns(udp) zprav v jadernym modulu... a ze teda objevi ohen...

3. 6. 2004 8:50

Vít Profant (neregistrovaný)

Kdepak Váš XML parser na Webu najdeme a je pod licencí GNU GPL?

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

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

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

Podnikatel.cz: Změny v cestovních náhradách 2017

Změny v cestovních náhradách 2017

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

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

Vitalia.cz: Taky věříte na pravidlo 5 sekund?

Taky věříte na pravidlo 5 sekund?

Vitalia.cz: Spor o mortadelu: podle Lidlu falšovaná nebyla

Spor o mortadelu: podle Lidlu falšovaná nebyla

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

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

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

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

Lupa.cz: Co se dá měřit přes Internet věcí

Co se dá měřit přes Internet věcí

Podnikatel.cz: Podnikatelům dorazí varování od BSA

Podnikatelům dorazí varování od BSA

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č?

Vitalia.cz: Jsou čajové sáčky toxické?

Jsou čajové sáčky toxické?

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

Jak vymáhat výživné zadarmo?

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

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

Vitalia.cz: Mondelez stahuje rizikovou čokoládu Milka

Mondelez stahuje rizikovou čokoládu Milka

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: Na ucho teplý, nebo studený obklad?

Na ucho teplý, nebo studený obklad?

120na80.cz: Co všechno ovlivňuje ženskou plodnost?

Co všechno ovlivňuje ženskou plodnost?

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: Air Bank zruší TOP3 garanci a zdražuje kurzy

Air Bank zruší TOP3 garanci a zdražuje kurzy