代码之家  ›  专栏  ›  技术社区  ›  Å ime Vidas Zim84

HTML5文档类型定义在哪里?

  •  63
  • Å ime Vidas Zim84  · 技术社区  · 14 年前

    “旧”HTML/XHTML标准定义了DTD(文档类型定义):

    HTML 4.01格式 http://www.w3.org/TR/html401/sgml/dtd.html
    http://www.w3.org/TR/xhtml1/dtds.html#a_dtd_XHTML-1.0-Strict

    此DTD指定嵌套元素的规则-“哪些类型的元素可能出现在哪些类型的元素中”。我在这里为XHTML1.0制作了一个图表 (对不起,我已经没有这个资源了)

    所以没有DTD,对吧?

    后续问题:

    更新: 我发现这个: http://www.w3.org/TR/html5/dom.html#kinds-of-content

    更新: Visual Studio团队为XHTML5制作了一个XML模式。我想这回答了我的问题: http://blogs.msdn.com/b/webdevtools/archive/2009/11/18/html-5-intellisense-and-validation-schema-for-visual-studio-2008-and-visual-web-developer.aspx

    5 回复  |  直到 9 年前
        1
  •  61
  •   vhs    5 年前

    没有HTML5 DTD。HTML5 RC显式地 says this

    DTD被HTML5的设计者认为在表达能力上过于有限,HTML5验证程序(基本上是 http://validator.nu http://validator.w3.org/nu/ )使用模式和特别检查,而不是基于DTD的验证。

    此外,HTML5的设计使得为其编写DTD是不可能的。例如,没有SGML方法来捕获HTML5规则,即任何以数据开头并符合某些常规规则的属性名都是有效的。在SGML中,属性需要单独列出,因此DTD需要是无限的。

    设计与HTML5相对应的dtd是可能的,可能会有一些遗漏,也可能会附加一些规则,但它们并不是真正的html5dtd。我的 experiment

        2
  •  23
  •   Adam    14 年前

    对的。没有DTD。然而,HTML5文档应该以 <!DOCTYPE html> 所以有一个DOCTYPE,但没有DTD。

        3
  •  7
  •   Kevin    10 年前

    我已经创建了一个HTML5DTD用于我的PHPXML项目。它并不漂亮,但它可以与格式良好的XHTML5(即用XML表示的HTML5)一起工作。

    你可以从我的bitbucket帐户中获取它:

    https://bitbucket.org/kashbridge/dtd/overview

        4
  •  2
  •   Palec dr. evil    8 年前

    来自sgmljs.net的某些Marcus创建了 analyzed 一个 SGML DTD for HTML 5.1 thread in the XML-DEV mailing list 供审查和讨论。到目前为止,讨论围绕实体定义展开。

    我刚刚在 http://sgmljs.net/docs/html5.html (来自标记语言而不是 用于解析HTML5.1的初始SGMLDTD的形式,以及 分析文本。

    []

    我知道WHATWG和W3C早就离开了SGML (在大多数与web相关的规范工作中是XML),将其视为 规范文本和其他地方。但是作为对HTML5的分析 一起(它至少显示了 分析)。

        5
  •  0
  •   Blake Killnine    14 年前

    我想他们已经抛弃了旧的DTD,现在我们只需要从以下内容开始HTML页面: <!DOCTYPE HTML>