html - 关于 html5 dtd/schema 的另一个问题

标签 html schema dtd

如果没有 DTD 或模式来验证 H5 文档,我们应该如何进行文档验证?通过文档验证,我的意思是“我们应该如何确保我们的 html5 文档在语法上准确且结构合理?”请帮忙!如果我们无法准确验证 HTML5 文档,这将成为我们行业的一个巨大问题!

当然,W3C 有一个在线工具可以验证各个页面。但是,如果我正在创建大量页面(比如数百页)并且我想以某种批处理模式验证它们,那么确保结构和语法有效的公认方法是什么?我的意思是,仅仅查看文档并说“是的,这是一个有效的 xml 文档”似乎相当简陋。自定义标签呢?标签属性呢?似乎 W3C 有点冷落了我们。

也许最好的答案会在 HTML 编辑器中找到。但是你会得到 DTD/schema 碎片。每个编辑器供应商都提出了自己对有效结构的解释。

也许答案是“等待 HTML5 成为官方”。但我真的等不及了。我现在需要开始创建和验证内容。我有一些应用程序要发布,但只能使用 html5 来完成。

那么,有什么想法吗?

最佳答案

If there is no DTD or schema to validate the H5 document against, how are we supposed to do document validation?

使用专门的 HTML5 验证器而不是通用的 SGML 或 XML 验证器。

显然,由于该规范仍处于草案形式,因此现有的工具还不成熟,很可能已经过时或变得过时。

Sure, the W3C has an online tool that validates individual pages. But, if I'm creating A LOT of pages (hundreds, say) and I want to validate them in a sort of batch mode, what is the accepted method of ensuring valid structure and syntax?

要么使用不同的工具,要么下载 W3C 验证器并运行本地副本。它有一个 SOAP API,因此编写批处理验证工具并不困难。

What about custom tags?

HTML5 不允许自定义元素。

What about tag attributes?

HTML5 中唯一的自定义属性是 data-* 属性,因此 HTML 5 验证器可以识别它们。

It seems like the W3C is leaving us out in the cold a little bit here.

您似乎希望 HTML 5(未完成)的 QA 工具状态达到与 HTML 4(已有十多年历史)相同的标准。这不是一个现实的期望。

Maybe the best answer will be found in the HTML editor. But then you get DTD/schema fragmentation. Each editor vendor coming up with their own rendition of what a valid structure is.

即使没有以 DTD 或模式的形式表达,规范也很明确(尽管在不断变化)。如果每个编辑者对什么是有效的有不同的想法,那么他们中的大多数或全部要么已经过时,要么就是有问题。

Maybe the answer is "wait for HTML5 to become official". But I really can't wait for that. I need to start creating and validating content now. I have applications I want to publish that can only be accomplished with html5.

如果您需要生活在前沿,那么您必须接受这样做的局限性和风险。

关于html - 关于 html5 dtd/schema 的另一个问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4055206/

相关文章:

database - 带评分的检查/考试问题/答案的架构

xml - 如何在有效的 XML 文档中定义 HTML 实体引用?

html - 边距和填充(我猜)在浏览器中有所不同

javascript - 检查当前元素是偶数还是奇数

c# - 在 VS2010 : keyboard shortcut schema "Default" vs "Visual C# 2005"

.net - 我可以在 App.config 中声明和使用 DTD 实体吗?

java - TestNG XML 无效

javascript - 这是表单的代码,涉及输入验证。如何让JS代码正常运行?

javascript - 仅当设备基于 iOS 时如何运行 jQuery 代码?

xml - 在 Excel 中使用 XML