Jazyk, který v budoucnosti výrazně ovlivní naše životy

V letošním roce se do povědomí širší veřejnosti dostalo další slovo ze světa Internetu, XML (eXtended Markup Langua...


V letošním roce se do povědomí širší veřejnosti dostalo další slovo ze světa
Internetu, XML (eXtended Markup Language). Tato zkratka označuje univerzální
standard pro strukturované dokumenty a data. V letošním roce řada firem
oznámila jeho podporu ve svých produktech. Očekává se, že příští rok přinese
velký skok v rozvoji Internetu a jednou z hlavních hybných sil tohoto rozvoje
bude právě XML.
Mezi nejvýznamnější firmy, které podpoří XML ve svých produktech, patří
například IBM (http://www.ibm.com/developer/xml/), Oracle
(http://www.oracle.com/ xml/), Netscape (http://www.mozil
la.org/rdf/doc/xml.html) a Microsoft (http://msdn.microsoft.com/
xml/default.asp).
V tomto článku se nechci dopodrobna zaobírat problematikou XML, čtenář nalezne
dostatek informací na Internetu (např. http://www.w3.org, http://www.oa
sis-open.org), v českém jazyce je dostupná série článků J. Koska pro
Computerworld (http://www. kosek.cz) a na adrese http://zvon.
vscht.cz/ZvonHTML/Zvon/zvonTrans lations_cs.html překlad několika
nejpopulárnějších textů o XML. Zde bych se s vámi rád podělil o své zkušenosti
a pokusil se na několika příkladech demonstrovat sílu XML a ukázat, že již dnes
je možné s úspěchem aplikovat tuto novou technologii v každodenní praxi. V
následujícím textu jsem se dopustil mnohých zjednodušení, která ovšem bylo
nutné vzhledem k rozsahu článku uplatnit.
Základy XML
V letošním roce vznikla skupina Zvon (http://zvon.vscht.cz/) jako základna pro
spolupráci lidí s různým profesním zaměřením, které však spojuje zájem o
problematiku sdílení informací. Rozhodli jsme se, že domovské stránky této
skupiny poslouží jako testovací základna pro ověření možností XML a již tento
první projekt předčil veškerá očekávání.
Zatímco v blízké budoucnosti bude XML standardním formátem nové generace
prohlížečů, v současné době je implementován pouze experimentálně. Bylo tedy
jasné, že ke čtenářům se musejí dokumenty dostat ve formátu HTML. Postup,
kterým jsou tyto stránky generovány, ukazuje následující příklad. Autor stránky
vytvoří zdrojový dokument v XML:

>


Miloslav

Nič
Překlady



Katedrála a tržiště
Často kladené otázky o XML



Tento zdrojový text demonstruje jednu z velkých výhod XML. Formát je čitelný a
srozumitelný bez použití jakéhokoliv softwaru. Jeho pravidla jsou navíc velmi
jednoduchá. Všechny instrukce se nacházejí v závorkách , první slovo v této
závorce představuje název daného prvku, ostatní slova se vyskytují v párech
atribut="hodnota". Každý prvek musí být ukončen konstrukcí: a
prvky se nesmějí překrývat. To znamená, že pokud některý prvek začíná uvnitř
jiného prvku, tak tam musí i končit. Tento základ postačuje k tvorbě vašich
prvních XML dokumentů, a pokud se doučíte několika dalším podrobnostem, můžete
tvrdit, že XML na 90 % ovládáte.
Pokud se od těchto pravidel odchýlíte, software, který tento text zpracovává,
ohlásí chybu a ukončí činnost. Tato podmínka XML výrazně odlišuje od současného
využití HTML, kde se prohlížeče snaží většinu chyb ignorovat a domyslet si, co
vlastně chtěl autor říci. Tento přístup je sice pohodlný pro ledabylé autory,
přináší však velké nevýhody. Autor totiž nikdy nemůže vědět, jakým způsobem se
aplikace pokusí chybu napravit. V XML strávíte více času doladěním instrukcí,
jakmile však uspějete, máte jistotu, že je vše v pořádku.
A XML nabízí mnohem víc. Můžete využít tzv. Definici typu dokumentů, která je v
XML dokumentu specifikována řádkem začínajícím můžete přesně stanovit, jaké názvy prvků a atributů jsou přípustné a v jakém
kontextu. Je tak možné automaticky odhalit překlepy a různá opomenutí. Pokud si
ji zvyknete používat, budete bohatě odměněni. Bez její pomoci je prakticky
vyloučeno odhalit špatně umístěný prvek v tisíciřádkovém dokumentu, zatímco s
ní je to otázkou několika sekund.
Vytvoření XML dokumentu je ovšem pouze prvním krokem. Musíte se dále
rozhodnout, jakým způsobem jej chcete zpracovat. Existuje řada možností, jak
využít pevnou strukturu XML dokumentů. Díky této struktuře má programátor velmi
usnadněnou úlohu v jakémkoliv prostředí. Pokud využije i validaci, má jistotu,
že všechny prvky jsou na svém místě a programy nemusejí obsahovat tolik kódu
ověřujícího vstupní data, což je úloha velmi obtížná.
Styl dokumentu
Na rozdíl od HTML, XML neobsahuje žádné instrukce, které naznačují, jakým
způsobem daný dokument zobrazit. Pokud tedy prohlížeč obdrží XML dokument, musí
zároveň dostat i tabulku stylů, která mu sdělí potřebné údaje.
Autoři HTML již několik let využívají CSS (Cascading Style Sheets kaskádové
tabulky stylů), které umožňují oddělit formátovací instrukce od vlastních dat.
CSS bude spolupracovat také s XML dokumenty a pro autory HTML bude představovat
most, který spojuje oba světy. S pomocí CSS můžeme například prohlížeči určit,
aby text ohraničený tagy

....

byl zobrazen červeně, tučným písmem a
2 cm od levého okraje. Přesto jsou však jejich možnosti omezené. Není možné s
jejich pomocí zobrazit daný text dvakrát, upravovat jej na základě výpočtů nebo
generovat text nový.
Všechny tyto možnosti přináší až XSL (Extensible Stylesheet Language
rozšiřitelný jazyk tabulek stylů). Tento jazyk zaujme v blízké budoucnosti
velmi významnou úlohu. Podporu XSL přislíbily společnosti Netscape a Microsoft
ve svých prohlížečích a vše nasvědčuje tomu, že tentokrát bude tato podpora
skutečně dotažena do konce.
Již v současné době musí autor webovských aplikací brát v úvahu, že si je
čtenář prohlíží na monitorech velmi rozdílné úrovně a budoucnost bude ještě
mnohem složitější. Stále více uživatelů používá pro přístup na Internet mobilní
telefony, palmtopy a různá informační zařízení. Pokud by každá aplikace
vyžadovala svůj vlastní typ HTML dokumentů, většina autorů by zřejmě brzy
skončila v psychiatrické léčebně. Kombinace XML-XSL-CSS přináší mnohem
elegantnější řešení. Všechny dokumenty jsou uloženy ve formátu XML a o jejich
zobrazení rozhoduje doprovodný XSL nebo CSS soubor. Jelikož tisíce dokumentů
mohou splňovat podmínky jediné XSL, duševní zdraví autorů není ohroženo.
Existují rovněž programy, které umožňují off-line převod dokumentů z XML do
žádaného formátu, specifikovaného s pomocí XSL. Zvon využívá program XT
(http://www. jclark.com/xml/xt.
html) pro převod dokumentů, takže čtenáři již dostávají standardní HTML
dokumenty. Zdůrazňuji slovo standardní. Jelikož jsou tyto dokumenty generovány
automaticky a XSL obsahuje implicitně řadu kontrolních mechanismů, splňují tyto
dokumenty skutečně HTML standard.
Další výhody XML
V tomto článku není místo na na podrobnější diskuzi XSL, ale neodpustím si
alespoň jednu připomínku jeho možností, kterou ocení každý, kdo někdy zápasil s
kódováním češtiny na různých počítačích. V XSL stačí vsunout instrukci
, a výstupní soubor bude
automaticky překódován do zvoleného kódování (v tomto případě UTF-8) a do
hlavičky HTML dokumentu bude vsunut řádek s informacemi o tomto kódování, takže
váš HTML prohlížeč ví, jakým způsobem stránku zobrazit.
Nasazení XML na stránkách Zvonu přineslo řadu výhod, jejichž hlubší diskuze by
vyžadovala samostatný článek. Stránky jsou generovány zároveň v anglické a
české verzi z jediného zdroje, na každé stránce může čtenář přepínat mezi oběma
verzemi, každá stránka obsahuje odkaz na zdrojový XML, na DTD, podle kterého se
tento zdroj řídil, a na použité tabulky XSL. Všechny tyto možnosti jsou přitom
obsaženy v generovaných HTML dokumentech. Nepotřebujete tedy žádné funkce na
straně serveru, všechny interní odkazy jsou funkční i při stažení všech stránek
na osobní počítač při práci off-line. Zvon nabízí ke stažení veškeré své
materiály včetně XML zdrojů na adrese
http://zvon.vscht.cz/ZvonHTML/Downloads/listOfPrograms_cs.html. Pokud si
stáhnete zálohovací soubor celého Zvonu, vše bude pracovat a můžete
experimentovat podle libosti.
Jedním z cílů Zvonu je publikovat překlady významných textů
(http://zvon.vscht.cz/ZvonHT ML/Zvon/zvonTranslations_cs.html), k nimž se
podaří získat povolení autora, a tak je zpřístupnit čtenářům s nedostatečnými
jazykovými znalostmi. Bylo nutné vytvořit mechanismus, který by usnadnil život
překladateli a zároveň vyšel co nejvíce vstříc čtenářům.
Odstavec je základní překladatelskou jednotkou. Překlady, které převádějí
originál větu po větě, se vyznačují kostrbatostí, která velmi negativně
ovlivňuje výslednou kvalitu. XML formát použitý pro překlady tento fakt
zohledňuje. Ke každému odstavci výchozího textu byl přidán prvek trans, který
obsahuje překlad odstavce včetně eventuálních vložených prvků. Zdrojový soubor
může například obsahovat následující konstrukci:

Welcome, WorldVí tej, Světe


Zdrojový text s překladem je rozdělen na jednotlivé kapitoly, na které jsou pak
aplikovány tabulky XSL. Výsledkem této transformace jsou HTML soubory, které
lze prohlížet i zastaralými prohlížeči. Čtenář si může zobrazit nejen překlad,
ale i originál, nebo současně překlad s originálem. Pokud není překlad
dokončen, nepřeložené odstavce se zobrazí v originálním jazyce. Prvním
překladem se stal nesmírně významný článek Erika Raymonda Katedrála a tržiště,
který velmi ovlivnil rozhodnutí společnosti Netscape uvolnit zdrojový kód
jejich prohlížeče.
Struktura XML
Jak dokazuje i tento příklad, struktuře XML dokumentů je třeba věnovat
maximální pozornost. Je třeba nalézt kompromis mezi snahou zbytečně nezatěžovat
autory dokumentů a zároveň podchycením všech důležitých informací. Na
specialisty, kteří toto umění zvládnou, čeká velmi slibná budoucnost.
Velmi důležité místo v působení Zvonu zaujímá příprava různých učebních
materiálů. Dosud byly publikovány tutorialy XSL, CSS a Perlu, které vycházejí z
předností XML. XSL tutorial je v současnosti nejlépe propracován, náš přístup k
obdobným textům popíši na jeho příkladě.
Základním stavebním kamenem XSL tutorialu jsou příklady. Čtenář si zvolí
příklad, který ho zajímá, a na obrazovce se objeví jeho popis, XML zdrojový
soubor, výběr několika XSL tabulek, s jejichž pomocí byl XML zdroj
transformován, a příslušné výsledky. Uživatel si tedy může vytvořit velmi
rychle představu o tom, jaký význam mají použité funkce a pravidla a jaký vliv
mají na konečný výsledek. Učební materiál ovšem nelze vytvořit z izolovaných
příkladů. Jednotlivé příklady je nutné propojit do větších celků, velmi
důležité jsou rovněž rejstříky. To vše zdánlivě klade velké nároky na autory
příkladů, XML v kombinaci s Perlem a XSL však umožnila velmi elegantní řešení.
Každý XML zdroj příkladu začíná řádkou

E-mailová adresa je použita jako jednoznačný identifikátor autora. Při tvorbě
materiálů, na kterých může spolupracovat potenciálně neomezený počet autorů, je
velmi důležité, aby autor každého příspěvku byl spolehlivě identifikován.
Přispěvatelé tak mohou získat kredit, ale zároveň i převzít odpovědnost za
svoji práci.
Další řádka obsahuje klíčová slova, která se objeví v rejstříku:
Zdrojový text pro XML a XSL je obsažen v prvcích xmlSource a xslSource:
....
...
...
S pomocí Perlu jsou z těchto prvků generovány vlastní soubory (v tomto případě
id1.xml, id2.xsl a id3.xsl) a s těmito soubory je pak vyvolán program XT
(www.jclark.com), který provede příslušné transformace. V tutorialu je tak
zaručeno, že příklady neobsahují žádné překlepy nebo jiné chyby. Pokud zdrojový
soubor není bezchybný, ke generaci příkladu nedojde.
Z jednotlivých příkladů je možné vytvářet celé knihy, vše opět s pomocí XML:

Introduction to XSL

Čísla v atributu pages identifikují příklady, name obsahuje názvy kapitol,
title název knihy. Tyto údaje postačují na vytvoření obsahu, navigačních
prostředků a dalších funkcí.
Podle stejné strategie byly připraveny učební materiály o CSS a Perlu, další,
nejen počítačové, se připravují.
Tyto tutoriály demonstrují velký význam pevné struktury dat, kterou XML
přináší. Takto strukturovaná data usnadňují další zpracování informací. Protože
XML obsahuje vlastní kontrolní mechanismy, programátoři mají ulehčenou úlohu.
Vývojový cyklus softwaru se tak výrazně urychluje a vzniklé programy obsahují
méně chyb.
Budoucnost XML a XSL
XML a XSL bezpochyby výrazně ovlivní budoucnost informačních technologií.
X-vlak se teprve rozjíždí, zatím je poměrně snadné naskočit a prosadit se.
Doufám, že vás tento článek přesvědčil o tom, že XML a XSL dosáhly stadia, ve
kterém se už vyplatí jejich použití minimálně otestovat. Za rok nebo dva již
bude vše snazší, přijdete však o výhody průkopníků.
Experimentování přitom není omezeno finančními nároky. Všechen potřebný
software je dostupný zadarmo a navíc neklade žádné výrazné nároky na výpočetní
techniku (po krátký čas byl Zvon vyvíjen na počítači vybaveném procesorem
Pentium 166 MHz se 32 MB RAM).
9 3438 / pen









Komentáře
K tomuto článku není připojena žádná diskuze, nebo byla zakázána.