Slabikář XML – úvod do problematiky

    0

    XML je technologie, která umožňuje jednoduše, přehledně a efektivně pracovat s čistými daty. Najde uplatnění nejen na internetu, ale prakticky všude, kde je potřeba pracovat se strukturovanými daty. Tento seriál je určen všem, kdo se učí, nebo se chtějí naučit pracovat s touto technologií.

    XML (eXtensible Markup Language) pracuje pouze s čistými daty a v žádném případě nedefinuje jejich vzhled. Může s ním pracovat řada programů a je použitelný i pro výměnu dat mezi různými společnostmi. Jeho výhoda je v tom, že není vázán na žádný software, ani operační systém. Data v XML se dají snadno převést do řady dalších formátů, jako je HTML, PDF, MS Word, MS Excel, nápověda Windows atp.

    Jeho podobnost s HTML (HyperText Markup Language) je dána stejným předchůdcem – SGML (Stardard Generalized Markup Language). Podstatný rozdíl je v tom, že XML je podmnožina SGML, a HTML je jeho aplikace. HTML má definovánu sadu značek, které mají různý význam a definují způsob interpretace dat. Pro XML vytváříte sadu značek sami a vzhled můžete definovat jen pomocí stylových jazyků (CSS, XSL …). Zkrátka se odděluje obsah od způsobu jeho interpretace. Pro jeden dokument XML můžete mít definováno několik možností vzhledu a pro více dokumentů XML jeden společný vzhled. Pak můžete změnit vzhled dokumentů editací jednoho souboru.

    Pro lepší orientaci v dokumentu a snadnější nalezení chyb je DTD (Document Type Definition = definice typu dokumentu). Pomocí DTD, které může být buď přímo v dokumentu, nebo i v externím souboru, můžete definovat, které elementy mohou být použity, jak mohou být setříděny, a jaké mohou mít atributy. Dokument může mít DTD, ale nemusí. Pokud ho má, a dokument přiloženému DTD neodpovídá, parser (program, který zpracovává XML dokument) vrátí chybu. Základní problém předávání dat v XML mezi různými firmami a společnostmi je, že každá společnost může používat jiné značky. Tento problém řeší stardardní DTD, mezi které patří např. HTML a DocBook. Standardní DTD jsou přesně definovány, takže nehrozí, že by si odlišné systémy různých společností nerozuměly.

    XML nemusí být vždy tím nejlepším řešením a nelze ho použít bez doplňkové technologie. XML bylo také původně vytvořeno jako doplněk, nikoli jako náhrada jiných technologií. Podpora XML v dnešních internetových prohlížečích navíc nedovoluje psát stránky v XML, takže se v praxi neobejdete bez zpracování dat v XML pomocí nějakých skriptovacích jazyků, nejlépe na straně serveru (PHP, ASP). Ve spolupráci s nimi ale nabízí silný nástroj pro práci s daty.

    Pro srovnání tu je příklad jednoduchého ceníku napsaného v HTML.

    <!DOCTYPE HTML PUBLIC „-//W3C//DTD HTML 4.01 Transitional//EN“>
    <html>
      <head>
         <title>Cenik</title>
      </head>
      <body>
         <table cellspacing=“0″ cellpadding=“2″ border=“0″ style=“border: solid 1px #000000; font-family:arial; font-size:13px; font-weight:bold;“ bgcolor=“yellow“>
         <tr>
          <td bgcolor=“black“ style=“color:white;“ width=“100″>Nazev</td>
          <td bgcolor=“black“ style=“color:white;“ width=“30″ align=“right“>Cena</td>
         </tr>
         <tr>
          <td bgcolor=“lightblue“>Houska</td>
          <td bgcolor=“lightblue“ align=“right“>1,20</td>
         </tr>
         <tr>
          <td bgcolor=“lightblue“>Rohlik</td>
          <td bgcolor=“lightblue“ align=“right“>0,90</td>
         </tr>
         <tr>
          <td bgcolor=“lightblue“>Kobliha</td>
          <td bgcolor=“lightblue“ align=“right“>3,50</td>
         </tr>
         </table>
      </body>
    </html>

    Mírně nepřehledné, co říkáte? Je to způsobeno tím, že v HTML musíte alespoň částečně určit, jak budou data zobrazena. A nyní to celé přepíši do XML:

    <?xml version=“1.0″?>
    <xml>
      <produkt>
        <nazev>Houska</nazev>
        <cena>1,20</cena>
      </produkt>
      <produkt>
        <nazev>Rohlik</nazev>
        <cena>0,90</cena>
      </produkt>
      <produkt>
        <nazev>Kobliha</nazev>
        <cena>3,50</cena>
      </produkt>
    </xml>

    Na první pohled je dokument přehlednější – jeho vzhled bude definován v jiném souboru a přesto dosáhnete stejného výsledku jako v HTML verzi.

    Všiměte si, jak jsou data přehledně setříděna. Jejich editace bude určitě jednodušší, než kdybyste ji prováděli na příkladu v HTML.

    Úvodu do světa XML se věnuje také článek Michala Kočího – „Co je XML?„.

    V příštím díle si popíšeme syntaxi dokumentu XML.

    Starší komentáře ke článku

    Pokud máte zájem o starší komentáře k tomuto článku, naleznete je zde.

    Žádný příspěvek v diskuzi

    Odpovědět