Hlavní navigace

O XML, Zvonu a výhodách otevřených projektů

Miloslav Nič 2. 5. 2000

Během posledních měsíců se naplno rozběhla reklamní mašinérie velkých společností a ze zkratky XML se stalo typické marketingové slovo. V tomto článku se pokusím podat svůj vlastní pohled na celou záležitost a na vlastním příkladu ukázat jak hluboce může životní dráhu změnit taková hloupost, jako je formátovací jazyk.

Většina z vás již jistě o XML něco slyšela. Pokud ovšem někdo mluví o XML, může mít na mysli mnoho různých věcí.
Při nejjednodušším pohledu je XML standard W3C konsorcia, přijatý 10. února 1998 v jehož úvodu se píše:
„Rozšiřitelný značkovací jazyk (XML) je podmnožinou SGML, plně popsanou v tomto dokumentu. Jejím cílem je umožnit přenos a zpracování SGML dokumentů na webu stejně, jak je to nyní možné s HTML. XML byl vytvořen tak, aby byla zajištěna snadná implementace a vzájemná propojitelnost se SGML a HTML.“

SGML je obecný jazyk, s jehož pomocí je možné vytvářet různé formáty pro konkrétní aplikace. S pomocí SGML byl vytvořen i HTML, jazyk který během několika let ovládl Internet. HTML zvítězil svou jednoduchostí (bohužel, v současné době se už v souvislosti s HTML nedá o jednoduchosti hovořit, současný standard HTML 4.0 má rozsah Leninových spisů a svou čtivostí se od nich také neliší). Začínající autoři webovských stránek byli schopní napsat své první (a často i poslední) stránky během několika desítek minut a to rozhodlo o jeho úspěchu. Tehdy ovšem postačovalo k plné spokojenosti, aby stránka měla titulek a několik odstavců s hypertextovými odkazy. V druhé polovině devadesátých let však nároky na vzhled a funkčnost stránek prudce stoupaly a vstříc těmto požadavkům vyšli tvůrci majoritních prohlížečů a to klasickým způsobem, tedy tak, aby ten jejich browser uměl pokud možno co nejvíce blyštivých zbytečností, které lze co nejsnáze naprogramovat a pokud možno tak, aby konkurent měl smůlu. Výsledkem bylo peklo, které nyní očekává na každého webovského designera, který se snaží připravit stránky o vysoké úrovni čitelné na velké většině počítačů.

O samotném SGML ovšem nešlo nikdy říci, že by proslul svou jednoduchostí. Ačkoliv jeho kořeny sahají do počátků 70.let a jeho ISO norma je stará 15 let, jeho kompletní implementace jsou velkou vzácností. Systémy, které plně využívají předností SGML jsou využívány velkými nakladatelstvími a velkými průmyslovými podniky, které s jeho pomocí řeší problémy s uspořádáním velkých množství vzájemně propojených dat. Pro běžné použití je SGML příliš rozsáhlé, příliš náročné na úroveň a znalosti vývojářů a pokud nepatříte k příznivcům Emacsu (jako jsem k nim nepatřil já ještě před několika měsíci, ačkoliv nyní tvrdím, že je to neobyčejně uživatelsky příjemný program, jen čas pro ocenění jeho příjemnosti je příliš dlouhý pro řadu potenciálních uživatelů), tak cena nástrojů překračuje možnosti i movitějších kategorií obyvatelstva než jsou čeští vysokoškoláci.

Tvůrci XML si vzali z historie SGML poučení. Standard je mnohem jednodušší implementovat, takže dnes již existuje celá řada parserů, které je možné pro zpracování XML použít. Seznam základních pravidel, které se musí autor naučit, je velmi krátký. Standard sice obsahuje některé hůře pochopitelné úseky, ty však nejsou běžně využívány.
To vše je podstatné, nikoliv však nejdůležitější. Ještě podstatnější je, že se tento standardní způsob zápisu dat rozhodli využívat téměř všichni významní výrobci počítačových programů. Jednoduchý standard, který umožňuje editaci dat běžným textovým editorem, to představuje velmi dobrý základ toho, aby problémy, které tak dobře známe ze současnosti, jako je nekompatibilita formátů, se stali relativně snadno řešitelnými. I v případě, že se tvůrce programu rozhodne pro vlastní formát, je totiž mnohem jednodušší napsat převodník do jiného formátu, protože pravidla syntaxe jsou přesně dána a díky všestrannému použití XML existují obecné nástroje, které práci ulehčují.

