Как правило, ОТД HTML состоит из объявления типа элемента и его атрибута. Ключевое слово<!ELEMENT открывает объявление, а символ > закрывает. Между ними определяются:
имя элемента;
обязательно ли указывать теги элемента. Два дефиса после имени элемента означают, что начальный и конечный теги должны присутствовать. Один дефис и буква "O" означают, что конечный тег может отсутствовать. Две буквы "O" означают, что и начальный, и конечный теги могут отсутствовать;
содержимое элемента, если есть. Допустимое для данного элемента содержимое называется моделью содержимого. Типы элементов, которые разработаны так, чтобы не иметь содержимого, называются пустыми элементами. Модель содержимого для таких типов элементов объявляется ключевым словом "EMPTY".
В этом примере:
<!ELEMENT UL - - (LI)+>
объявляемый тип элемента - UL;
два дефиса означают, что оба тега, начальный <UL> и конечный </UL>, для этого типа элементов должны присутствовать;
Модель содержимого этого типа элементов объявлена как "не менее одного элемента LI". Ниже объясняется, как специфицировать модель содержимого.
В этом примере иллюстрируется объявление пустого типа элемента:
<!ELEMENT IMG - O EMPTY>
объявляется тип элемента IMG;
дефис и последующая "O" означают, что конечный тег может быть опущен, но, в сочетании с моделью содержимого "EMPTY", это значение усиливается: конечный тег должен
отсутствовать;
ключевое слово "EMPTY" означает, что объект этого типа обязан не иметь содержимого.