Seriál o XML / XHTML - úvod

HyperText Markup Language je dnes najpoužívanejším značkovým jazykom pre tvorbu webovských stránok. Avšak má mnoho obmedzení, ktoré vytvárajú potrebu inovácie a siahnutia po nejakom novšom štandarde. Odpoveďou na tieto požiadavky je dnes nástupca klasického HTML - eXtensible Markup Language (XML).

Hlavnou nevýhodou HTML je nemožnosť použitia efektívnejších vyhľadávacích metód, pretože jednotlivé časti textu sú označované značkami, ktoré majú iba prezentačný význam. Konkrétne napríklad: text môžeme označiť ako nadpis, bunku tabulky a podobne. XML však umožňuje definovanie vlastnej sady značiek, ktorými môžeme omnoho výstižnejšie a lepšie označiť jednotlivé časti textu. Napríklad text môžeme označiť ako názov tovaru, vlastnosti tovaru, alebo obchod v ktorom sa predáva. Vďaka tomuto potom môžeme položiť nasledovnú otázku: "V ktorom obchode dostaneme ten, alebo iný tovar?". Naproti tomu v HTML môžeme maximálne vyhľadať text "názov tovaru" a tým naše možnosti na vyhľadanie daného výrazu sú vyčerpané.

Je zrejmé, že túto výhodu budeme môcť efektívne využívať iba vtedy, pokiaľ vyhľadávané dokumenty budú vyhovovať štandardu DTD, číže Document Type Definition. To znamená že budú používať tagy, ktorým bude možné priradiť určitý význam. Teraz by sme sa trochu mohli vrátiť na úvod, vysvetliť si podrobnejšie čo to presne to DTD je a bližšie si objasniť históriu a pozadie vzniku XML.

Ako to vlastne bolo s XML alebo všetko sa začína u SGML

Základom pre značkové (markup) jazyky je SGML (Standard Generalized Markup Language). Jedná sa štandardný jazyk určený k formálnému popisu štruktúry dokumentov. Tento štandard vznikol v rámci projektu ODA (Open Document Architecture), ktorého cieľom bolo vytvorenie formátu ktorý by umožňoval uloženie textu v elektronickej podobe a bol popritom nezávislý na hardwarovej a softwarovej podobe a bol dostatočne flexibilný. Vlastne vďaka týmto požiadavkám vypadli z hry rôzne textové editory, pretože sa často menia - často sa menia a používajú rôzne formáty dát. Ako výhodné sa ukázalo použitie značkovacieho jazyka. Jednotlivé "markups" sa vkladajú do textu a majú svoj význam.

SGML sám o sebe nie je značkový jazyk, ale jedná sa o metajazyk slúžiaci na definovanie rôznych xxML - značkovacích jazykov. Táto definícia sa nazýva Document Type Definition (DTD). DTD obsahuje definície elementov a ich atribútov, ktoré je možné v dokumente použiť.
Táto definícia je zapísaná vďaka SGML v štandardizovanej podobe a je jednoducho spracovateľná. Celý postup je možné si predstaviť, že SGML je programovací jazyk a DTD je program v ňom napísaný. DTD v podstate definuje akú môže mať dokument syntax - mená elementov, ich atribúty, použitie, vzťahy medzi nimi a pod.

Čo už však DTD nedefinuje je význam jednotlivých elementov, ktorý im musí byť priradený procesorom, ktorý dokumenty daného formátu spracováva.Procesor je taký softwarový modul (v ďalšom budeme používať pomenovanie XML procesor), ktorý je používaný pre čítanie XML dokumentov a poskytuje prístup k ich obsahu a štruktúre.Príkladom procesoru môže napríklad internetový browser, ktorý HTML tag rozpozná ako link na nejaký zdroj a podľa toho ho zobrazí a náležite sa k nemu aj chová. Pre úplnosť iba dodajme, že HTML je definované práve pomocou DTD SGML. Autor dokumentu musí teda vedieť aký význam má daný element - ako a s akými atribútmi ho použiť a prehliadač zasa musí vedieť ako ho zobraziť a pracovať s ním.
To všetko sa môže dozvedieť práve z DTD. Aby prehliadač vedel aký DTD má daný dokument použiť, začína každý dokument takzvaným prológom, ktorý určuje podľa akého DTD bol dokument vytvorený. Príklad prológu môže byť napríklad nasledujúci:

Nabudúce budeme pokračovať vlastnosťami XML a ukážeme si už aj nejaký príklad XML dokumentu.

Developer,
Stiahnuté z Developer.sk