Stále více vidím XML jako webový jazyk budoucnosti. Pravda, že XML není žádná novinka, ale používaný moc není.

Proč XML na webu ?

Protože by se daly hledat informace s tou nejpřesnější relevancí, tedy výsledky dokonale šité na míru našemu dotazu. Je pravda, že by to pro tvůrce webů znamenalo zase nějaká ty data ku pamatování navíc, ale není problém takové věci kopírovat z nějaké databáze.

Informací je na internetu každou hodinou rapidně více a je třeba je začít třídit, jinak i ty kvalitní zmizí v davu. Při plošném užívání XML by těch výhod bylo daleké víc, ne jenom relevantní výsledky ve vyhledávačích. Jen se stačí trochu zamyslet. Momentálně jsou všechny data na internetu publikované naprosto chaoticky. Člověk si je může přečíst, vytisknout a to je víceméně všechno. Je třeba, aby se daly strojově třídit, zkrátka s nimi pracovat. To by se dalo právě tehdy, pokud by se weby dělaly v XML, dle nějakých všeobecně známých norem.

Je vidět, že se k tomu webdesignéři přiklánějí, protože obyčejné HTML defakto bez pravidel dneska už skoro nikdo nepoužívá. Já jsem pravidla konsorcia W3C dřív bral jako omezení mé tvořivé svobody, ale teď vím, že díky pravidlům se dají data strojově zpracovávat. Nicméně současné XHTML zatím neobsahuje značky, které by vypovídaly o bližším charakteru dat. Pořád jsou používané téměř výhradně jen pro vizualizaci a uspořádání. Od toho tu ale máme CSS, tudíž je zbytečné značkami určovat vzhled, když je můžeme použít pro určení charakteru dat.

Příklad pro přisvětlení

Zkrátka by se vytvořily značky pro všechno :o). Ceny v internetových obchodech by se vkládali mezi značky <cena></cena>, PC myši do <pc_mysi></pc_mysi> apod. Nejde ale jenom o internetové obchody. Tagy by se udělaly pro komentáře (s nepovinným atributem kvality), příspěvky v diskusních fórech, každý odborný text ať už z jakéhokoliv oboru by měl svojí značku a samozřejmě by se jednotlivé značky kombinovaly. Při vhodném užití takových značek (nutná by byla hlavně implementace u open source systémů, krz které se generuje velká část internetového obsahu) by se výsledek dostavil rychle.

Nerealizovatelné ?

Neřekl bych. Např. Google má dneska na internetu natolik majoritní postoj (každý trošku schopný webdesignér optimalizuje pro jejich vyhledávací roboty), že by s tím v klidu mohl vyrukovat. Prostě by vydal seznam několika desítek tisíc značek pro jisté věci a prohlásil, že výsledky nalezené v těchto značkách bude zvýhodňovat a do roka už by to byla zcela běžná věc. Úroveň dat na internetu by se však několikanásobně zlepšila.

Implementace - z počátku pomocí XSL

Ačkoliv to v dnešní době už není tak časté, pořád se ještě používají prohlížeče, které samotné XML tak úplně nezvládají. Od toho je tu ale XSL, respektive jeho část jménem XSLT. Nebudu tu vysvětlovat krásy tohoto jazyka, raději sem dám jednu ukázku.

ukázka

Ukázka je převzatá z knihy XML pro úplné začátečníky. Skládá se ze zdrojových dat menu.xml, transformačního stylu menu.xsl a kaskádového stylu menu.css.

Když si otevřete menu.xml, měl by se vám otevřít jídelní lístek i v prohlížeči, který XML nepodporuje. Na první (do URL) a druhý (do zdrojového kódu) pohled se jedná o XML soubor. Ve skutečnosti však jde o obyčejné HTML. Pokud byste se podívali na výstup XSL transformace (mimo jiné na to existuje doplněk do IE), viděli byste toto:

Lucie Grusová - autorka knihy XML pro úplné začátečníky - má stejný názor

