Toto neni nahrada w3c.org nebo vycerpavajici popis vsech moznosti, ale obecne shrnuticko :) 1. Obecne DTD ------------- DTD je obyc TXT soubor s priponou DTD. Deklaruje elementy, atributy a parametricke entity. Uplne obecne se DTD sklada ze zaznamu o formatu: KEYWORD znaci to, co se v DTD ma definovat, pricemz telo (...) je pak ruznorode. 1.0 Elementy ------------ Deklarace elementu ma formu: Na poradi definice elementu nezalezi, neni nutne resit tedy nejake dopredne deklarace a podobne 1.0.1. Prazdny element ---------------------- Pokud element nema nic obsahovat, jako napriklad
nebo tak je na miste OBSAHu uvedeno "EMPTY". Pozor na to, ze 'mezery' jsou obsah - tedy

MUZE byt chybne (viz [2]) Priklad: 1.0.2. Model popisujici obsah ----------------------------- Model je defacto predpis obsahu elementu. Musi se uzavrit to kulatych (zavorek). Obsah je slozen z: jmena elementu - dany element je na danem miste povolen/vyzadovan #PCDATA - zastupce pro 'text' (text nejsou elementy ale jen 'text') volby - symbol pipe | - ma tvar: A | B a rika, "A nebo B" spojeni - carka , - ma tvar: A , B a rika "A nasledovanym B" () - vnorena skupina, rekurze + ? * - opakovani ? 0 nebo 1 * 0 a vic (0,1,2,3,...) + 1 a vic (1,2,3,...) lze pouzit jako pro element "element+, element2*" tak pro celou supinu "(a | b)+ , c , d?" Pro model plati nasledujici pravila: 1. v ramci jedne skupiny se nesmi pouzit zaroven , a | a | b | c - platne a , b , c - platne x | y , z - chyba - ze zapisu nevyliva, co je presne mysleno. Je treba prepsat na "(x | y) , z" nebo "x | (y , z)" dle toho co ma autor na mysli 2. pokud se v modelu vyskytuje #PCDATA musi mit model uzity pouze konektor volby (|) a cela skupina musi byt opakovatelna - napriklad: (#PCDATA | elem | elem2)* Jinak ne pouziti PCDATA neplatne 3. validatory nezkoumaji dopredu - zapis: "a | (a,b)" neni platny, protoze valdiator nemuze u elementy 'a' rozhodnout, jesli pujde prvni nebo druhou cestou. Musel by se podivat na nasledujici tag. To nedelaji. Pozor tedy na nejednoznacny zapis Priklad: name prvni prvni prvni