DTD
Je zkratkou pro „Document Type Definition“. DTD definuje strukturu, prvky a atributy dokumentu XML. Poskytuje sadu pravidel, která musí soubory XML dodržovat, a zajišťuje konzistenci a platnost podobných dokumentů.
DTD určuje:
- které prvky (značky) jsou povolené
- pořadí a vnoření prvků
- které atributy mohou prvky obsahovat
- typy hodnot, které mohou tyto atributy obsahovat
Níže je příklad DTD pro ukládání automobilových dat ve formátu XML:
<!DOCTYPE automobile [
<!ENTITY header "Car Details">
<!ELEMENT make (#PCDATA)>
<!ELEMENT model (#PCDATA)>
<!ATTLIST model doors (two | four) #REQUIRED>
<!ELEMENT year (#PCDATA)>
<!ELEMENT engine (#PCDATA)>
<!ATTLIST engine transmission (manual | automatic) #REQUIRED>
]>
Ve výše uvedeném DTD:
- Je definována entita s názvem header a hodnotou „Car Details“.
- Prvky jako <make>, <model>, <year> a <engine> jsou deklarovány tak, aby obsahovaly analyzovaná znaková data (#PCDATA), což znamená, že přijímají text.
- Seznamy atributů (ATTLIST) určují platné hodnoty atributů. Například prvek model musí u atributu doors uvádět buď „two“, nebo „four“ a prvek engine musí obsahovat atribut transmission nastavený na „manual“, nebo „automatic“.
Tento automobilový příklad je poměrně jednoduchá Document Type Definition. DTD používaná v reálných aplikacích — zejména v aplikacích podporujících rozsáhlé datové sady XML — mohou mít stovky nebo tisíce řádků. Malé DTD jsou často vloženy přímo do dokumentů XML, zatímco velké se ukládají jako samostatné soubory s příponou .DTD a odkazuje se na ně pomocí URL. Ačkoli novější jazyky schémat, jako je XML Schema (XSD), nabízejí flexibilnější možnosti ověřování, DTD zůstávají standardním způsobem definování struktury dokumentů XML.
NOTE: HTML 2 až 4.01 (1995–1999) používalo DTD k definování povolených značek a atributů souboru HTML. HTML5 upustilo od externích odkazů na DTD a každý dokument HTML začíná řetězcem <DOCTYPE html>.
Otestujte své znalosti