【问题标题】:Yet another question regarding the html5 dtd/schema关于 html5 dtd/schema 的另一个问题
【发布时间】:2011-05-02 14:19:18
【问题描述】:

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

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

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

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

那么,有什么想法吗?

【问题讨论】:

    标签: html schema dtd


    【解决方案1】:

    如果没有 DTD 或模式来验证 H5 文档,我们应该如何进行文档验证?

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

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

    当然,W3C 有一个在线工具可以验证各个页面。但是,如果我要创建很多页面(比如数百个)并且我想以某种批处理模式验证它们,那么确保有效结构和语法的公认方法是什么?

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

    自定义标签呢?

    HTML5 不允许自定义元素。

    标签属性呢?

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

    W3C 似乎有点冷落了我们。

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

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

    规范是清晰的(尽管在不断变化),即使它不是以 DTD 或模式的形式表达的。如果每个编辑器对什么是有效的有不同的想法,那么它们中的大多数或全部都将过时或只是有问题。

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

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

    【讨论】:

    • 谢谢你,大卫。这非常有帮助!
      我特别喜欢您下载 W3C 验证器并运行本地副本的建议。我没有考虑过,我认为这是一个绝妙的主意!
    【解决方案2】:

    您可能会觉得这个问题/答案很有趣:Will HTML 5 validation be worth the candle?。答案是http://about.validator.nu/的开发者写的。

    【讨论】:

    • 谢谢!虽然讨论到最后变得有点讽刺,但 hsivonen 提供了一些有趣的信息。
    【解决方案3】:

    您应该首先查看 http://about.validator.nu/

    那里解决了您的一些问题,尽管不是全部。您可以托管自己的验证器,有一个基于 python 的提交脚本,您可以使用 RESTFUL Web 服务 API,并且有多种方法可以获取各种不同形式的验证输出。

    但是,我看不到一种将 XHTML5 与 XML 的其他应用程序集成在一起的简单方法,以便可以轻松地创建此类复合文档的验证器。不过,并不是说真的有办法用早期版本的 XHTML 做到这一点。

    【讨论】:

      【解决方案4】:

      这对我来说效果很好:https://github.com/hober/html5-el

      为了让它工作,我重命名了默认的“/etc/schema/schemas.xml”文件,以便将它移开,让“html5-el”被nxml-mode使用。

      【讨论】:

        【解决方案5】:

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

        如果使用 Firefox 或 Opera 测试页面,它们都会报告错误,例如代码不是“格式正确”和标签不匹配。除此之外,validator.w3.org 或 validator.nu 等验证器之一肯定会有所帮助。

        当然,W3C 有一个在线工具可以验证各个页面。但是,如果我正在创建很多页面(例如数百个)并且我想以某种批处理模式验证它们,那么确保有效结构和语法的公认方法是什么?我的意思是,仅查看文档并说“是的。这是一个有效的 xml 文档”似乎相当初级。

        有一些方法可以在批处理模式下运行 W3C 验证器。

        自定义标签呢?标签属性呢?似乎 W3C 有点冷落了我们。

        对此的简单回答是“自定义标签”只是被认为是有效的。工作组彻底解决了“分布式可扩展性”的问题,特别是在允许“去中心化 各方创建自己的语言”和“扩展属性”(http://lists.w3.org/Archives/Public/public-html/2011Feb/0085.html)。有多种扩展 HTML 的方法(http:// www.whatwg.org/specs/web-apps/current-work/multipage/infrastructure.html#extensibility)但添加自定义标签不是其中之一。自定义数据和微数据属性应该可以正常验证。

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

        由于 HTML 5 在去年年底(2010 年 12 月)稳定下来,IMO 我们不需要等待它成为 W3C 的官方“推荐”。稳定的规范提供了一个坚实的基础,所有浏览器供应商都可以一致地实施该规范,并为规范的超越 HTML 5 的持续发展提供了坚实的基础,该规范现在被称为“HTML 生活标准”(2011 年 1 月及以后) )。 http://www.HTML-5.com/html-versions-and-history.html#html-versions 有一个很好的图表(向下滚动查看图表)。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2011-10-23
          • 1970-01-01
          • 1970-01-01
          • 2021-04-09
          • 2021-03-11
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多