K čemu můžeme XML použít již dnes

I když je technologie XML poměrně nová, je už dnes k dispozici mnoho softwarových balíků, které umožňují s XML pracovat. Mnoho z těchto programů je navíc k dispozici zdarma. V příštím čísle SWN se proto podrobněji podíváme na jednotlivé druhy aplikací, které XML podporují, a na jejich typické zástupce.

Případů, kdy je nasazení XML vhodné, existuje velké množství. Pro lepší ilustraci se teď podíváme na některé typické příklady využití XML.

B2B – business-to-business aplikace

Zkratka B2B je dnes v módě. V praxi se však nejedná o nic jiného, než o výměnu informací mezi obchodními partnery v elektronickém formátu. Jako vhodný formát pro přenos dat se jeví právě jazyk XML, který je velice jednoduchý a podporovaný na mnoha počítačových platformách. Pomocí XML si firmy mohou vyměňovat objednávky, faktury a mnoho dalších údajů.

To bylo možné již dříve díky EDI (Electronic Data Interchange). Datové formáty používané v EDI byly však dost složité a jejich implementace byla poměrně nákladná. Navíc jednotlivé EDI systémy nebyly mezi sebou kompatibilní, a tak bylo často potřeba informační systém speciálně upravit pro každého dalšího obchodního partnera, se kterým jsme chtěli komunikovat elektronicky.

Použití XML však není omezeno jen na výměnu dat mezi obchodními partnery. V USA lze již pomocí XML posílat čtvrtletí finanční výkazy EDGAR pro úřad U. S. Securities. Dovedu si představit i formát, který umožní zasílání daňových přiznání v elektronické podobě. Použití XML pro tyto účely se jeví jako zcela ideální, protože přidání podpory tohoto formátu do stávajících účetních a ekonomických systémů je velice jednoduché.

Asi největší překážkou, která dnes brání masovému nasazení XML a dalších technologií pro důležitou obchodní a správní komunikaci, je neexistence zákona o digitálním podpisu, který by elektronicky činěné právní úkony postavil na roveň s klasicky podepsanými papírovými lejstry. Bohužel Zemanova vláda v prosinci moudře rozhodla o tom, že digitální podpis ještě nepotřebujeme.

„Inteligentní“ webové stránky

S nasazením jazyka XML se počítá především na Webu. Možnost definice vlastních značek, které přesně vyznačí význam jednotlivých částí stránky bude mít pozitivní efekt na přesnost a rychlost vyhledávání informací.

V zásadě lze XML pro tvorbu stránek využít dvěma způsoby. První, více revoluční přístup, počítá s tím, že stránky budou používat zcela vlastní sady značek. Pro mnoho aplikací je však mnohem jednodušší používat již zažité HTML značky a pouze je vhodně doplnit o pár dalších, kterými se označí části stránky důležité pro vyhledávání. Aby bylo rozšiřování HTML značek snadné, pracuje konsorcium W3C na převodu jazyka HTML do XML. Prvním výsledkem je jazyk XHTML 1.0, který odpovídá HTML 4.0. Drobné rozdíly mezi XHTML a HTML dokumenty jsou dány tím, že stránky v XHTML jsou zapisovány v souladu s XML.

Nyní se pracuje na tom, aby se velké množství elementů, které XHTML (HTML 4.0) obsahuje, rozdělilo do několika nezávislých modulů. Budeme pak mít modul pro formátování textu, pro tvorbu odkazů, pro tabulky, pro výrobu formulářů nebo pro zařazování obrázků. Nebude problém vytvořit si vlastní modul (tedy sadu značek), které budeme na našich stránkách používat např. pro označení důležitých informací o nabídce naší firmy. Tyto informace pak mohou využít inteligentní prohledávací služby.

W3C jde ve svých úvahách ještě dál. Každý XHTML dokument bude obsahovat i svůj profil – seznam modulů, které používá, společně se seznamem grafických a dalších formátů, které se používají pro vložené objekty (jako např. obrázky). Každý prohlížeč pak bude společně s požadavkem na stránku posílat i svůj profil – informaci o tom, co dané zařízení zvládne. Pokud bude stránka dostupná ve více variantách, server vybere tu s odpovídajícím profilem. V případě potřeby může server automaticky stránku zkonvertovat pro profil klienta. Tento poměrně obecný model umožní vývoj stránek pro mnoho zařízení s rozdílnými schopnostmi – PC, mobilní telefony, WebTV, organizéry nebo třeba herní konzole. Dnes nám to může připadat jako futuristická vize, ale podle mnoha výzkumů a studií již za pár let bude většina uživatelů přistupovat k Internetu právě pomocí různých speciálních zařízení. Klasická PC budou v menšině.

Moderní mobilní telefony podporují protokol WAP, který je obdobou služby World-Wide Web právě pro jednoduchá bezdrátová zařízení. Pro tvorbu stránek ve WAPu se používá jazyk WML (Wireless Markup Language), který je založen na XML a je definován pomocí DTD.

Elektronické publikování

