Тэг <!DOCTYPE> должен первым указываться в документе HTML (теоретически). Он сообщает серверу WEB способ обработки документа и то, какие дескрипторы могут находиться на странице, хотя чаще всего он игнорируется браузерами. Поэтому его применение строго не обязательно.
Синтаксис: <!DOCTYPE HTML "текст""URL" > Здесь текст определяет версию HTML , а URL позволяет браузерам пользователей загрузить DTD например:
<! DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 // EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
Ниже описаны некоторые версии HTML
<! DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 // EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> Строгое DTD. Документы, использующие такое объявление типа документа, включают в себя все тэги и атрибуты, не являющиеся нежелательными и не использующие кадры.
<! DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional // EN" "http://www.w3.org/TR/REC-html40/loose.dtd"> Документы, использующие такое объявление типа документа, включает все, что включено в строгое DTD, а также нежелательные тэги и атрибуты, относящиеся к визуальному оформлению.
<! DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Frameset // EN" "http://www.w3.org/TR/REC-html40/frameset.dtd"> Документы, использующие такое объявление типа документа, включает все, что включено в предыдущее DTD, а также кадры.
Поскольку язык HTML развился из стандартного обобщенного языка описания документов SGML, являясь его производной, созданной для разметки текстовых документов, то этим и объясняется необходимость задания типа документа. На языке SGML может быть создано приложение для разметки текста, но для описания функциональных особенностей каждого тэга этого приложения разработчику необходимо создать комментарии или специальную документацию, так как сам язык SGML формально может лишь сообщить где может встречаться тот или иной тэг, но не его свойства. Документы, в которых могут встречаться те или иные тэги, были отнесены к различным типам документов (document type). И теперь если возникает необходимость описать тэги разметки документа - достаточно выбрать стандартное определение типа документа - DTD (Document Type Definition).
Ниже для примера приведена выдержка из DTD, описывающая правила задания абзацев текста в документе:
<! ELEMENT P - 0 ( %text ) * >
<! ATTLIST P align (left|center|right) #IMPLIED> Отсюда следует, что абзацы текста необходимо заключать в тэги <P> и </P>, причем закрывающий тэг принимает значение "0", следовательно, может быть опущен как необязательный, т.е. наличие в исходном коде начального тэга <P> подразумевает автоматическое завершение предыдущего абзаца. Содержимым абзаца может быть текст любого объема. Атрибутом абзаца является его выравнивание по правому, левому краям или по центру.