Definice typu dokumentu neboli DTD (z anglického document type definiton) je významnou součástí všech jazyků odvozovaných od SGML, tedy i jazyků HTML, XHTML a XML. DTD funguje jako jakási šablona, která určuje strukturu daného dokumentu, vymezuje povolené prvky (elementy, atributy) a určuje tak standardy, kterými se dokument řídí.
Prohlížeč DTD pozná podle specifického HTML tagu umístěného na začátku HTML kódu stránky.
K čemu jsou DTD užitečné
Zobrazovacímu zařízení, kterým je obvykle prohlížeč, ale i hlasová čtečka nebo crawler vyhledávače, tím říkáme, podle jaké normy (tj. v jakém jazyce a v jaké verzi tohoto jazyka) jsme stránku vytvořili. Hlavním úkolem DTD je tedy zobrazovacímu zařízení určit, jak má s dokumentem nakládat (např. jak ho parsovat). Proto DTD také často ovlivňuje způsob zobrazení webové stránky v prohlížečích.
Definici typu dokumentu také používají validátory, které právě podle ní rozhodují, zda dokument odpovídá definovaným pravidlům pro anou verzi daného jazyka (tzv. je validní).
Aby to bylo ještě trochu obtížnější, kromě veřejně známých DTD navíc existují i tzv. systémové definice, tj. definice, které si vytvoříme sami. Toho se nejčastěji využívá v jazyce XML, potřebujeme-li zajistit, aby XML dokument odpovídal námi určeným pravidlům (např. pro ověření před dalším zpracováním).
Příklady DTD
Každý dokument psaný v jazycích HTML a XHTML by tedy měl na začátku obsahovat odkaz na DTD.
HTML5
U dnes moderního jazyka HTML5 to vypadá například takto:
<!DOCTYPE html>
XHTML
U XHTML, předchůzce HTML5, bývá definice typu dokumentu delší. XHTML se vyskytuje v několika verzích. Toto je definice typu dokumentu nejpřísnější verze XHTML, 1.0 Strict:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
A takto vypadá definice typu dokumentu pro přechodovou, méně přísnou verzi XHTML 1.0 Transitional:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
Jestliže stránka v jazyce XHTML používala rámy, bylo třeba sáhnout po této DTD:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">
HTML 4.01
Nyní skočíme do historie ještě hlouběji, před XHTML. Toto je DTD pro nejpřísnější pro verzi HTML 4.01 Strict:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
Takto vypadá definice typu dokumentu pro přechodovou, méně přísnou verzi XHTML 1.0 Transitional:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
A nakonec opět definice typu dokumentu pro HTML stránku používající rámy:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN" "http://www.w3.org/TR/html4/frameset.dtd">>
Zaujal jsem vás? Přihlašte se do mailingu a mé další texty už vám neuniknou:
Zprávy posílám cca 8× ročně. Odhlásit se můžete kdykoliv. Více informací.