我想知道DOCTYPE标签是如何产生的。
我理解标记的目的是提醒浏览器它应该如何呈现HTML文档,但我不明白为什么他们为它创建了一个新标记,而不是将该信息作为一个属性。 HTML标记:HTML标记已经可以使用语言属性。
我认为它可能与预处理有关,因为在每个文档的最开头都需要doctype(尽管如果DOCTYPE不存在,HTML标签将位于文档的开头),但我希望比我自己的猜想更明确的答案。
我尝试在Google中使用多个查询来获得答案,但大多数人都会返回“为什么要使用doctype”。
答案 0 :(得分:2)
我理解标记的目的是提醒浏览器它应该如何呈现HTML文档
没有
Doctype将SGML文档与DTD相关联。 DTD用于验证(描述允许哪些元素和属性),以及扩展实体引用。 HTML 4.x及更低版本是SGML应用程序。
XML源自SGML,Doctype在XML中用于相同的目的。 XHTML是一个XML应用程序。
确定呈现模式的用途是浏览器供应商试图处理围绕浏览器中的错误设计的网页的黑客攻击。
HTML 5重新发明Doctype目的,以便向后兼容渲染模式开关。
我不明白为什么他们为它创建了一个新标签,而不是将这些信息作为HTML标签的属性
然后验证者必须在知道是否允许HTML开始标记之前解析HTML开始标记,并且必须先解析它才能扩展其属性值中使用的任何实体引用。