XML a aplikace

XML je výborný formát vhodný pro uchovávání dat všeho druhu. Aby se jeho používání rozšířilo, je potřeba, aby byl podporován co největším množstvím aplikací. Podívejme se nyní proto na jednotlivé typy aplikací, které se při práci s XML-dokumenty běžně používají.

Editory

Pokud budeme chtít psát dokumenty v XML, budeme k tomu dozajista potřebovat nějaký vhodný editor. Jelikož je XML-dokument obyčejný textový soubor doplněný o tagy, můžeme k jeho vytváření a následné editaci použít libovolný textový editor. Přijdeme tak však o spoustu užitečných funkcí -- lepší editor může automaticky kontrolovat strukturu dokumentu. Nedovolí nám pak vytvořit dokument, který není správně strukturovaný či neodpovídá požadovanému DTD. Chytrý editor nám také může napovídat, které elementy a atributy můžeme v daném místě dokumentu použít.

XML editory můžeme rozdělit do několika skupin, podle toho, jak moc je uživatel vystaven styku se samotným jazykem XML. Nejjednodušší editory zobrazují přímo zdrojový kód XML s tím, že mohou tagy zvýraznit jinou barvou pro odlišení od textu. Pokročilejší editory již pracují v částečném WYSIWYG režimu, kdy je text vidět zformátovaný pomocí stylu, ale jsou v něm vidět jednotlivé tagy. Poslední stupeň již před uživatelem XML úplně schová. Vkládání tagů je pak plně v režii editoru, který může podle nějakých pravidel mapovat jednotlivé vizuální styly na XML elementy.

Kultovní editor Emacs si bez problémů poradí i s XML
Kultovní editor Emacs si bez problémů poradí
		i s XML

Již dnes je jasné, že pro masové rozšíření XML bude zapotřebí zejména editorů poslední skupiny. Uvědomme si, jak se v poslední době začal hodně využívat editor FrontPage pro tvorbu HTML stránek. Uživatel v něm do styku s HTML kódem nemusí vůbec přijít. FrontPage základní formátovací příkazy automaticky převádí do odpovídajících struktur jazyka HTML.

Editory, o kterých jsme dosud mluvili, byly určeny především pro textové dokumenty. Jak jsme již řekli, XML se hodí i pro uchovávání a přenos různých metadat a datových struktur obecně. Pro editaci složitějších datových struktur může být výhodnější speciální editor, který celý XML dokument zobrazuje jako stromovou strukturu navzájem vnořených elementů. Pro silně strukturovaná data je takový editor vhodný.

Kromě obecných editorů XML existují i editory určené pouze pro editaci XML-dokumentů vyhovujících určitému DTD. To co tyto editory ztrácí na obecné použitelnosti, většinou bohatě vynahradí rozšířenou funkčností. Již dnes můžeme matematické vzorce zapsané pomocí MathML vytvářet pohodlně ve vizuálním editoru rovnic, jehož výstupem je XML vyhovující jednomu konkrétnímu DTD pro MathML.

Prohlížeče

Na Webu se dnes používá jazyk HTML, ale v blízké budoucnosti bude nahrazen nějakým jazykem založeným na XML. Než se tak stane, musí existovat dostatečné množství dostatečně kvalitní prohlížečů, které zvládnou práci s XML-dokumenty.

Co by měl takový prohlížeč zvládnout. Předně musí umět zobrazit XML-dokument podle pravidel určených v připojeném stylu (CSS nebo XSL). Kromě toho by měl podporovat všechny běžné formáty pro přenos grafiky a multimédií. Důležitá bude i podpora XLL -- práce s odkazy bude přeci jen složitější než dnes.

Dobrý prohlížeč by měl nabízet i další funkce mezi něž patří navigace v dokumentu a kontextové vyhledávání. Pod navigací si můžeme představit například schopnost vygenerovat a zobrazit strom struktury dokumentu, který může posloužit zároveň jako obsah a jako výborná navigační pomůcka. Kontextové prohledávání není nic jiného, než že při hledání textu na stránce můžeme zadat element, ve kterém se má text hledat. Prohledávání tak můžeme omezit například jen na popisy tabulek.

Prakticky se s použitelnou podporou XML setkáme v "pětkových" verzích prohlížečů Netscape Navigator a Internet Explorer. Zatím dostupné betaverze programů mají sice mnohé problémy, zejména se zpracováním XSL, ale doufejme, že finální verze budou pracovat spolehlivě. Od nových prohlížečů však nemůžeme čekat zázraky. Přinesou sice podporu XML, XSL a XLL, ale to je vše. Prohlížeče s lepší možností navigace či vyhledávání, budeme muset hledat u jiných výrobců než jsou Netscape a Microsoft. Jednak mezi výrobci tradičních SGML-prohlížečů, kteří své programy rozšiřují o podporu XML, a druhak mezi mladými firmami, které se snaží zaplnit nově vzniklou mezeru na trhu.

DocZilla -- XML/SGML prohlížeč, který vznikl na základě volně dostupného kódu Mozilly (Netscape Navigator)
DocZilla -- XML/SGML prohlížeč,
který vznikl na základě volně dostupného kódu Mozilly (Netscape
Navigator)

Aby bylo možné XML stránky zobrazovat ve starších prohlížečích, je zapotřebí je ještě na serveru převést do HTML. Již dnes existují řešení, která umožní automatické zaslání XML-dokumentu v podobě vhodné pro klienta.

Vyhledávací nástroje

Dnes jsou na Internetu využívány zejména techniky fulltextového vyhledávání. Schopnosti fulltextových technologií však narážejí na velký objem informací, které jsou na Webu přítomny. Pokud tedy zadáme nějakému fulltextovému vyhledávači slovo, které nás zajímá, dostaneme jako odpověď tisíce stránek.

Pokud by byly dnešní fulltextové vyhledávače schopné využít přídavné informace uložené v XML-dokumentech, byla by možnost efektivního vyhledávání na Internetu opět o něco lepší. Vyhledávací servery by mohly lépe rozpoznat důležitost dokumentů podle částí textu, kde se hledané slovo vyskytuje. Dokument, který dané slovo obsahuje v nadpisu, je jistě více relevantní, než když ho obsahuje pouze v nějaké poznámce pod čarou. Zlepšení přinese i kontextové vyhledávání, které umožní u hledaného slova zadat, zda se jedná o jméno člověka, jméno ulice nebo popis fotografie.

Další nástroje

Jelikož se XML hodí na uchování informací libovolného typu, nebyl předchozí výčet typů aplikací kompletní. Pokud pracujeme s velkým množstvím dokumentů, budeme potřebovat nějaký systém pro správu dokumentů. Funkce tohoto systému mohou sahat od jednoduché databáze, která bude někde ukládat naše dokumenty, až po složité systémy, které podporují workflow dokumentů a správu verzí.

Pro lidstvo je tištěný výstup stále ještě nejpoužívanější. Není tedy divu, že existuje mnoho programů, které umožňují XML-dokumenty formátovat a tisknout. Do podobné kategorie spadají i různé konvertory, které umožňují převody dat mezi různými formáty.

Pokud pro naše vlastní aplikace potřebujeme nějaký datový formát, může být XML tou pravou volbou. Vytváření XML-dokumentů je velice jednoduché -- jedná se o textové soubory. Pro jejich čtení můžeme použít některý z mnoha volně dostupných parserů. Takový parser přitom existuje snad pro všechny dnes běžně používané programovací a skriptovací jazyky.

© Jiří Kosek 1999