V předchozím odstavci jsem psal a o standardu XML, tento pohled je však jen velmi úzký. Pokud se na zavedení XML podíváme s větším odstupem, vynoří se nám více souvislostí. Tak v první řadě standard XML není osamocený, ale zapadá do mozaiky řady dalších standardů, které využívají flexibilitu tohoto formátu tak, aby položily základy ke tvorbě páteře novodobé informační společnosti. Vznikají standardy umožňující kombinaci různých slovníků (XML namespaces), formátování a transformace jednotlivých dokumentů (XSL, CSS), komplexní sítě odkazů a propojení (XLink, XPointer), formát XML využívají i další standardy zaměřené na propojování informací (RDF). I sebelepší standard je však prakticky bezcenný, pokud není využíván. XML je již nyní implementován ve více produktech než řada mnohem starších standardů.

Zřejmě nejvšestrannějším příkladem uplatnění XML je prohlížeč Mozilla (pokud lze vůbec v tomto případě hovořit o klasickém prohlížeči, Mozilla je spíše vývojová platforma, ze které lze vytvořit mnoho různých věcí, mimo jiné i webovský prohlížeč). S pomocí XML je v Mozille určováno téměř vše, včetně vzhledu samotného prohlížeče. Tvůrci tohoto projektu totiž pochopili něco velmi důležitého, pochopili, že maličkosti často rozhodují o úspěchu více než dalekosáhlé koncepce a že základním předpokladem úspěchu je jednoduchost. Myslím, že platnost následujícího citátu lze těžko zpochybnit (na zdroj citace si momentálně nemohu vzpomenout, myslím, že nejsem sám, jehož mozek připomíná RAM, tedy paměť s náhodným přístupem): pokud existuje několik přístupů k danému problému, nevyhrává ten nejpropracovanější, ale ten, který lze nejsnáze pochopit.

Internet je toho jasným důkazem. Základní standardy Internetu, jako např. http jsou vlastně velmi jednoduché, vlastní text přenášených dat předchází hlavička, která čitelnou a srozumitelnou formou říká, co vlastně data představují. Nejedná se tedy zdánlivě o nic světoborného, hlavičky zabírají mnohem více místa, než by bylo nutné a jejich zpracování z hlediska procesoru vyžadují mnohem více času, než kdyby byla provedena jejich optimalizace. Jenže jednoduchost hlaviček usnadňuje programátorům práci, člověk nemusí být expertem s mnohaletými zkušenostmi, aby mohl na základě http pracovat.

A tady se opět dostáváme k přednostem XML. Tento formát je natolik jednoduchý, že je srozumitelný i lidem z jiných oborů, než jsou právě počítače. A to je podle mého názoru jeho největší výhoda.Počítačoví odborníci si často neuvědomují, že s počítači nepracují pouze oni nebo naopak uživatelé, pro které je i ukládání souborů takřka neřešitelný problém. Tisíce odborníků v jiných oblastech než jsou počítače (chemici, biologové ale třeba i pěstitelé kaktusů) mohou mít řadu nápadů, jak přednosti počítače využít ve své práci a mají dostatek znalostí na to, aby toho byly schopni. Potom ale vše záleží na nárocích, které jsou na ně při práci kladeny. Velmi často lze i velmi komplikované záležitosti zpřístupnit pokud je srozumitelnosti věnována náležitá péče a naopak i z jednoduchostí lze dělat velká věda, když se překryje odborným slangem a přehnaným pedantstvím. HTML je ve svém základě velmi jednoduchý jazyk, který umožnil publikovat řadu poznatků na Internetu v obecně čitelné formě. XML je velmi jednoduchý jazyk, jehož rozšíření nebrání žádné znalostní bariéry. V současnosti vzniká řada dalších standardů, z nichž některé jsou velmi rozumné, jiné však mnohem hůře pochopitelné. Jako příklad velmi rozumného přístupu bych uvedl standard XPath, který již brzy bude běžným pracovním nástrojem mnoha z vás. S jeho pomocí je možné adresovat konkrétní část XML dokumentu. Tak například „/paper/head/title“ určuje polohu elementu title uvnitř daného dokumentu. Jedná se o zápis, který není třeba uživatelům UNIXu dále představovat a na tomto základě jsou pak rozvíjeny složitější koncepty, které však již začátečník nemusí znát k tomu, aby mohl začít pracovat.

Na druhém konci stojí standardy jako XSchema.Tento standard si klade za cíl velmi významný úkol, umožnit podrobnou kontrolu obsahu jednotlivých XML dokumentů, tedy jestli na daném místě je opravdu číslo a ne písmeno, jestli něco nechybí nebo nepřebývá. Tento standard je naprosto klíčový pro oblasti jako elektronická komerce, bohužel, je však velmi složitý a různorodý. Jasně z něj vyplývá, že se na jeho přípravě podílelo několik týmů bez jasné koncepce, a že se jednalo z velké části o programátory, zvyklé na zápisy, které ne vždy vynikají logikou. Jeho složitost dává triumfy do rukou velkých korporací, které mohou zaplatit odborníky, o jeho použitelnosti pro běžnou práci však upřímně pochybuji.
Myslím, že není pochyb o tom, že XML spolu s dalšími standardy zcela změní vzhled Internetu a náš pohled na informace a jelikož informace jsou dnes základním stavebním kamenem moderní společnosti, můžeme bez nadsázky říci, že změní naše životy.

