【发布时间】:2012-04-20 11:58:48
【问题描述】:
在验证我的页面时,W3-Validator 每次都会给我一个错误
<tag addthis:title="AddThis share title" />
我的代码中的属性。如何使这些属性对 HTML5 有效,以便页面验证?我需要这些标签,所以 addthis 为我的共享链接使用正确的标题,所以我无法摆脱它们...
【问题讨论】:
标签: html tags w3c w3c-validation
在验证我的页面时,W3-Validator 每次都会给我一个错误
<tag addthis:title="AddThis share title" />
我的代码中的属性。如何使这些属性对 HTML5 有效,以便页面验证?我需要这些标签,所以 addthis 为我的共享链接使用正确的标题,所以我无法摆脱它们...
【问题讨论】:
标签: html tags w3c w3c-validation
我不得不假设“addthis”是一个 XML 命名空间; html 标签是否声明了类似<html xmlns:addthis=".."> 的内容?如果不是,它将不会验证,因为该文档的命名空间未定义。如果是这样,它将无法验证,因为“addthis”不是标准命名空间。
见:http://www.w3.org/TR/2011/WD-html5-20110405/namespaces.html
让您感到困惑的是“HTML 语法不支持命名空间声明,即使在外来元素中也是如此。”
查看 http://www.w3.org/TR/2011/WD-html5-20110405/syntax.html#elements-0 ,cdr:license 示例。
不幸的是(在您的情况下)HTML5 不是 XML,因此 XML 命名空间在 HTML5 中不一定有效。您唯一真正的选择是忽略验证错误。
不相关的问题:HTML5 validator failing on Facebook OpenGraph XML Namespace xmlns:og
哦,当你在那里时,<tag /> 语法也是 XML,不是 HTML5。
【讨论】:
您不能使它们有效。不在 HTML 中,不在 XHTML 中。 HTML5 中唯一允许的有效自定义属性以“data-”开头。
您可以使您的标记有效 HTML5+something 或 XHTML5+something,但让验证器进行检查并非易事。
【讨论】:
tag 元素无效,它应该在另一个命名空间中。见w3.org/TR/xhtml1/#well-formed