Наверняка, каждый вебмастер обращал внимание на то, что в начале каждой страницы есть строка или две строки определения типа документа. Сегодня поговорим о том, что такое определение типа документа и для чего оно нужно.
Определение типа документа или Document Type Definition (DTD) – не что иное, как правила, в соответствии с которыми осуществляется проверка конкретного документа (веб-страницы) XML или (X)HTML. Благодаря этой записи, браузер определяет, какая в данном документе используется версия DTD.
Разработали эти правила инженеры Консорциума Всемирной паутины W3C (World Wide Web Consortium), по сравнению с которыми веб-мастера, которые считают себя спецами в области веб-разработок, просто дилетанты. Возглавляет консорциум Тим Бернерс-Ли, о котором я писал в статье Гипертекстовая инфраструктура.
Про саму запись, описывающую тип документа, говорят, что это «объявление DOCTYPE» (читается ДОКТАЙП, хотя многие неверно говорят ДОКТИП). В настоящее время любой валидный (действительный) документ должен до написания всех остальных элементов иметь объявление DOCTYPE. Вот наиболее распространённые типы DOCTYPE для языка разметки XHTML:
XHTML 1.0 Strict
<!DOCTYPE html PUBLIC «-//W3C//DTD XHTML 1.0 Strict//EN»
«http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd»>
XHTML 1.0 Transitional
<!DOCTYPE html PUBLIC «-//W3C//DTD XHTML 1.0 Transitional//EN» «http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd»>
XHTML 1.0 Frameset
<!DOCTYPE html PUBLIC «-//W3C//DTD XHTML 1.0 Frameset//EN» «http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd»>
XHTML 1.1
<!DOCTYPE html PUBLIC «-//W3C//DTD XHTML 1.1//EN» «http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd»>
Разберем тип XHTML 1.0 Strict, который на данный момент является самым «строгим»:
<!DOCTYPE html PUBLIC «-//W3C//DTD XHTML 1.0 Strict//EN» «http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd»>
Как видите, в самой записи имеется ссылка на документ. Если вам интересно, можете его скачать и просмотреть с помощью Visual C++. Но, если вы хотите просто проверить валидность любой страницы, достаточно воспользоваться одним из . В результате проверки, если страница содержит какие-либо ошибки, вы увидите список ошибок с их подробным описанием, а также информацию о корректном коде, который вы проверяете.
Если вы написали XHTML код, соответствующий стандартам и у вас правильно составлены каскадные таблицы стилей CSS, если вы воспользовались стандартной спецификацией для работы с DOM (Document Object Model), чтобы управлять динамическими элементами на странице, но у вас имеются проблемы с отражением страницы в каком-либо браузере, первым делом проверьте правильность написания объявления DOCTYPE.
В частности, убедитесь, что ссылка на документ W3C полная, а не относительная. Это нужно для того, чтобы браузер знал, где искать документ для валидации вашей страницы и, таким образом, выведет страницу в том стандарте, который упомянут в определении DOCTYPE. Поэтому, для своих нужд можете использовать варианты, которые я привел выше, где все ссылки являются полными.

Хорошая статья, на тройку с плюсом. Автор не учел некоторых технических моментов, таких как свойства в CSS, указал только в скользь, а на самом деле этот ваш,ну или наш DTD играет очень важную роль при верстке.
Так что всем тем кто считает себя «профессионалами» или тем, кто хочет быть таковыми – в DOCTYPE покопаться.
Автору +
[Ответить]
Согласен, но отчасти. У меня в этой статье не было цели раскрывать все технические моменты. Я всего лишь ответил на вопрос, который находится в заголовке статьи: «Зачем нужен DOCTYPE?»
[Ответить]