用于显示具有多个 date/time 的事件的微数据格式
Microdata format for showing an event with multiple date/time
使用微数据,表示具有多个 date/time 预订选项的活动页面的最佳方式是什么?有时活动页面只有一个预订选项,即一组date/time,别无选择,是否需要不同的方法?
<section>
<h1>Tennis Lessons</h1>
<ol>
<li>Book Tickets for
<time datetime="2001-05-15 19:00">May 15</time>
</li>
<li>Book Tickets for
<time datetime="2001-05-16 19:00">May 16</time>
</li>
<li>Book Tickets for
<time datetime="2001-05-17 19:00">May 17</time>
</li>
</ol>
</section>
或者这是错误的处理方式,events
是 product
的 children?
<section itemscope itemtype="http://schema.org/Product">
<h1 itemprop="name">Tennis Lessons</h1>
<ol>
<li itemscope itemtype="http://schema.org/Event">Book Tickets for
<time datetime="2001-05-15 19:00">May 15</time>
</li>
<li itemscope itemtype="http://schema.org/Event">Book Tickets for
<time datetime="2001-05-16 19:00">May 16</time>
</li>
<li itemscope itemtype="http://schema.org/Event">Book Tickets for
<time datetime="2001-05-17 19:00">May 17</time>
</li>
</ol>
</section>
在这种情况下,在预订确认页面上,将整个部分包裹在 event
微数据中是正确的,因为它只有一个可能的 date/time 选项?
Schema.org 定义 Event
发生 "at a certain time"。所以每节课都应该由它自己的 Event
项来表示。
如果您可以在您的页面上预订课程,您可能希望为每个 Event
使用 offers
property and provide an Offer
。
第二个代码段中的嵌套(Product
项中的 Event
项)对微数据 (example) 没有影响。如果要连接微数据项,则必须使用 属性(在 itemprop
属性中)。
虽然您可以使用 Product
来表示您提供网球课程服务这一事实,但在这方面似乎 Product
type is missing a suitable property to reference an Event
item. The typical solution would be to use both types, but Microdata is rather limited(与 RDFa 一起使用效果更好)。
如果您想为所有事件提供相同的数据,您可以使用 itemref
属性(而不是为每个事件重复它)。
所以基本结构可能是这样的:
<section>
<h1>Tennis Lessons</h1>
<p itemprop="description" id="event-desc">…</p>
<ol>
<li itemscope itemtype="http://schema.org/Event" itemref="event-desc">
<div itemprop="offers" itemscope itemtype="http://schema.org/Offer">
</div>
</li>
<li itemscope itemtype="http://schema.org/Event" itemref="event-desc">
<div itemprop="offers" itemscope itemtype="http://schema.org/Offer">
</div>
</li>
</ol>
</section>
使用微数据,表示具有多个 date/time 预订选项的活动页面的最佳方式是什么?有时活动页面只有一个预订选项,即一组date/time,别无选择,是否需要不同的方法?
<section>
<h1>Tennis Lessons</h1>
<ol>
<li>Book Tickets for
<time datetime="2001-05-15 19:00">May 15</time>
</li>
<li>Book Tickets for
<time datetime="2001-05-16 19:00">May 16</time>
</li>
<li>Book Tickets for
<time datetime="2001-05-17 19:00">May 17</time>
</li>
</ol>
</section>
或者这是错误的处理方式,events
是 product
的 children?
<section itemscope itemtype="http://schema.org/Product">
<h1 itemprop="name">Tennis Lessons</h1>
<ol>
<li itemscope itemtype="http://schema.org/Event">Book Tickets for
<time datetime="2001-05-15 19:00">May 15</time>
</li>
<li itemscope itemtype="http://schema.org/Event">Book Tickets for
<time datetime="2001-05-16 19:00">May 16</time>
</li>
<li itemscope itemtype="http://schema.org/Event">Book Tickets for
<time datetime="2001-05-17 19:00">May 17</time>
</li>
</ol>
</section>
在这种情况下,在预订确认页面上,将整个部分包裹在 event
微数据中是正确的,因为它只有一个可能的 date/time 选项?
Schema.org 定义 Event
发生 "at a certain time"。所以每节课都应该由它自己的 Event
项来表示。
如果您可以在您的页面上预订课程,您可能希望为每个 Event
使用 offers
property and provide an Offer
。
第二个代码段中的嵌套(Product
项中的 Event
项)对微数据 (example) 没有影响。如果要连接微数据项,则必须使用 属性(在 itemprop
属性中)。
虽然您可以使用 Product
来表示您提供网球课程服务这一事实,但在这方面似乎 Product
type is missing a suitable property to reference an Event
item. The typical solution would be to use both types, but Microdata is rather limited(与 RDFa 一起使用效果更好)。
如果您想为所有事件提供相同的数据,您可以使用 itemref
属性(而不是为每个事件重复它)。
所以基本结构可能是这样的:
<section>
<h1>Tennis Lessons</h1>
<p itemprop="description" id="event-desc">…</p>
<ol>
<li itemscope itemtype="http://schema.org/Event" itemref="event-desc">
<div itemprop="offers" itemscope itemtype="http://schema.org/Offer">
</div>
</li>
<li itemscope itemtype="http://schema.org/Event" itemref="event-desc">
<div itemprop="offers" itemscope itemtype="http://schema.org/Offer">
</div>
</li>
</ol>
</section>