-3

我想知道 DOCTYPE 标签是如何产生的。

我理解标签的目的是提醒浏览器它应该如何呈现 HTML 文档,但我不明白为什么他们为它创建了一个新标签,而不是将这些信息作为 HTML 标签的属性: HTML 标记已经可以采用语言属性。

我认为这可能与预处理有关,因为每个文档的开头都需要文档类型(尽管如果文档类型不存在,HTML 标记将位于文档的开头),但我希望有更多比我自己的猜想更确定的答案。

我尝试在 Google 中使用多个查询来获得答案,但大多数都返回“为什么应该使用 doctype”。

4

1 回答 1

2

我理解标签的目的是提醒浏览器它应该如何呈现 HTML 文档

不。

Doctype 将 SGML 文档与 DTD 相关联。DTD 用于验证(描述在哪里允许哪些元素和属性),以及扩展实体引用。HTML 4.x 及更低版本是 SGML 应用程序。

XML 派生自 SGML,而 Doctype 在 XML 中用于相同目的。XHTML 是一个 XML 应用程序。

确定呈现模式的用途是浏览器供应商试图处理围绕浏览器中的错误设计的网页的一种黑客行为。

HTML 5 重新发明了 Doctype 的用途,以向后兼容呈现模式开关。

我不明白为什么他们为它创建了一个新标签,而不是将这些信息作为 HTML 标签的属性

然后,验证器必须先解析 HTML 开始标记,然后才能知道 HTML 开始标记是否被允许在那里,并且必须先解析它,然后才能扩展其属性值中使用的任何实体引用。

于 2013-04-22T20:45:02.397 回答