Сдам Сам

ПОЛЕЗНОЕ


КАТЕГОРИИ







Выбор правильного doctype для документов HTML





Аннотация: Более подробно рассматривается элемент doctype, показаны его функции при проверке кода HTML и порядок выбора doctype для документа. А также, объявление XML

Введение

В "лекции 13" была исследована анатомия раздела head документа HTML, с кратким рассмотрением различных объектов, которые могут содержаться в head, и их функций. В данной лекции будет более подробно рассмотрен объект doctype , показывая его функции при проверке кода HTML и порядок выбора doctype для документа, и объявление XML, которое редко может понадобиться, но иногда будет встречаться.

· Сначала идет doctype

· Режимы переключения и представления doctype

· Валидация

· Выбор doctype

· Объявление XML

· Заключение

· Контрольные вопросы

· Дополнительное чтение

Сначала идет doctype

В любом создаваемом документе HTML необходимо, прежде всего, создать объявление DTD. Если вы никогда не слышали, чтобы кто-то упоминал раньше об объявлении DTD, не беспокойтесь. Чтобы упростить ситуацию его часто называют " doctype " ("тип документа"), как оно и будет называться до конца этой лекции. Вы наверно хотите знать, что такое " DTD " или doctype. DTD является сокращением от "Document Type Definition" ("Определение типа документа"), и, кроме всего прочего, оно определяет, какие элементы и атрибуты допустимо использовать в определенной разновидностиHTML — совершенно верно, существуют различные версии HTML, которые используются сегодня в Web, но не беспокойтесь об этом — вам надо в действительности беспокоиться только об одном.

doctype используется для двух вещей, различными видами программного обеспечения:

1. Браузеры Web используют его для определения, какой режим воспроизведения они должны использовать (режимы воспроизведения будут рассмотрены позже).



2. Валидаторы разметки просматривают doctype , чтобы определить, согласно каким правилам они должны проверять документ (об этом также будет рассказано позже).

Оба эти пункта оказывают на вас влияние, но различным образом, что будет показано позже в этой лекции.

Вот пример:

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">

