XML & aplikace

Jiří Kosek


Obsah

Prohlížeče
Editory
WYSIWYG editory
Emacs – hodně muziky za málo peněz
Editory pro „databázové dokumenty“
Microsoft Office 2000 a XML
Pomocné editory
Systémy pro správu dokumentů
Vyhledávací nástroje
Internetové vyhledávací služby podporující XML
Vyhledávač pro „osobní použití“
Dotazovací jazyky
Konvertory a formátovače
Konverze do XML
Parsery
Pro programátory
SAX
DOM
Ufff

Jazyk XML může mnohé změnit, potenciál na to má. Samotnýnový jazyk na to však nestačí. Auto bez benzínu také nikam nedojede. Benzínem, který umožní naplno využít všechny výhody XML, jsou aplikace, které nový formát podporují. Potřebujeme editory a prohlížeče, ve kterých bude práce s XML velice snadná, potřebujeme databáze, do kterých naše dokumenty uložíme, abychom je později mohli efektivně vyhledávat a zpracovávat. V dnešním článku se proto podíváme na aplikace, které jsou pro práci s XML obvykle potřeba. Uvidíte, že již dnes je z čeho vybírat – a to je XML teprve na startovní čáře.

Narozdíl od ostatních formátů je XML otevřený a uznávaný standard. Pro uživatele z toho plyne jedna velká výhoda – může používat software od různých výrobců. Není jako dříve svázán pouze s produkty jedné firmy, které používají vlastní formát dat a s ostatními aplikacemi nejsou nekompatibilní. XML je velice flexibilní jazyk a lze jej využít v mnoha aplikacích. My se podíváme na ty nejdůležitější skupiny aplikací, které jsou při práci s XML potřeba. Patří mezi ne především:

U každého druhu aplikací vás seznámíme s jejich obvyklou funkčností a samozřejmě se zmíníme o konkrétních produktech, které do jednotlivých skupin patří.

Prohlížeče

Na Webu se dnes používá jazyk HTML, ale v blízké budoucnosti bude nahrazen jazykem XHTML a dalšími jazyky založenými na XML. Než se tak stane, musí existovat dostatečné množství dostatečně kvalitních prohlížečů, které zvládnou práci s XML dokumenty. XML prohlížeč bude základem, bez něj by si uživatelé mohli prohlížet jen zdrojové kódy XML dokumentů, což by jistě nebylo příliš pohodlné.

Co by měl takový prohlížeč zvládnout? Předně musí umět zobrazit XML dokument podle pravidel definovaných v připojeném stylu. Prohlížeč by měl podporovat alespoň kaskádové styly (CSS). Pro složitější dokumenty však bude užitečná i podpora stylového jazyka XSL.

Samozřejmostí by měla být podpora všech běžných grafických a multimediálních formátů. Kromě dnes běžně používaných formátů jako GIF, JPEG a PNG přicházejí na scénu i zcela nové technologie. Web dlouho postrádal standardizovaný formát pro přenos vektorové grafiky. W3C konsorcium nyní pracuje na vývoji formátu SVG (Scalable Vector Graphics), který je vektorový. To znamená, že mnoho druhů obrázků (zejména různá schémata a loga) se bude přenášet mnohem rychleji. Zajímavostí je, že formát SVG není binární, ale je to „obyčejný“ XML dokument.

Formátů založených na XML dnes vzniká mnoho. Některé z nich lze zobrazovat pomocí klasických stylů. Jiné jsou však tak složité nebo staví na odlišném formátovacím modelu, takže pro ně běžné stylové jazyky nestačí. Jako příklad mohou posloužit jazyky MathML (Mathematical Markup Language) a CML (Chemical Markup Language), které slouží k zápisu matematických a chemických vzorců. Je jasné, že tyto formáty asi nebudou podporovat všechny prohlížeče. Ale je více než pravděpodobné, že pomocí mechanismu, který bude připomínat dnešní plug-iny, půjde do prohlížeče přidat podporu pro různé další formáty založené na XML.

Důležitá bude i podpora odkazů – jazyka XLink. Možnosti tohoto jazyka v mnoha směrech převyšují možnosti odkazů tak, jak je známe dnes z webových prohlížečů.

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.

Požadavky na běžný XML prohlížeč jsou celkem jasné, jak tedy vypadá reálná podpora XML v dostupných prohlížečích. Oba dva přední výrobci prohlížečů ohlásili podporu XML v „pětkových“ verzích prohlížečů. V době psaní byl v této verzi k dispozici Internet Explorer. Netscape zatím ostrou verzi svého prohlížeče neuvolnil, k dispozici je pouze vývojová verze Mozilla.

Oba dva prohlížeče v sobě obsahují XML parser a umějí dokumenty formátovat pomocí kaskádových stylu (CSS). S dokumentem lze rovněž manipulovat pomocí klientských skriptů (JavaScript). Využívá se přitom standardní rozhraní DOM. Internet Explorer navíc podporuje i transformační část stylového jazyka XSL. V době uvedení IE 5.0 na trh bohužel nebylo ještě XSL standardizováno, a tak se XSL v Internet Exploreru v některých ohledech liší od standardu. Microsoft se však zavázal, že další verze prohlížečů budou v souladu s posledními standardy. A zdá se, že sliby plní. Od ledna je na stránkách Microsoftu k dispozici update IE, který podporu XSL uvede do souladu se standardem.

Ani jeden z prohlížečů zatím nepodporuje všechny možnosti rozšířené tvorby odkazů definované v jazyce XLink. Nabízené možnosti jsou v podstatě na úrovni jednoduchých odkazů, které známe z jazyka HTML.

Microsoft a Netscape však nejsou jediní hráči na poli prohlížečů. XML dokumenty zformátované pomocí kaskádových stylů by měla umět zobrazovat příští verze prohlížeče Opera. Žádný z výše zmíněných prohlížečů zatím neobsahuje funkce, které by usnadňovaly navigaci a hledání v dokumentu. Takové prohlížeče dnes nabízí výrobci tradičních SGML prohlížečů, kteří své programy rozšiřují o podporu XML, a mladé firmy, které se snaží zaplnit nově vzniklou mezeru na trhu. Zajímavým prohlížečem, který staví na základech Mozilly je DocZilla. Kromě XML zvládá i SGML a mnoho dalších hi-end technologiích.

K dispozici jsou i další zajímavé projekty, které jsou však zatím většinou ve stádiu beta verzí. Například prohlížeč s integrovaným editorem InDelv umí zobrazovat dokumenty pomocí XSL stylu, kde přímo interpretuje formátovací instrukce. Nepoužívá tedy XSL pouze pro transformaci do HTML. Navíc podporuje jazyky pro tvorbu odkazů XLink a XPointer. Podporu XLinku obsahuje i prohlížeč HyBrick, který dokumenty formátuje pomocí DSSSL stylu.

Pro samotné nasazení XML na Webu nemusí být špatná nebo neexistující podpora XML v prohlížeči překážkou. Není problém ještě na serveru převést XML dokument pomocí XSL stylu do HTML. Již dnes existují řešení, která umožní automatické zaslání XML dokumentu v podobě vhodné pro klienta – prohlížeči se zašle buď HTML, nebo XML kód, pro potřeby mobilních zařízení se dokument převede do WML nebo jiného úsporného a jednoduchého jazyka. Možnost snadné konverze informací v XML do formátů vhodných pro jednotlivá koncová zařízení bude stále důležitější.

© Jiří Kosek 2000-2001