没有HTML5 DTD。HTML5 RC 在讨论XHTML序列化时明确指出了这一点,这显然也适用于HTML序列化。
HTML5的设计者认为DTD的表达能力太受限制,因此使用HTML5验证器(基本上是http://validator.nu的HTML5模式及其在http://validator.w3.org/nu/的副本)。模式和临时检查,而不是基于DTD的验证。
而且,HTML5的设计使其不可能编写DTD。例如,没有SGML方式可以捕获HTML5规则,即任何以“
data-”开头并符合某些通用规则的属性名称都是有效的。在SGML中,属性需要单独列出,因此DTD必须是无限的。
可以设计一些与HTML5相对应的DTD,但有一些遗漏之处,也可以施加一些额外的规则,但是它们并不是真正的HTML5
DTD。我对该想法的实验并不十分令人鼓舞:太多的限制,太多的棘手问题和DTD必须太宽容,以至于无法捕获许多语法错误。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)