【问题标题】:What does exclamation point stand for in HTML in constructs like DOCTYPE and comments?在 HTML 中的 DOCTYPE 和注释等结构中,感叹号代表什么?
【发布时间】:2013-04-25 14:58:41
【问题描述】:

我很好奇doctype和comment标签的语法...

为什么是感叹号?它叫什么,是什么意思/做什么?

我已经通读了 HTML 语法规范,除了发现没有真正的解释

字符串<!DOCTYPE的任何不区分大小写的匹配。

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

【问题讨论】:

    标签: html syntax history


    【解决方案1】:

    在 HTML 名义上基于的 SGML 中,直到并包括 HTML 4.01,感叹号是构造 <! 的一部分,这是 mdo 的参考具体语法,标记声明打开。标记声明不是标记元素,而是通俗地说,与元素相关的声明。这包括文档类型声明、注释声明和实体声明。

    在 XHTML 所基于的 XML 中,没有这样的通用概念。相反,字符对<! 只是出现在某些构造中,没有统一的理论。

    在 HTML5 中,HTML 语法已经以特别的方式定义得非常多,而 doctype 字符串仅称为 doctype 字符串——它除了触发“标准模式”(或“无怪癖模式”)在浏览器中。在 XHTML 语法中,它有它的 XML 含义。

    【讨论】:

    • 这正是我想要的。谢谢!
    • XML 的完美答案:grepping w3.org/TR/xml for <! 显示了每个 <! 语法案例是如何一一定义的。当然,它们的基本思想是:“这是解析器的神奇指令,而不是常规数据的一部分。”
    【解决方案2】:

    ! 用于 cmets (<!-- -->) 并用于定义 HTML 文档的 DOCTYPE (<!DOCTYPE ...>)。 DOCTYPE 描述了文档的一些特征,例如 XML/XHTML/HTML 文件的根(在 HTML 中通常是<html>)、DTDPublic Identifier 和其他子集声明。

    【讨论】:

    • 也用于<![CDATA 部分。
    【解决方案3】:

    来自 Cern 文档的 HTML 规范:

    MDO

    标记声明打开:“

    来源: http://info.cern.ch/hypertext/WWW/MarkUp/Connolly/Text.html

    【讨论】:

      【解决方案4】:

      <!DOCTYPE ...> 是一个 SGML 文档类型声明。它的目的是告诉 SGML 解析器应该使用什么 DTD 来解析文档。

      【讨论】:

        猜你喜欢
        • 2020-08-16
        • 2020-09-23
        • 2011-12-22
        • 2018-11-14
        • 1970-01-01
        • 2013-09-05
        • 2020-05-03
        • 2020-05-26
        • 1970-01-01
        相关资源
        最近更新 更多