"老"HTML/XHTML标准有一个DTD(文件类型的定义)的定义为:

HTML4.01 http://www.w3.org/TR/html401/sgml/dtd.html
XHTML1.0 http://www.w3.org/TR/xhtml1/dtds.html#a_dtd_XHTML-1.0-Strict

这Dtd指定的规则嵌套要素--"哪些类型的要素可能出现在哪些类型的元素"。我做了一个图XHTML1.0在这里 (对不起,我不再有资源)

我想要更新,图的新版本,其中也包括新的HTML5要素。然而,那里似乎并不是一个HTML5DTD。看来这套规则的定义是通过各种内容的模型被限定在HTML5。

因此,没有DTD,正确吗?

后续行动的问题: 还有一个原因为什么没有DTD在HTML5?DTD是这样的一个很好的方法界定的嵌套规则的所有不同种类的元素。为什么他们不包括这样的事情?

更新: 我发现了这个: http://www.w3.org/TR/html5/dom.html#kinds-of-content 我想,这是最接近于具有DTD。

更新: Visual Studio队XML模式为HTML5.我想这回答我的问题: 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

有帮助吗?

解决方案

没有HTML5 DTD。 HTML5的RC明确说,这讨论当XHTML序列化,而这显然适用于串行化HTML以及

的DTD已经由HTML5的设计者认为是在表达能力太有限,和HTML5验证器(基本上 HTTP的HTML5模式: //validator.nu 及复印件在 http://validator.w3.org/nu/ )使用模式和自组织检查,而不是基于DTD的验证。

此外,HTML5已被设计,使得它写入一个DTD是不可能的。例如,没有SGML的方式来捕捉HTML5的规则,任何属性名称以“数据 - ”启动,并符合一定的一般规则是有效的。在SGML中,属性需要被单独地列出,所以一个DTD将需要是无限的。

有可能设计的DTD对应于HTML5的一些疏漏,也许有一些额外的规则强加的,但他们会不会真的是HTML5的DTD。我实验的想法是不是很令人鼓舞:太多的限制,太刁钻,而DTD将需要这么宽容,许多语法错误会去未捕获的。

其他提示

正确的。没有 DTD。但是,HTML5 文档应以 <!DOCTYPE html> 所以有 DOCTYPE,但没有 DTD。

看:

我在PHP的XML的项目创建了一个HTML5 DTD使用。它不漂亮,但它具有良好形成的XHTML5(即,HTML5表示为XML)的工作原理。

您可以从我的帐户到位桶抢在这里:

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

享受!

某些从马库斯sgmljs.net 创建和 分析了 一个 SGML DTD HTML5.1 并开始了 在XML-开发的邮件列表 审查和讨论。讨论围绕着实体定义为止。

我刚完成我的分析W3C的HTML5.1建议 http://sgmljs.net/docs/html5.html (从一个标记语言,而不是 网络开发PoV),我发布了它在这里审查在 形式的初始SGML DTD分析HTML5.1,随着一个漫长 分析的文本。

[…]

我知道份和W3C有由于长期搬离SGML (XML在大多数网络有关的规范工作),将它作为一个 旧技术和有些放肆的态度 说明书的文本和其他地方。但是,作为分析的HTML5的 语法显示出,他们已基本上放弃使用任何正式的方法 产品总数(它显示了在至少两个缺陷中所讨论的 分析)。

没有什么官方的,但也许这一倡议将获得牵引力,或者至少发现其用户作为一个非官方的资源。

我觉得他们废除了旧的DTD,现在我们刚开始HTML页面:<!DOCTYPE HTML>

也许W3C将推出一个最终

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top