Что означает восклицательный знак в HTML в конструкциях, таких как DOCTYPE и comments?

Мне любопытен синтаксис тегов doctype и comment...

почему восклицательный знак? Как это называется, что это значит/делать?

Я прочитал спецификацию синтаксиса HTML и не нашел никакого реального объяснения, кроме

любое совпадение без учета регистра для строки <!DOCTYPE.

Cite:http://www.w3.org/TR/html-markup/syntax.html#doctype-syntax

4 ответов


в SGML, на котором номинально основан HTML, вплоть до HTML 4.01, восклицательный знак является частью конструкции <!, который является ссылочным конкретным синтаксисом для mdo, объявление разметки открыто. Объявления разметки - это не элементы разметки, а, неофициально говоря, объявления, относящиеся к элементам. Это включает объявление типа документа, объявления комментариев и объявления сущностей.

в XML, на котором основан XHTML, нет общего такая концепция. Вместо этого пара символов <! просто появляется в некоторых конструкциях, без единой теории.

в HTML5 синтаксис HTML был определен очень специальным образом, а строка doctype называется просто строкой doctype – она не имеет никакой роли и никакого значения, кроме ожидаемого эффекта запуска "стандартного режима" (или "режима без причуд") в браузерах. В синтаксисе XHTML он имеет значение XML.


на ! используется для комментариев (<!-- -->) и определить DOCTYPE (<!DOCTYPE ...>) документа HTML. DOCTYPE описывает некоторые характеристики документа, такие как корень XML/XHTML/HTML-файла (в HTML обычно <html>), a DTD, a Общедоступный Идентификатор и другие объявления подмножество.


из спецификации HTML из документов Cern:

MDO

Объявление Разметки Открыто:"

источник: http://info.cern.ch/hypertext/WWW/MarkUp/Connolly/Text.html


на <!DOCTYPE ...> является объявлением типа документа SGML. Его цель-сообщить синтаксическому анализатору SGML, какой DTD он должен использовать для анализа документа.