O XML jsem se začal blíže zajímat asi před půl rokem, když jsem si přečetl část knihy XML pro úplné začátečníky od Lucie Grusové. Do té doby jsem jenom věděl, že něco takového existuje, ale byla to pro mě španělská vesnice. V této době jsem také zaujmul názor, uvedený v nadpisu, který se mi neustále utvrzuje. Co mi ale udělalo velkou radost, byly tyto věty v závěrečné kapitole knihy.

Kromě samotného obsahu přináší XML elementy a atributy ve svých názvech další přídavné informace a dokumenty XML jsou tak datově bohatší a lépe uzpůsobené pro vyhledávání požadovaných informací.
Na tomto základě je postavena i budoucnost internetu, tzv. sémantický web.

Když si člověk přečte takovou vizi někoho, kdo už v oboru něco dokázal a přitom si stejný názor dříve vytříbil, má z toho zkrátka dobrý pocit.

Sémantika ? XML

Pod pojmem sémantický web si člověk většinou představí správné používání (X)HTML značek. Tedy na seznam seznam, na odstavec odstavec ... ne na seznam tabulku apod.

Pani Grusová použila pojem sémantický společně s budoucností internetu v XML. Její tvrzení však dává smysl, jen se člověk musí podívat na to, co to ve skutečnosti sémantičnost znamená. Definoval bych jí jako správné používání (obecně) značek pro to, pro co jsou určeny.

XML pro úplné začátečníky

xml-pro-uplne-zacatacniky.jpg

Tato kniha je skutečně pro úplné začátečníky, řekl bych až přehnaně, vzhledem k tomu o čem pojednává. V jedné části je například doporučován nějaký software. Na následujících pěti stránkách je popsána instalace stylem - klikněte na další. Nechce se mi věřit, že by se XML učil někdo, kdo by nezvládnul obsluhu Windowsovských instalátorů.

Jinak je to ale skvělá kniha. Uvede čtenáře do světa XML včetně DTD, XPath a s ním související XSL. Je zde i úvod do HTML a CSS. Tedy to HTML a CSS je opravdu velice stručné, ale o to v knize nejde.

Na konci každé kapitoly je krátký testík, který vám pomůže zjistit, zda jste probíranou látku zvládli.


Hlavní okruhy

  • Úvod
  • Jazyk XML
  • Definice typu dokumentu
  • CSS
  • Jazyk XPath
  • Jmenné prostory
  • XSL - Extensible Stylesheet Language
  • XML a jeho praktické využití
  • Bleskově světem HTML

Autorka knihy Lucie Grusová

Vystudovala gymnázium se zaměřením na programování, studovala na VŠE. V roce 2000 začala pracovat v zahraniční softwarové firmě, kde organizovala kurzy a semináře se zaměřením na XML. Této činnosti se i nadále věnuje.

Úplné pochopení HTML

Musím se přiznat, že po přečtení této knihy jsem se zastyděl. Zjistil jsem totiž, že do té doby jsem se naučil nějaký jazyk HTML, ale vůbec jsem si neuvědomoval souvislosti a některé základní, důležité věci. Pokud někdo nechápe proč sem táhám HTML, tak i to samozřejmě vychází z XML, jen má daleko laxnější pravidla. Nevěděl jsem například pořádně co je to DTD, tedy povrchově ano, věděl jsem že to je něco, podle čeho by se měl zvalidovat web, ale to je tak všechno.

XML mimo web

Po přečtení titulku by mohl někdo namítnout, že nerozeznávám pojem web a internet. Není tomu tak. XML totiž nachází uplatnění i mimo web. Důkazem toho je např. Jabber, jehož komunikační protokol je založený na XML.

Ostatně XML je zkrátka databáze, nezávislá na platformě a ku její používání nepotřebujete žádné servery. Abyste mohli použít XML, stačí vám možnost tvořit textové soubory. XML se tedy používá i mimo internet.

  • MathML - jazyk pro popis matematických vzorců.
  • CML - jazyk pro popis chemických vzorců.
  • HL7 - standard pro výměnu informací mezi subjekty poskytující zdravotní služby.
  • OFX - Formát pro komunikaci mezi bankami.

8 komentářů

Neváhejte napsat k článku komentář

