我有一个网站编码为XHTML 1.0 Strict。我想使用新的Microdata添加面包屑到我的网站(所以
Google will understand them)。
我的旧的非微数据标记的面包屑看起来像这样:
<ul> <li><a href="...">Level 1</a></li> <li><a href="...">Level 2</a></li> <li><a href="...">Level 3</a></li> </ul>
根据谷歌,要使用Microdata标记面包屑,你扩展上面的代码如下:
<ul> <li itemscope itemtype="http://data-vocabulary.org/Breadcrumb"> <a href="..." itemprop="url"> <span itemprop="title">Level 1</span> </a> </li> ... </ul>
但这是无效的XHTML 1.0 Strict。
我该怎么办?
我应该忽略验证冲突吗?
我应该写itemscope =“itemscope”而不是只有itemscope(这将是有效的XML,但仍然无效的XHTML)?
我应该将Doctype更改为HTML5而不是XHTML 1.0 Strict?
我想这个工作一路回到IE6!
请指教 :)
解决方法
是的,如果您想在XHTML中使用itemscope,则需要编写itemscope =“itemscope”并使用XHTML5(与HTML4相同的DOCTYPE,但是XML语法)。
itemscope不包括在W3 HTML5中,而是存在于WHATWG的版本中,因此验证可能仍然是一个难题。在这个问题上似乎有大约political argument,我没有被关注,因为它看起来相当乏味。
目前,如果要在完成的,可验证的文档格式中使用面包屑注释,您可以改用RDFa:替代(但较旧的)提议,参数是关于,并使用现有的doctype:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML+RDFa 1.0//EN" "http://www.w3.org/MarkUp/DTD/xhtml-rdfa-1.dtd">