Definícia typu dokumentu

(Presmerované z DTD)

Definícia typu dokumentu (angl. Document Type Definition, skr. DTD) je súbor pravidiel na deklarovanie (opis štruktúry) konkrétneho typu dokumentu (napr. dátové záznamy inventára). Označenie sa používa aj pre konkrétne implementácie DTD, pretože DTD sa opisuje v rámci špecifikácií SGML alebo XML.

DTD obmedzuje množinu prípustných dokumentov spadajúcich do daného typu alebo triedy. DTD tak napríklad vymedzuje jazyky HTML a XHTML.

Štruktúra triedy alebo typu dokumentu je v DTD opísaná pomocou opisu jednotlivých značiek (alebo tiež elementov) a atribútov. Opisuje ako môžu byť značky navzájom usporiadané a vnorené. Vymedzuje atribúty pre každú značku a typ týchto atribútov.

DTD je pomerne starý a málo expresívny "jazyk". Jeho ďalšia nevýhoda je, že DTD samotný nie je XML súbor. Silnejšie jazyky na opis XML dokumentov sú napríklad XML Schema, RELAX NG, Schematron alebo DSD, ktoré sú už samy o sebe vo formáte XML.

Príklad DTD dokumentu upraviť

Príklad veľmi jednoduchého DTD dokumentu (príklad.dtd):

<!ELEMENT človek (meno, adresa*)>
<!ELEMENT meno  (#PCDATA)>
<!ELEMENT adresa (ulica?, číslo?, mesto)>
<!ELEMENT ulica  (#PCDATA)>
<!ELEMENT číslo  (#PCDATA)>
<!ELEMENT mesto  (#PCDATA)>

Tento DTD dokument definuje triedu XML dokumentov, ktoré majú koreňovú značku <človek>, obsahujúcu práve jednu značku <meno> a žiadnu alebo viac značiek <adresa> a tak ďalej. Preto napríklad tento XML dokument patrí do takto vymedzenej triedy XML dokumentov:

 <?xml version="1.0" encoding="UTF-8"?>
 <!DOCTYPE človek SYSTEM "príklad.dtd">
 <človek>
   <meno>Tomáš</meno>
   <adresa>
     <ulica>Nesmrteľná</ulica><číslo>99</číslo>
     <mesto>Bratislava</mesto>
   </adresa>
 </človek>