Když vynalezl Guttenberg knihtisk, byla to skutečná revoluce v šíření informací. Do té doby se všechny knihy musely rozmnožovat ručním opisováním. Guttenbergův vynález umožnil jednou připravit předlohu stránky a z ní tiskem pořídit mnoho kopií. Tento princip využíváme i dnes – z jedné předlohy vyrobíme mnoho kopií. Celý postup je sice odlišný, pro přípravu textu a jeho zlom se používají počítače, ale princip zůstal stejný.

Papír však dnes není jediné cílové médium. Jak jsme se již zmínili, často potřebujeme jeden dokument v několika různých formátech – jako tištěnou knihu, sadu provázaných webových stránek nebo hypertextovou příručku na CD-ROMu. Stojíme před novým problémem – už nestačí pohodlně vytvořit text a ten rozmnožit v libovolném počtu výtisků. My navíc potřebujme jeden text publikovat v několika naprosto odlišných formátech.

Dnešní textové editory nám pomohou s přípravou dokumentů, které se mají tisknout. Z vlastní zkušenosti však víte, že HTML stránky vytvořené pomocí běžných textových editorů z dlouhých dokumentů nejsou zrovna to pravé ořechové. Několika set stránkovou knihu prostě nemůžeme dát na Web jako jednu dlouhou stránku. O možnosti vytvoření dalších formátů vhodných např. pro publikování na CD-ROMu nebo jako on-line nápověda v aplikacích ani nemluvě.

Nové možnosti do této oblasti (někdy poněkud vágně nazývané elektronické publikování) přinášejí právě technologie SGML a XML. Pokud máme naše dokumenty uloženy v XML, můžeme je pomocí stylů velice snadno zcela automatizovaně konvertovat do mnoha dalších formátů. Stylové jazyky jako DSSSL a XSL jsou velice flexibilní. Jednou proto můžeme z dokumentu vygenerovat PDF soubor vhodný pro DTP, podruhé zase sadu HTML stránek, kde co jedna stránka, to jedna kapitola dokumentu.

XML se proto používá zejména při tvorbě různé technické dokumentace, kdy lze z jednoho zdroje generovat mnoho formátů podle potřeb jednotlivých uživatelů. Řešení založená na SGML používaly zejména velké firmy, protože byla poměrně nákladná. Použití XML však vše zjednodušuje, a vyplatí se v podstatě komukoliv. Například celou tuto sérii článků o XML pro SWN píší v XML. Pro potřeby redakce ji zkonvertuji do formátu RTF. Nějaký čas po otištění v časopise zveřejním články na mých webových stránkách. Konverze do HTML opět proběhne zcela automaticky pomocí stylu. A konečně po skončení seriálu jej celý naleznete na redakčním CD-ROMu v podobě jednoho kompaktního souboru HTML Help, který se dnes používá v mnoha nových windowsových aplikacích. Kdybych toho všeho chtěl dosáhnout pomocí nějakého běžného editoru z kancelářského balíku, asi bych se dost zapotil.

Jen pro ilustraci, jak rozdílní mohou být jednotliví uživatelé značkovacích jazyků určených pro tvorbu dokumentace: dodavatelé amerického ministerstva obrany, výrobce letadel Boeing, vývojové týmy Linuxu, FreeBSD, PHP a mnoha dalších open-source projektů. Pokud budete chtít vydat encyklopedii na CD-ROMu a zároveň jako sérii tištěných svazků pro bibliofily, těžko pro to naleznete lepší technologii než XML.

Univerzální datový formát

Pokud jste někdy psali nějaký větší program, brzy jste asi zjistili, že je potřeba, aby si program někde pamatoval nastavení svých parametrů. Klasicky se parametry ukládají do různých textových nebo INI souborů, do registrů Windows apod. Pro ukládaní složitějších parametrů se však tyto způsoby nehodí a navíc je poměrně komplikované psát program, který bude načítat jednotlivé parametry z konfiguračního souboru. Pokud by si program ukládal data v XML, mohl by je programátor velice snadno číst pomocí některé z knihoven pro práci s XML. Do souboru by šlo uložit i složité struktury a navíc by byl soubor pořád jen textovým souborem, kterému by zkušený uživatel rozuměl a na jehož úpravy by si vystačil s jednoduchým editorem (už teď slyším, jak všichni administrátoři volají hurá ;–).

Pokud by se navíc výrobci jednotlivých druhů aplikací shodli na společných formátech, těžili by z toho především uživatelé. Kdyby například pro ukládání záložek používal Internet Explorer i Netscape Navigator stejný formát založený na XML, byl by konec nepříjemnostem s konverzí záložek při přechodu z jednoho typu prohlížeče na druhý. Navíc by šlo adresy našich oblíbených stránek velice snadno poslat komukoliv e-mailem – všem by bylo jedno, jaký kdo používá prohlížeč.

Pokud mají informační a komunikační systémy fungovat efektivně, je potřeba, aby se používaly jednotné formáty dat. Bez nich se spousta prostředků zbytečně vyplýtvá na implementaci různých pomocných utilit a modulů, které umožní spolupráci softwaru od různých výrobců. Dnes si je toho vědoma většina komerčních firem i akademických institucí. Profesní sdružení proto vytvářejí formáty založené na XML, které vyhovují jejich potřebám.

© Jiří Kosek 2000-2001