Slabikář XML – úvod do problematiky

25. března 2002

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.

Mohlo by vás také zajímat

Nejnovější

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *