DTD is a LocalTreeGrammar?. This means that the same terminal (production label) cannot be used for different non-terminals. DTD enforces this by making non-terminals and terminals equivalent: it is not possible to specify non-terminals. Because of this tree-locality property it is straightforward to create an interpretation of an XML document against a DTD: there is one to one mapping from the XML tags to production rules and thus to non-terminals.
-- MartinBravenboer - 30 May 2002