用于显示具有多个 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>

或者这是错误的处理方式,eventsproduct 的 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>