在我的网页上添加微数据之后,我从W3C验证器那里抱了很多错误抱怨itemprop
:
没有属性“
itemprop
”
来自这样的代码:
<p itemprop="description">...</p>
这是我的DOCTYPE和html
代码
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:fb="http://www.facebook.com/2008/fbml">
如何修复验证程序错误?
P.S。以前我也有itemscope
的验证码错误。但在我将其更改为itemscope="itemscope"
之后,错误就修复了。
答案 0 :(得分:15)
带有HTML 5加Microdata的文档用于验证成功,但由于Bug #14020验证程序在将文档声明为“有效”时变得更加严格。您的文档是有效的HTML 5 + Microdata,但不是严格意义上的HTML 5文档。
您可以使用http://Validator.nu/来验证HTML 5 +微数据。
在Fabian的回答中链接的网站是不他提及的 W3C 网站,所以我不相信HTML 5对于早先可能有的(2000年以前)versions of HTML。
你必须将itemscope更改为itemscope =“itemscope”的原因是以前的浏览器和规范定义了代码的不兼容解释(有时是真的,有时是假的),例如itemscope(没有值),itemscope =“”(空string被XPath解释为false并且itemscope =“false”(任何非空字符串有时被解释为true)。因此,规范中的声明“布尔属性上不允许使用值'true'和'false'。”但是,“true”和“false”可以出现在某些属性值中,因为它们 允许枚举属性,例如draggable。有关coding boolean values的内容,请参阅第4章。
使用脚本编写插入无效代码的解决方法(其他地方)可能会隐藏验证程序中的代码,但它不会创建比使用静态HTML代码更有效的文档,因为HTML 5规范是根据内部文档模型,而不是外部表示。请参阅HTML 5 Specifications focus on the DOM。
答案 1 :(得分:4)
好的,以下是我使用Validator进行此操作的方法:
参考此页:http://www.w3.org/TR/2011/WD-microdata-20110525/
我将主要内容包含在我的页面中(如果你愿意,请将“包装”)包含在内:
<div id="layout" itemscope>
如果你的页面的div标签或包含微数据的div有itemcope,那么W3C Validtor会很喜欢它。
答案 2 :(得分:1)
DOCTYPE需要是HTML5才能验证微数据。
<!DOCTYPE html>
<html xmlns:fb="http://www.facebook.com/2008/fbml">
.....
它适用于段落标记:
答案 3 :(得分:0)
如果您只想删除此标记,可以通过从位于主根文件夹中的文件中删除标记来实现此目的
在 891行“ wp-includes / general-template.php ”
你可以删除额外的标签。