在微数据中使用多种项类型的正确方法

时间:2013-07-17 17:35:47

标签: html5 schema.org microdata

例如,请参阅http://microdatagenerator.org/

例如,宣称我的网页是LocalBusiness还是AutomotiveBusiness的标准化方法是什么?标准文件在哪里明确指明了这一点?

2 个答案:

答案 0 :(得分:5)

W3C Microdata规范(目前是工作草案)说明了itemtype attribute

  

itemtype属性(如果已指定)必须具有一个值,该值是一组区分大小写的唯一空格分隔的无序序列,每个令牌都是有效的绝对URL,并且所有这些都在相同的词汇。属性的值必须至少有一个令牌。

来自相同词汇表的多种类型

因此,您可以在itemtype属性中指定多个项目类型 如果 它们都来自相同的词汇表(例如Schema.org):

<article itemscope itemtype="http://schema.org/HotelRoom http://schema.org/Offer">
 <!-- an MTE (multi-typed entity) 
      with the types 'HotelRoom' and 'Offer' -->
</article>

在您的情况下,通常没有必要提供这两种类型,因为AutomotiveBusiness继承自LocalBusiness(即,每AutomotiveBusiness也是LocalBusiness)。< / p>

来自不同词汇表的多种类型

如果要提供来自多个词汇表的类型,可以使用Schema.org的additionalType属性:

<article itemscope itemtype="http://schema.org/AutomotiveBusiness">
  <link itemprop="additionalType" href="http://www.productontology.org/id/Automobile_repair_shop" />
 <!-- an MTE (multi-typed entity) 
      with the Schema.org type 'AutomotiveBusiness' 
      an an additional PTO type 'Automobile_repair_shop' -->
</article>

具有相同itemid

的多个项目

您还可以提供单独的项目(每个项目都有自己的itemscope),并为它们提供相同的itemid值,从而表明它们大致相同:

<div itemscope itemtype="http://schema.org/HotelRoom" itemid="/rooms/42#this">
</div>

<div itemscope itemtype="http://schema.org/Offer" itemid="/rooms/42#this">
</div>

答案 1 :(得分:0)

@unor是对的。 截至目前,HTML5微数据不可能使用来自不同词汇的项目类型。然而,有关如何启用此问题的讨论[1]。

[1] http://www.w3.org/wiki/WebSchemas/additionalTypeProposal