我可以在Schema.org的一个itemscope中使用多个项类型吗?

时间:2014-02-22 23:20:24

标签: microdata schema.org

我想知道我是否可以在一个项目范围内使用多个项类型。例如,我现在有这个:

<body id="home" itemscope itemtype="http://schema.org/WebPage">       
  <div class="wrapper" itemscope itemtype="http://schema.org/ProfessionalService">
    <p itemprop from professional service></p>
    <p itemprop from web page></p>
  </div>
</body>

当我在Google的Web开发人员工具中进行结构化数据测试时,它只会选择专业服务架构中的项目,并且忽略与网页架构相关的每个itemprop,并且不会将其识别为专业服务的一部分。我理解嵌套它们以及它为什么会发生。

我可以在项目范围内拥有多个项目类型吗?如:

<div class="wrapper" itemscope itemtype="http://schema.org/ProfessionalService http://schema.org/WebPage">
    <p itemprop from professional service></p>
    <p itemprop from web page></p>
</div>

1 个答案:

答案 0 :(得分:6)

是的,您可以在一个itemtype属性中使用多种项目类型,只要它们来自相同的词汇表。见Microdata: itemtype

  

itemtype属性(如果已指定)必须具有一个值,该值是一组区分大小写的唯一空格分隔标记的无序集合,每个标记都是一个绝对URL的有效URL,并且所有其定义使用相同的词汇。

但请注意,然后需要为所有指定的项类型定义所有属性(itemprop值)。因此,您不能说特定属性应仅属于特定项类型。

所以你仍然有同样的问题。在您的情况下,您应该使用正确的嵌套,或者您可以使用itemref attribute将属性添加到页面上分散的相应项目。


FWIW,schema.org词汇表还定义了additionalType property。这也可用于指定其他词汇表中的其他项类型。但是这不允许您使用附加项类型中的属性。