Vývoj značkování

Úvod
XML
Vývoj značkování
Struktura XML dokumentu
Fyzická struktura dokumentu
Logická struktura dokumentu
Dokument
Jmenné prostory v XML
XML versus SGML
Motivace XML

Counter

Tato kapitola si klade za cíl vysvětlit čtenáři pojem značkování.

V minulosti se většina informací na počítači ukládala tak, že si autor programu vymyslel jistý formát souboru, ve kterém pak ukládal informace. Například si přál uložit informace o jménu a adrese člověka. Jméno se skládá z křestního jména a příjmení a adresa se skládá z města, PSČ, ulice a čísla domu. Autor programu si například řekl, že jednotlivé informace uloží tak, že je oddělí znakem | a jednotlivé záznamy oddělí novou řádkou. Soubor, ve kterém byla zapsána informace o panu Jiřím Masňákovi s adresou Brno, 61600, Březinova 8 vypadal následovně:

Jiří|Masňák|Brno|61600|Březinova|8

Příklad 1: Zápis vlastními triviálními značkami
V takovémto souboru se kromě vlastních informací vyskytovali dva typy značek. Značka oddělující jednotlivé složky adresy - "|", a značka oddělující od sebe záznamy - nový řádek. Značkou tedy rozumíme jistou část zápisu informace, která má něco označovat. V našem příkladě máme značky | resp. konec řádku, a označujeme jimi oddělovač složek resp. oddělovač záznamu. Důležité pro značku je, že si ji nesmíme splést s vlastním textem (vlastní informací), což by se mohlo stát např. tehdy, když bychom číslo domu zapsali jako 8|2235.

Takto označkovaný soubor však trpěl řadou nevýhod.

  1. Jeho formát byl bez dokumentace jasný jen autorovi programu.
  2. V případě změny ukládaných informací se zpravidla musela změnit i ta část programu, která informace načítala a zapisovala.

Přitom stačilo na předchozím příkladě změnit jen několik maličkostí a formát by se rázem vyjasnil. Příkladem takovéto změny je následující zápis:

Osoba:
                           Jméno:
                           Křestní:Jiří
                           Příjmení:Masňák
                           Konec-Jméno:
                           Adresa:
                           Město:Brno
                           Ulice:Zeleného
                           Číslo-domu:8
                           PSČ:61600
                           Konec-Adresa:
                           Konec-Osoba:
                           

Příklad 2: Zápis vlastními samopopisujícími značkami
V tomto příkladě je formát souboru již mnohem strukturovanější, a je čitelný i bez dokumentace. Pravidla, která vedla k jeho vytvoření by se dala shrnout následovně:

  1. Značky (tags) jsou tvořeny znakem nového řádku, názvem značky a dvojtečkou.
  2. Informace o jednotlivých osobách budou uloženy v textovém souboru. Celý záznam o jedné osobě bude začínat řádkem "Osoba:" a končit párovým řádkem "Konec-Osoba:".
  3. U každé osoby uchováváme její jméno a její adresu. Tyto informace budou uvedeny řádky s obsahem "Jméno:", resp. "Adresa:" a ukončeny řádky "Konec-Jméno:", resp. "Konec-Adresa:".
  4. Jméno se skládá z křestního jména a příjmení. Adresa se skládá z města, PSČ, ulice a čísla domu. Tyto informace se budou nacházet v souboru pod řádky "Jméno:", resp. "Adresa:" a budou přímo obsahovat podrobnější informace uvedené příslušnou hlavičkou (např. "Město:").

Tento formát je již mnohem kvalitnější, než jeho předchůdce. Jednotlivé informace se totiž skládají ze dvou částí, a to ze značky popisující informaci (název značky ukončený dvojtečkou) a z vlastní informace.

Od tohoto formátu vede už jen krůček k XML. Stačí jej přepsat do následujícího formátu:

<Osoby>
                              <Osoba>
                              <Jméno>
                              <Křestní>
                              Jiří
                              </Křestní>
                              <Příjmení>
                              Masňák
                              </Příjmení>
                              </Jméno>
                              <Adresa>
                              <Město>
                              Brno
                              </Město>
                              <Ulice>
                              Zeleného
                              </Ulice>
                              <Číslo-domu>
                              8
                              </Číslo-domu>
                              <PSČ>
                              61600
                              </PSČ>
                              </Adresa>
                              </Osoba>
                              </Osoby>
                              

Příklad 3: Zápis v XML
Tento příklad je již plně strukturovaným správně utvořeným XML dokumentem. Velmi důležitou vlastností tohoto dokumentu je, že obsahuje nejenom vlastní informace, ale i jejich popis. Informace jsou v něm ukládány do tzv. Elementů. Každý element musí být ohraničen počáteční a koncovou značkou. Počáteční značka se zapisuje takto: <nazev_znacky>. Koncovou značku pak zapisujeme takto:</nazev_znacky>. Mezi počáteční a koncovou značkou se může vyskytovat obsah elementu. Obsah elementu může být tvořen samotným textem (např. element Město) a dalšími elementy (např. element Adresa). Název značky spravidla popisuje obsah elementu.

Elementy si můžeme představit např. jako krabice, do kterých dáváme menší krabice. Prvně máme obrovskou krabici s označením Osoby. Do ní dáváme menší krabičky s označením Osoba. Z krabice Osoba můžeme vytáhnout vždy krabičky Jméno a Adresa, ve kterých jsou ještě menší krabičky s dalšími informacemi.

Nyní již doufám chápete, co jsou to značky, a co je to značkování dokumentu. Způsobů, jak tvořit vlastní značky existuje velmi mnoho (asi nekonečně). Lidé však došli na to, že je vhodné toto množství možností usměrnit, a že je vhodné značky tvořit podle určitých pravidel. Vedla je k tomu snaha o zjednodušení vývoje aplikací, snaha o snadnou přenositelnost informací, ale i snaha o výměnu informací mezi různými aplikacemi (označkované dokumenty nejsou zpravidla určeny přímo pro čtení). V době kdy neexistoval žádný přijímaný standard pro tvorbu značek si každý tvůrce vytvářel značky svoje. Takto vznikly např. formáty MS Wordu, TeXu, RTF a řady dalších. Každý z těchto formátů používá jiný způsob, jakým značky zapisuje, a to i přesto, že mají značkovat velmi podobné informace. Navíc první z těchto formátů (MS Word) je tzv. formátem proprietárním, tzn. jeho specifikace není dána široké veřejnosti volně k dispozici. Takovéto proprietární formáty pak mohou fungovat jako bojový prostředek v konkurenčních soubojích. Do tohoto bojiště různých formátů vstupuje XML, které jak doufám usměrní tvorbu většiny (nebo i všech) budoucích formátů, a který výrazně usnadní komunikaci mezi jednotlivými aplikacemi.