Пока это может выглядеть для вас какой-то бессмыслицей, поэтому позвольте мне предложить несколько упрощенное объяснение, как это создается. Значительно более детальное рассмотрение можно найти в статье !DOCTYPE (http://www.blooberry.com/indexdot/html/tagpages/d/doctype.htm). Наиболее важной частью doctype являются две строки, ограниченные кавычками. "-//W3C//DTD HTML 4.01//EN" утверждает, что это документ DTD, опубликованный W3C, что этот DTD описывает HTML версии 4.01, и что в этом DTD используется английский язык. Вторая строка, "http://www.w3.org/TR/html4/strict.dtd", является указателем URL, который указывает на документ DTD, используемый для этого doctype . Даже, хотя doctype может выглядеть немного странно, он требуется спецификациям HTML и XHTML. Если doctype будут отсутствовать, то будет получена ошибка валидации, когда синтаксис документа будет проверяться валидатором разметки W3C Markup или другими инструментами, которые проверяют документ HTML на наличие ошибок. Некоторые браузеры Web даже содержат такие функции по умолчанию, в то время как другие могут добавлять их с помощью расширений.

Режимы переключения и представления doctype

Если doctype отсутствует, браузеры будут обрабатывать и представлять документ в любом случае — они должны сделать попытку представить все разновидности странных объектов, с которыми они столкнутся в Web, поэтому они не всегда могут быть очень разборчивыми. Однако без doctype результаты могут выглядеть не так, как предполагалось, в связи с так называемым "анализом doctype" или "переключением doctype ". Большинство браузеров Web, выпущенных в 21 веке, ищут doctype любых документов HTML, которые они встретят, и используют его, чтобы решить, позаботился ли автор документов написать свой код HTML и CSS правильно, в соответствии со стандартами Web. Если они находят doctype , который указывает, что документ закодирован хорошо, они используют так называемый "режим Standards", когда формируют страницу. В стандартном режиме браузеры обычно стараются представить страницу в соответствии со спецификациямиCSS — они надеются, что человек, который создал документ, знал, что делает. С другой стороны, если встречается устаревший или неполный doctype , используется "режим Quirks", который в большей степени обратно совместим со старыми методами и старыми браузерами. Режим Quirks предполагает, что документ является старым, или что он не был создан с учетом стандартов Web — это означает, что страница Web будет по-прежнему изображаться, но потребует для этого значительно больше вычислительной мощности, и вы, скорее всего, получите странный или безобразный результат, который совершенно не ожидали. Различия связаны в основном с тем, как представляется CSS, и только в редких случаях с тем, как интерпретируется реальный HTML. Как дизайнер Web или разработчик, вы получите наиболее согласованные результаты, проверяя, что все браузеры используют режим представления Standards, поэтому вы должны придерживаться стандартов Web, и использовать правильный doctype !

Валидация

Как упоминалось ранее, doctype используют также валидаторы, о которых мы узнаем больше позже в этой серии статей. Пока, все что нужно знать, состоит в том, что валидатор используется для проверки правильности синтаксиса документа HTML, что он не содержит никаких ошибок. Программы-валидаторы просматривают использованный doctype , чтобы определить, какие правила использовать. Это отчасти похоже на указание программе проверки грамматики языка, на котором написан документ. Если не сообщить это, то она не будет знать, какие правила правописания и грамматики использовать.

Выбор doctype

Итак, теперь, когда мы знаем, что нужно вставить doctype , и для чего он используется, как узнать, какой из них выбрать? Дело в том, что существует несколько видов doctype . Можно даже создать свой собственный, если требуется что-то более специальное. Но я не собираюсь перечислять целое множество различных doctype . Я постараюсь сохранить все простым и ограничусь двумя.

Если ваш документ является кодом HTML, используйте:

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">

Если ваш документ является XHTML, используйте:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

Примечание: "Реальный" XHTML должен быть представлен браузеру как код XML, но детали того, как и когда делать это, и особенности, которые имеются, находятся за рамками этой конкретной лекции.

Оба эти doctype гарантируют, что браузер будет использовать свой режим Standards при работе с этим документом. Наиболее заметный эффект, который будет оказан на работу, состоит в том, что будут получены более согласованные результаты при оформлении документа с помощью CSS. Чтобы увидеть другие doctype , которые можно использовать, обратитесь к опубликованному W3C списку DTD, рекомендованных для использования в документах Web (http://www.w3.org/QA/2002/04/valid-dtd-list.html). Можно заметить, что оба указанных здесь doctype называются "Strict" ("Строгий"). Хотя это может звучать немного угрожающим, это не так. Существуют строгая и переходная разновидности HTML и XHTML. Строгий в данном случае означает, что doctype допускает меньше разметки представления, чем переходный doctype . Разметка представления, которая не допускается, не должна в действительности присутствовать здесь в любом случае, так как вы должны использовать HTML, чтобы определить структуру и значение документов, и CSSдля определения, как они представляются. Использование строгого doctype поможет с этим, так как валидатор будет предупреждать обо всех элементах или атрибутах представления, которые проникли в код.

Объявление XML

Я говорил ранее, что doctype должен быть самым первым из объектов в документах HTML. На самом деле это слегка упрощенная версия правды. На самом деле требуется также рассмотреть объявление XML. Вы могли видеть фрагмент кода, который выглядит примерно следующим образом, перед doctype в некоторых документах XHTML:

<?xml version="1.0" encoding="UTF-8"?>

Это называется объявлением XML, и когда оно присутствует, оно должно быть вставлено перед doctype . Браузер Internet Explorer версии 6 имеет с этим кодом проблему - он заставляет его переключиться в режим Quirks, и как объяснялось ранее, это, скорее всего, нежелательно. К счастью, объявление XML не требуется, если только документ XHTML не посылается Web- браузерам как документ XML (см. примечание оXHTML) *И* используется кодирование символов отличное от UTF-8 *И* используемый сервер не посылает заголовок HTML, который определяет кодирование символов. Вероятность того, что все это случится одновременно, крайне мала, поэтому проще всего проблема браузера Internet Explorer решается просто исключением объявления XML. Однако не забывайте о doctype !

Заключение

Использование одного из упомянутых здесь doctype является первым, что должно появиться в любом из создаваемых документов HTML. Это гарантирует, что валидаторы будут знать, какая версия HTML используется, поэтому они смогут правильно сообщить обо всех сделанных ошибках. Это также гарантирует, что все современные браузеры Web будут использовать режим Standards, который предоставит более согласованные результаты, когда документ оформляется с помощью CSS.

Контрольные вопросы

Далее следует несколько вопросов, на которые вы сможете ответить после прочтения этой лекции:

· Какие две основные цели включения doctype в документы HTML?

· В чем преимущества использования строгого doctype вместо переходного?

· Почему объявление XML создает проблемы?

· Одним из типов doctype , который не был упомянут в этой лекции, является frameset doctype - найдите, что это означает, и почему он не должен использоваться.

Дополнительное чтение

· Не забудьте добавить doctype (http://www.w3.org/QA/Tips/Doctype)

· Рекомендованные для использования в документе Web DTD. (http://www.w3.org/QA/2002/04/valid-dtd-list.html)

· Исправьте свой сайт с помощью правильного DOCTYPE! (http://www.alistapart.com/articles/doctype/)

· Активация правильного режима компоновки с помощью объявления doctype (http://hsivonen.iki.fi/doctype/)

· Ключи Opera 9 DOCTYPE (http://www.opera.com/docs/specs/doctype/)

· Режим Quirks и режим strict (http://www.quirksmode.org/css/quirksmode.html)

· Сравнение переходной и строгой разметки (http://24ways.org/2005/transitional-vs-strict-markup)

Лекция 15:









Что делать, если нет взаимности? А теперь спустимся с небес на землю. Приземлились? Продолжаем разговор...

Конфликты в семейной жизни. Как это изменить? Редкий брак и взаимоотношения существуют без конфликтов и напряженности. Через это проходят все...

Живите по правилу: МАЛО ЛИ ЧТО НА СВЕТЕ СУЩЕСТВУЕТ? Я неслучайно подчеркиваю, что место в голове ограничено, а информации вокруг много, и что ваше право...

ЧТО ПРОИСХОДИТ, КОГДА МЫ ССОРИМСЯ Не понимая различий, существующих между мужчинами и женщинами, очень легко довести дело до ссоры...





Не нашли то, что искали? Воспользуйтесь поиском гугл на сайте:


©2015- 2021 zdamsam.ru Размещенные материалы защищены законодательством РФ.