DTD (англ. Document Type Definition — определение типа документа) — аббревиатура для обозначения следующих двух понятий:
Из-за определённых различий между XML и SGML применение DTD также имеет некоторые особенности в зависимости от целевого документа.
DTD описывает схему документа для конкретного языка разметки посредством набора объявлений [объектов-параметров, элементов и атрибутов элементов], которые описывают его класс (или тип) с точки зрения синтаксических ограничений этого документа. Также DTD может объявлять конструкции, которые всегда необходимы для определения структуры документа, но, зато, могут влиять на интерпретацию определённых документов.
Объявление объекта-параметра определяет макрос определённого типа, на который можно ссылаться и который может быть развернут где-нибудь в DTD. Эти макросы могут не появляться в самом документе, а быть только в DTD. Если на объект-параметр ссылаются по имени их DTD, то он разворачивается в строку, в которой указано содержимое этого объекта.
Объект-параметр inline
содержит в себе текстовые данные и ещё четыре объекта-параметра fontstyle
, phrase
, special
и formctrl
.
Объявления элементов определяют (задают) набор разрешённых названий элементов в документе, тип содержимого для каждого элемента и обязательность/необязательность тегов.