Připojení DTD k dokumentu

Když máme vytvořenu definici typu dokumentu, musíme ji nějak připojit k dokumentu, aby parser věděl, kterému DTD má dokument vyhovovat.

Obvykle se DTD ukládá do samostatného souboru. Jedno DTD pak můžeme používat v mnoha dokumentech. K dokumentu se DTD připojí pomocí deklarace typu dokumentu (DOCTYPE).

<!DOCTYPE faktura SYSTEM "faktura.dtd">
<faktura>
  ...
</faktura>

Deklarace vždy obsahuje jméno kořenového elementu (v našem případě faktura). Za klíčovým slovem SYSTEM se pak uvádí URL adresa souboru obsahujícího DTD.

Pro hodně rozšířená DTD se kromě uvedení URL adresy směřující k DTD používá i veřejný identifikátor, který identifikuje použité DTD. Aplikace tak nemusejí DTD stahovat z Internetu, ale mohou pracovat s lokální kopií.

<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN" 
                     "http://www.wapforum.org/DTD/wml_1.1.xml">

DTD může být i přímo součástí dokumentu. Stačí použít trošku odlišnou deklaraci.

<!DOCTYPE faktura [
  <!ELEMENT faktura (odberatel, dodavatel, polozka+) >
  <!ELEMENT odberatel ...>
  ...
]>
<faktura>
  ...
</faktura>

Nemůžeme pak však využít toho, že by se jedno DTD opakovaně využívalo pro více dokumentů. Oba dva předchozí případy lze navzájem kombinovat, a tak můžeme pomocí lokálních definic a parametrů upravit DTD v externím souboru.

© Jiří Kosek 2000-2001