我正试图将我的文档验证为xhtml 1.0transitional(w3c)。我有以下错误:
“itemscope”不是为任何属性指定的组的成员
对应于此代码:

<body class="innerpage" itemscope itemtype="http://schema.org/Physician">

<body class="innerpage" itemscope itemtype="http://schema.org/Physician">
<!-- Facebook Conversion Code for Leads -->
<script type="text/javascript" src="js/face.js"></script>
   </body>
</html>

这怎么解决?
谢谢!

最佳答案

不幸的是,这是不可能的,因为http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd对这些属性(itemscope,itemtype)一无所知。您可以通过将that file下载到计算机并尝试在该文档中查找(ctrl+f)单词itemscopeitemtype来说服自己。你将得到0个结果。
所以基本上,从这里开始你有两个选择:
如果要继续使用itemscopeitemtype属性,则
必须切换到html5 doctype,然后您的文档看起来像
具体如下:

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body class="innerpage" itemscope itemtype="http://schema.org/Physician">
<p>Content</p>
</body>
</html>

这将导致:
This document was successfully checked as HTML5!
如果需要保留xhtml文档类型定义,则必须从microdata切换到rdf,您的文档将如下所示:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML+RDFa 1.1//EN"
    "http://www.w3.org/MarkUp/DTD/xhtml-rdfa-2.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Title</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
</head>
<body class="innerpage" vocab="http://schema.org/" typeof="Physician">
<p>Content</p>
</body>
</html>

这将导致:
This document was successfully checked as -//W3C//DTD XHTML+RDFa 1.1//EN!

07-24 21:56