XML a značkovací jazyky, historie a vznik

Čistě trocha teorie, nehledejte více. Článek popisuje vývoj XML jazyků. XML (eXtensible Markup Language) technologie se dnes využívají zejména k integraci aplikací a ve sféře B2B. Původně vůbec nevznikaly pro potřeby B2B i když motivace, která vedla ke vzniku značkovacích jazyků, se přímo nabízela pro využití v integraci obchodních procesů a aplikací elektronického podnikání.


Historie a vznik

XML (eXtensible Markup Language) technologie se dnes využívají zejména k integraci aplikací a ve sféře B2B. Původně vůbec nevznikaly pro potřeby B2B i když motivace, která vedla ke vzniku značkovacích jazyků, se přímo nabízela pro využití v integraci obchodních procesů a aplikací elektronického podnikání.

Potřeba standardizace a uniformity

Úplně prvotním motivem vzniku značkovacích jazyků byla potřeba standardizace a uniformity.
Rozšíření počítačů na stoly kanceláří a domácností bylo velmi dramatické a provázelo s sebou drsný boj o platformy, operační systémy, aplikační řešení, kancelářské balíky softwaru apod. Každý systém a aplikační řešení s sebou přináší svůj formát ukládání dat. Vzájemně nejsou tyto aplikace ani platformy kompatibilní. Firmy a jednotlivé instituce však potřebují informace sdílet. Tato potřeba volá po standardizaci.

Avšak hlavní hráči na trhu softwaru si hájí a vytváří vlastní uzavřené formáty dokumentů. Sledují tak cíle spíše marketingové než snahu o zlepšení situace. Uzavřený formát jednotlivých dokumentů nahrává zejména řešením s největším rozšířením a posiluje jejich pozici na trhu. Dodnes se tento trend nezměnil a byl nastaven především Microsoftem, lídrem nejen vývoje operačních systémů, ale i kancelářského softwaru.

Firmy s vytvořenou rozsáhlou datovou základnou, desítky tisíc dokumentů, prakticky nemají možnost přejít na jiný software. S problémem nekompatibility se dokonce potýkají i jednotlivé verze nejrozšířenějšího kancelářského softwaru MS Office. Některé firmy jsou tak nuceny používat zastaralé verze těchto softwarů, někdy dokonce i více než 10 let. Stejně tak pro nutnost komunikace s jinými institucemi, které trpí podobným postižením, jsou nuceni používat paralelně více verzí textových, tabulkových nebo jiných editorů.

[U.1] Příklad uzavřeného formátu MS Office Word 2003.

  1. ĐĎࡱá > ţ˙ H K ţ˙˙˙ G

Každá aplikace si data ukládá typicky ve svém uzavřeném proprietárním formátu, který je uložen v binární podobě a je pro člověka nečitelný. Výhodou je obvykle menší velikost uloženého souboru.
Snaha o změnu se však objevila už dávno v minulosti. Jedním z prvních předchůdců XML byl jazyk GML (Generalized Markup Language) užívaný IBM pro uchovávání právních dat, známý už v roce 1960.

[U.2] Příklad zápisu jazyka GML.

  1. :h1.Chapter 1: Introduction
  2. :p.GML supported hierarchical containers, such as
  3. :ol
  4. :li.Ordered lists (like this one),
  5. :li.Unordered lists, and
  6. :li.Definition lists
  7. :eol.
  8. as well as simple structures.
  9. :p.Markup minimization (later generalized and formalized in SGML),
  10. allowed the end-tags to be omitted for the "h1" and "p" elements.

Podobné snahy však vznikají v různých organizacích a tak se v roce 1980 spojuje standardizační organizace ANSI se sdružením GCA (Graphics Communications Asociation) ve snaze vytvořit definici pro vlastní značkovací jazyky. V roce 1986 vzniká jazyk SGML (Standard Generalized Markup Language), který je tak komplexní, že jeho složitost brání většímu rozšíření. SGML je definován v normě ISO 8879.

[U.3] Příklad zápisu jazyka SGML.

  1. <QUOTE TYPE=example>
  2. Text napsaný <ITALICS>kurzívou</ITALICS>.
  3. </QUOTE>

Odvozeninou jazyka SGML se později stává jazyk HTML (HyperText Markup Language), dodnes používaný pro prezentaci dokumentů na internetových stránkách a ještě dlouho používaný bude. Jazyk HTML se ujal především pro jeho jednoduchost. Definice jazyka vymezuje jen omezenou skupinu elementů určujících strukturu dokumentu, jako velikost nadpisu, odstavec, blok textu, tučný text apod. Tím byla splněna potřeba uniformního formátu zajišťujícího přenositelnost a možnost sdílení textu mezi organizacemi a napříč jednotlivými platformami.

Potřeba odstínění prezentace textu a logické struktury

HTML jazyk se ujal a díky internetové síti vznikla gigantická databáze informací po celém světě, jejíž nevýhodou se stal právě jazyk HTML. Tento jazyk umožňuje definovat nejen logickou strukturu, jednotlivé bloky a významnost textu, ale i způsob prezentace dokumentu, to umožňuje běžné zneužívání základní myšlenky tohoto jazyka, kde logická strukturovatelnost dokumentu byla setřena. Právě logická struktura dokumentu je v současném světě přesyceném informacemi jedním z nejdůležitějších atributů.

Dalším důležitým bodem pro vznik XML jazyka byla potřeba odstínění prezentace textu a logické struktury. Nevýhodou, která volá po změně, je právě omezené množství použitelných značek, které mohou určitému textu přisoudit větší nebo menší význam, ale nemohou nijak data určit, popsat nebo je vymezit.

Význam jednotlivých bloků textu

Stojíme znovu před stejným problémem. Hledáme formát dokumentu, který bude uniformní, standardizovaný, nebude omezen sadou tagů a nebude míchat informační a prezentační logiku. SGML je příliš složité, a proto je odpovědí jeho další odvozenina XML (eXtensible Markup Language).

XML popisuje pouze logickou strukturu, neobsahuje žádné prezentační tagy a umožňuje jednotlivým blokům textu dát význam nejen hodnotový (větší nebo menší), ale přímo popisuje logický význam dat. Zároveň nám dává volnost ve stanovení použitelných značek v dokumentu definováním DTD.

[U.4] Příklad zápisu XML jazyka.

  1. <produkt>
  2. <název>Vrtačka Bosch</název>
  3. <cenaBezDPH>1350.50</cenaBezDPH>
  4. <DPH>19</DPH>
  5. </produkt>

To bylo krátce něco o tom jak jazyk XML vznikal a z jakých důvodů. Příště se pokusím popsat jak vypadá a jak se používá, tedy něco o jeho syntaxi.