V mém případě se tak již stalo. Je tomu právě rok, když jsem se rozvaloval v posteli po svatbě mé sestřenice a čekal na probuzení dcerky. Jelikož jsem byl pln obdivu (který mi zůstal) ke geniálnosti našich politiků, kteří dokáží vytvořit vládní opozici a opoziční vládu tak šikovně, že jim to většina národa opět zbaští, přemýšlel jsem, jestli by jim to nešlo trochu do budoucna znepříjemnit. Informace jsou největším nepřítelem podvodů všeho druhu, od politických praktik po zázračné léky, které léčí nejlépe v případě, že obsahují pouze dokonale čistou vodu (pokud někdo trochu rozumíte chemii, zkuste si přepočítat některá doporučená ředění homeopatických léků). Dobře informovaný člověk je hůře ovladatelný a jelikož já sám nejsem právě stádní typ, tak mne představa společnosti plná individualit, kteří vědí co chtějí a nenechají se opít každou pitomostí neděsí. (V žádném případě tohle neberte jako výzvu k anarchii, anarchisté využívají špatné informovanosti stejně jako politici).

Jedna věc je samozřejmě něco chtít, druhá je mít reálnou možnost něco udělat. V té době jsem si pro zábavu listoval různými standardy Internetu (o mém duševním zdraví má řada lidí zřejmě oprávněně nelichotivé představy) a dění okolo XML mě připadalo velmi zajímavé. XML umožňuje rozčlenit informace pevně daným způsobem, a takto zpracované informace je možné lépe propojovat, doplňovat a znovu využívat. Pokud jej mají lidé ale používat, musí nejdříve pochopit, v čem je jejich přednost a naučit se používat jeho možností.

Ačkoliv mne osobně více baví psát o vědě a hledat závislosti mezi různými přírodními jevy, soustředil jsem se na psaní různých tutoriálů z oblasti XML a Internetu. Mojí snahou bylo a je ukázat, že řada věcí je pochopitelných nejen pro počítačové odborníky a že člověk „zvenčí“ může přispět významným způsobem i do oblastí, do kterých vlastně vůbec nepatří. Myslím, že velmi vřelá odezva, které se Zvonu v posledních měsících dostalo (ve všední den Zvon zaznamenává 1000–1500 návštěvníků z celého světa a jen tutoriál XSLT si stáhlo k sobě domů již několik tisíc lidí). Byl bych rád, aby se ze Zvonu nebo něčeho podobného stala časem platforma, která přenese ducha kooperace Linuxu, Apache a jiných otevřených projektů do jiných oblastí lidské činnosti. Celosvětová spolupráce v podobném duchu není možná bez plného využití výpočetní techniky a Internetu a programátoři mají přece jen k počítačům blíže než třeba historici ale i biologové nebo lékaři (i když u některých programátorů si tím podle kvality produktů nejsem zcela jistý).

Dostáváme se tedy k něčemu, o čem již velmi dlouho přemýšlím. Co vlastně člověka vede k tomu, aby zdánlivě nezištně pomáhal druhým. Alespoň má zkušenost naznačuje, že altruistické chování se může jevit při pohledu zpět jako velmi výhodná sobecká strategie.

Ještě na konci minulého roku jsem byl přesvědčen o tom, že do důchodu půjdu jako vysokoškolský pedagog (další důkaz duševní nedostatečnosti, ale mě učení skutečně baví, i když někdy je to při průměrné aktivitě českých studentů velmi vyčerpávající úkol. Stále více začínám rozumět paní profesorce Fišerové z dobrušského gymnázia, která ovlivnila mé životní postoje více než celé tehdejší vědecké marxistické školství, a která tvrdila, že stokrát raději má před sebou třídu divokých tvrdohlavců než poslušné putičky). Na počátku tohoto roku jsem ale dostal nabídku, kterou nešlo odmítnout a stal jsem se jedním ze členů týmu, který zakládá firmu IDOOX (ostatně, pokud je někdo z vás prvotřídní linuxový administrátor, tak se ozvěte, stále se nám nepodařilo někoho takového do týmu sehnat). I když nepopírám, že jsem si tímto přestupem finančně velmi výrazně pomohl, nebyl to v žádném případě důvod, který mě k tomuto kroku vedl (i když to mi v Čechách stejně nikdo neuvěří). Mám nyní možnost pracovat na tom, čemu pevně věřím a ve firmě, která si nestěžuje na malé české poměry a chce být konkurenceschopná v světovém měřítku. Přitom mám skvělé podmínky pro to, abych zdokonaloval své vědomosti v oblastech, které jak doufám využiji ve vědě, která mi zůstala velkým koníčkem.