Nevyplňujte:

  1. 1
    Martin Hassman

    info<zavináč>mettečkacz

    Clovek, ktery tvrdi, ze HTML nikdo nepouziva a budoucnost je v XML, ma vlastni web v HTML?

    • Na komentář odpověděl(a) Antonín Daněk v komentáři #2
  2. 2
    Antonín Daněk

    danek<zavináč>antonindanektečkacz

    Jak tento blog, tak samotný http://antonindanek.cz je v XHTML, nic jiného už nepoužívám.

    • Tento komentář je reakcí na příspěvek #1, který napsal(a) Martin Hassman
  3. 3
    kivan

    kivan<zavináč>centrumtečkacz

    Vskutku, XML má velkou budoucnout, například pokud jsi již četl o myšlence vlastního počítače spustitelného odkudkoli přez rozhraní webového prohlížeče, k čemuž by mělo právě sloužit XML, poněvadž díky němu už dnes existují programy typu MS WORD použitelné jen přez prohlížeč - a odtud je k myšlence pracovní plochy PC přeci jen krátká cesta. Nyní to jen zrealizovat, ale ve chvíli, kdy se tak stane, se pravděpodobně přihodí menší XML revoluce na internetu... Parádní článek ;)

    • Na komentář odpověděl(a) Antonín Daněk v komentáři #4
    • Na komentář odpověděl(a) leviathan v komentáři #5
  4. 4
    Antonín Daněk

    danek<zavináč>antonindanektečkacz

    Udělat vzdálenou správu PC s internetový prohlížečem jako klientem by neměl bejt problém, je dost možný že už něco takovýho existuje. Co se týče grafický stránky věci, tak to se dělá přes obyčejný printscreeny, který se neustále odesílají -> je to dost náročný na objem dat. Už jsem to zkoušel na lokální síti, i když klient byl jakýsi windowsácký program.

    Ještě jsem zapomněl v článku zmínit dnes tak oblíbené RSS (což je XML soubor). To je krásný příklad toho, co se dá dělat s daty, pokud mají nějakou danou formu.

    Díky. icon_wink.gif

    • Tento komentář je reakcí na příspěvek #3, který napsal(a) kivan
  5. 5
    leviathan

    michaelf.ms<zavináč>gmailtečkacom

    Takže třído ... otázka zní: kdo potřebuje takovou blbost jako remote-desktop když je tu SSH?

    .... já se hlásim pane profesore, já to vim! Je to pro lamy, trolly, matky a důchodce.

    Hahaha, trefná odpověď, máš to za malou jedna.

    icon_razz.gif

    • Tento komentář je reakcí na příspěvek #3, který napsal(a) kivan
    • Na komentář odpověděl(a) Antonín Daněk v komentáři #6
    • Na komentář odpověděl(a) kivan v komentáři #7
  6. 6
    Antonín Daněk

    danek<zavináč>antonindanektečkacz

    Sorry, ale srovnáváš jabka s hruškama. Vzdálenou plochu můžeš udělat přes SSH.

    • Tento komentář je reakcí na příspěvek #5, který napsal(a) leviathan
  7. 7
    kivan

    kivan<zavináč>centrumtečkacz


    Čau trolle :) Ono totiž nejde o remote desktop jako takový, jde o to, že máte kompletní vlastní počítač (resp jeho obsah) na nějakém serveru a přez XML rozhraní pak pracujete s daty jako na normálním dektopu - toť vize, o níž jsem mluvil. Asi jsem to nepopsal dost výstižně :)

    • Tento komentář je reakcí na příspěvek #5, který napsal(a) leviathan
  8. 8
    sysel

    Myslím, že nejvíc lidi baví objevovat objevené. Kdo si dnes (bez Googlování) vzpomene na profesora Knutha, jeho knihy a skvělý textový procesor TeX, jemuž se ať HTML či XML ani zdaleka nepřiblížily.

    Ať ty či ony systémy jsou však jen pouhými nástroji a jejich použití možná urychlí a snad usnadní vyhledání nějakých informací, nezajistí však jejich pravdivost a bezchybnost.