An XML DTD defines the grammar and legal building blocks of an XML document. It specifies elements, attributes, and entities that can be used. A DTD can be internal, defined within the XML file, or external, referenced from an outside file. Elements are declared with ELEMENT tags, attributes with ATTLIST, and entities allow special characters to be represented as shortcuts. A DTD enables validation of an XML file's structure and is useful for data exchange conformance.