Můj v současnosti probíhající přestup samozřejmě přibrzdil rozvoj Zvonu, v žádném případě to však neznamená jeho konec. Naopak, získávané zkušenosti se budou ještě velmi hodit a doufám, že během několika týdnů se Zvon opět rozjede na plné obrátky. Béďa Košata, další velmi aktivní člen Zvonu (viz HOWTO – XML pod Linuxem a některé překlady) se tou dobou stane inženýrem, takže jeho čas hodlám před nástupem na doktorantské studium řádně využít.

Kdybych měl tedy shrnout předchozí směsici faktů a osobních blábolů a snažil se vydolovat nějaké poučení, vychází mi asi toto. Přispívat do otevřeného software nebo jiných společenských aktivit není marné snílkovství a bláznovství, na které nemá rozumný člověk čas. I většina „praktických“ lidí si vnitřně přizná, že je to příjemný pocit, být něčím užitečný, pokud se vám něco povede následuje samozřejmě uznání druhých (a marnivost je velmi stará a silná lidská vlastnost). Pokud se vám podaří zaujmout, navážete řadu kontaktů s lidmi, kterých si vážíte a o kterých byste jinak pouze četli v knížkách a zpravodajstvích (a ve věku Internetu vás hranice nesvazují) a představuje to i neocenitelnou reklamu při hledání zaměstnání. Pokud pracujete pouze pro svého zaměstnavatele, tak ten vám může dát dobrý posudek, nemůžete však většinou ukázat příklad konkrétní práce. Několik hodin týdně, které člověk tzv. obětuje práci pro „společnou věc“ se může nakonec ukázat být mnohem užitečnější pro vaši budoucnost než usilovné budování vlastní kariéry bez rozhlížení vlevo vpravo.

Našli jste v článku chybu?

2. 5. 2000 21:49

Miroslav Skopeček (neregistrovaný)

Možná, že su neznaboh, ale jako správce a programátor jsem nucen přiznat, že XML má svoje výhody. Ale až budete nuceni, spracovávat řádově milióny dokumentů v desítkách formátů zjistíte, že implementace modelu XML je několika násobně komplikovanější a pomalejší než použití klasických databázových servů (ale ta cena). Je to sice proti tomuto článku, ale ze zkušenosti, vím, že správa je 'jednodušší' a je narozdíl od XML absolutně blbuvzdorná.

Lupa.cz: Proč firmy málo chrání data? Chovají se logicky

Proč firmy málo chrání data? Chovají se logicky

Podnikatel.cz: Přehledná titulka, průvodci, responzivita

Přehledná titulka, průvodci, responzivita

Podnikatel.cz: 1. den EET? Problémy s pokladnami

1. den EET? Problémy s pokladnami

Podnikatel.cz: Vrátí zvýhodnění, ale výrazně omezí paušály

Vrátí zvýhodnění, ale výrazně omezí paušály

Měšec.cz: Zdravotní a sociální pojištění 2017: Připlatíte

Zdravotní a sociální pojištění 2017: Připlatíte

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

120na80.cz: Pánové, pečujte o svoje přirození a prostatu

Pánové, pečujte o svoje přirození a prostatu

Měšec.cz: Air Bank zruší TOP3 garanci a zdražuje kurzy

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

Vitalia.cz: Paštiky plné masa ho zatím neuživí

Paštiky plné masa ho zatím neuživí

Podnikatel.cz: Na poslední chvíli šokuje výjimkami v EET

Na poslední chvíli šokuje výjimkami v EET

120na80.cz: Rakovina oka. Jak ji poznáte?

Rakovina oka. Jak ji poznáte?

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

Jak vymáhat výživné zadarmo?

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

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

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

Mondelez stahuje rizikovou čokoládu Milka

Lupa.cz: Seznam mění vedení. Pavel Zima v čele končí

Seznam mění vedení. Pavel Zima v čele končí

DigiZone.cz: Sony KD-55XD8005 s Android 6.0

Sony KD-55XD8005 s Android 6.0

Podnikatel.cz: Víme první výsledky doby odezvy #EET

Víme první výsledky doby odezvy #EET

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

Podnikatel.cz: Chaos u EET pokračuje. Jsou tu další návrhy

Chaos u EET pokračuje. Jsou tu další návrhy

Podnikatel.cz: Babiš: E-shopy z EET možná vyjmeme

Babiš: E-shopy z EET možná vyjmeme