DTD nudi še nekaj naprednejših možnosti (entitete, notacije ...), ki pa ne odtehtajo pomanjkljivosti. Največji problem je, da nimamo možnosti definicije vrst podatkov (string, float, boolean ...) in da so možnosti glede omejitve števila elementov ali atributov precej borne (ni možno npr. zahtevati, naj element <Books> vsebuje 10 do 15 podelementov <book>. V nasprotju z drugimi tehnologijami XML (XMLSchema, XSLT ...) DTD nima skladnje XML.