Otevřít hlavní menu

Document Type Definition

formální popis složek (součástí) určitého dokumentu nebo třídy dokumentů ve formátech SGML a XML
(přesměrováno z DTD)

DTD (Document Type Definition, česky Definice typu dokumentu) je jazyk pro popis struktury XML případně SGML dokumentu. Omezuje množinu přípustných dokumentů spadajících do daného typu nebo třídy. DTD tak například vymezuje jazyky HTMLXHTML.

Struktura třídy nebo typu dokumentu je v DTD popsána pomocí popisu jednotlivých značek (nebo též elementů) a atributů. Popisuje, jak mohou být značky navzájem uspořádány a vnořeny. Vymezuje atributy pro každou značku a typ těchto atributů.

DTD je poměrně starý a málo expresivní jazyk. Jeho další nevýhoda je, že DTD samotný není XML soubor.

Silnější jazyky pro popis XML dokumentů jsou například XML Schema, RELAX NG, Schematron nebo DSD, které jsou již samy o sobě ve formátu XML.

Příklad DTD dokumentuEditovat

Příklad velmi jednoduchého DTD dokumentu (priklad.dtd):

 <!ELEMENT clovek (jmeno, adresa*)>
 <!ELEMENT jmeno  (#PCDATA)>
 <!ELEMENT adresa (ulice?, cislo?, mesto)>
 <!ELEMENT ulice  (#PCDATA)>
 <!ELEMENT cislo  (#PCDATA)>
 <!ELEMENT mesto  (#PCDATA)>

Tento DTD dokument definuje třídu XML dokumentů, které mají kořenovou značku <clovek>, obsahující právě jednu značku <jmeno> a žádnou nebo více značek <adresa> a tak dále. Proto například tento XML dokument patří do takto vymezené třídy XML dokumentů (říkáme také, že je validní proti výše uvedenému DTD):

 <?xml version="1.0" encoding="UTF-8"?>
 <!DOCTYPE clovek SYSTEM "priklad.dtd">
 <clovek>
   <jmeno>Tomáš</jmeno>
   <adresa>
     <ulice>Nesmrtelná</ulice>
     <cislo>99</cislo>
     <mesto>Brno</mesto>
   </adresa>
 </clovek>

OdkazyEditovat