Верхний или нижний регистр документа?

При написании документа типа HTML5, что является правильным методом?

<!DOCTYPE html>

или

<!DOCTYPE html>

Ответ 1

В HTML DOCTYPE нечувствителен к регистру. Действуют следующие DOCTYPE:

<!doctype html>
<!DOCTYPE html>
<!DOCTYPE HTML>
<!DoCtYpE hTmL>

В XML-сериализации (т.е. XHTML) DOCTYPE не требуется, но если вы его используете, DOCTYPE должен быть прописным:

<!DOCTYPE html>

См. Сериализация XML HTML5, ака 'XHTML5:

Обратите внимание, что если вы не загладите DOCTYPE в документе XHTML, синтаксический анализатор XML вернет синтаксическую ошибку.

Вторая часть может быть записана в нижнем регистре (html), в верхнем регистре (html) или даже в смешанном случае (html) - она ​​все равно будет работать. Однако, чтобы соответствовать Правилам разметки Polyglot для совместимых с HTML XHTML-документами, это должно быть написано в нижнем регистре.

Ответ 2

Если кому-то все еще интересно в 2014 году, проконсультируйтесь с этим:

HTML5

W3 HTML5 Spec - Doctype

A DOCTYPE должен состоять из следующих компонентов в следующем порядке:

1. A string that is an ASCII case-insensitive match for the string "<!DOCTYPE".
...

Примечание: несмотря на то, что он отображается во всех кешках, спецификация утверждает, что он нечувствителен

----------------------------------------------- -----------------------

XHTML5

W3 HTML5 - XHTML

This specification does not define any syntax-level requirements 
beyond those defined for XML proper.

XML documents may contain a DOCTYPE if desired, but this is not required 
to conform to this specification. This specification does not define 
a public or system identifier, nor provide a formal DTD.

Рассматривая спецификацию XML, он перечисляет DOCTYPE в шапках, но я не могу найти ничего, что бы заявляло, что требуется "все колпачки" (для сравнения в спецификации HTML5, указанной выше, она отображается в примере во всех cap, но спецификация явно заявляет, что это case- нечувствительный).

----------------------------------------------- -----------------------

Разметка Polyglot

W3 Polyglot Markup - Введение

Иногда полезно иметь возможность обслуживать документы HTML5, которые также являются хорошо сформированными XML-документами.

W3 Polyglot Markup - Doctype

Разметка Polyglot использует объявление типа документа (DOCTYPE), указанное в разделе 8.1.1 [HTML5]. Кроме того, DOCTYPE соответствует следующим правилам:

* The string DOCTYPE is in uppercase letters.

Итак, обратите внимание, что Ployglot Markup использует обычный тип HTML5, но с дополнениями/изменениями. Для нашего обсуждения, прежде всего, DOCTYPE объявляется во всех шапках.

----------------------------------------------- -----------------------

Суммирование

Просмотрите раздел W3 HTML и XHTML

[Мнение] Я бы не стал слишком беспокоиться о соблюдении требований XML, если вы специально не пытаетесь сделать для этого соображения. Для большинства клиентских и JS-серверов JSON заменил XML.

Поэтому я могу увидеть, что это действительно применяется, если вы пытаетесь обновить существующую устаревшую систему на основе xhtml/xml, чтобы сосуществовать с новыми функциями HTML5. Если это так, рассмотрите спецификацию разметки polyglot.

Ответ 3

В соответствии с последней спецификацией вы должны использовать что-то, что не учитывает регистр, для <!DOCTYPE html>. Поэтому, когда браузеры должны поддерживать любой случай, который вы предпочитаете, разумно сделать вывод, что <!DOCTYPE html> - это канонический случай.

Ответ 4

Стандартом для HTML5 является то, что теги нечувствительны к регистру.

http://www.w3schools.com/html5/tag_doctype.asp

Более технически: (http://www.w3.org/TR/html5/syntax.html)

A DOCTYPE должен состоять из следующих компонентов в следующем порядке:

  • Строка, которая не соответствует значению ASCII для строки <!DOCTYPE.

Ответ 5

Либо верхний, либо нижний регистр является "правильным". Однако, если вы используете веб-шрифты и заботитесь об IE7, я бы рекомендовал использовать <!DOCTYPE html> из-за ошибки в IE7, где веб-шрифты иногда терпят неудачу, если использовать <!DOCTYPE html> (например, в этот ответ).

Вот почему я всегда занимаю верхний регистр doctype.

Ответ 6

Вопрос типа подразумевает наличие только одного правильного ответа, предоставляет множественный выбор из двух и просит нас выбрать один. Я бы предположил, что для HTML5 действуют как <!DOCTYPE html>, так и <!DOCTYPE html>.

Таким образом, браузер с поддержкой HTML5 будет принимать нижний регистр и правильно обрабатывать html.

Браузеры, ранее и не обращая внимания на HTML5, я слышал, даже без doctype, будет пытаться обрабатывать html как можно лучше. И если они не признают, что нижний регистр doctype будет делать то же самое. Поэтому нет смысла делать это заглавными, так как эти браузеры не смогут полностью реализовать любые объявления HTML5.

Ответ 7

Объявление doctype нечувствительно к регистру, и любая строка ASCII, которая соответствует

стандарт HTML5