Поделиться через


Декларация DOCTYPE

Объявление DOCTYPE предоставляет документу пространство для указания своего корневого элемента и определения типа документа (DTD) по ссылке на внешний файл путем прямого объявления или обоими способами.

Объявление DOCTYPE может содержать следующие данные.

  • Имя документа или корневого элемента.

    Оно является обязательным при использовании объявления DOCTYPE.

  • Системные и общие идентификаторы для DTD, которые можно использовать для проверки структуры документа.

    При использовании общего идентификатора также должен присутствовать и системный идентификатор.

  • Внутреннее подмножество объявлений DTD.

    Данное внутреннее подмножество отображается в квадратных скобках ([ ]).

Объявление DOCTYPE является обязательным, если документ будет обрабатываться в проверочной среде. Чтобы объявление DOCTYPE было допустимым, оно должно определять DTD, которое соответствует структуре документа. Средства синтаксического анализа, не выполняющие проверку, принимают документы без объявлений DOCTYPE.

Самое простое объявления DOCTYPE определяет только корневой элемент документа.

<!DOCTYPE rootElement>

Чаще всего документы, которые используют объявление DOCTYPE, ссылаются на внешний документ, содержащий объявления, составляющие DTD. Для определения DTD можно использовать:

<!DOCTYPE rootElement SYSTEM "URIreference">

URIreference указывает на файл, содержащий объявления.

<!DOCTYPE rootElement PUBLIC "PublicIdentifier" "URIreference">

PublicIdentifier предоставляет отдельный идентификатор, который некоторые средства синтаксического анализа XML могут использовать для ссылки на DTD вместо URIreference. Средство синтаксического анализа хорошо использовать в системе без сетевого соединения, либо когда такое соединение значительно замедляет обработку.

Объявления DOCTYPE также могут содержать объявления непосредственно в элементе, который называется внутренним подмножеством. Если объявление DOCTYPE включает в себя объявление DTD целиком напрямую, без ссылки на внешние файлы, то используется следующий синтаксис.

<!DOCTYPE rootElement [
declarations
]>

Если объявление DOCTYPE включает в себя объявления, которые должны сочетаться с внешними файлами или внешним подмножеством, следует использовать приведенный ниже синтаксис.

<!DOCTYPE rootElement SYSTEM "URIreference"[
declarations
]>

или

<!DOCTYPE rootElement PUBLIC "PublicIdentifier" "URIreference"[
declarations
]>