1

我正在尝试使用HTML5 微数据来标记我网站中的事件。问题是我的事件有一个工作日频率(例如,“每周一,从 20:00 到 22:00”)并且根据HTML5 微数据规范,开始时间应该使用ISO 8601 日期格式指定,但我不能弄清楚如何使用 ISO 8601 指定“每周一”。

有可能这样做吗?是否有替代标记工作日事件的方法?

预先感谢。

4

2 回答 2

1

考虑向 schema.org 提交的关于改进事件标记的提案:EventSchemaUpdatepdf

其中一项更改是对重复事件的支持:

重复事件

我们解决了 startDate 和 endDate 对是可重复的需求(即,用于通过枚举而不是 ISO8601 重复规则描述的重复事件)。这是通过允许任何事件携带一个“occurrenceEvent”属性来实现的,该属性的值是另一个事件实体。实际上,这使得单个通用事件描述充当一种模板,该模板引用特定的事件,然后通常至少使用 startDate 和 endDate 进行描述,但也可能使用任何其他面向事件的词汇表。(旁白:这类似于 Good Relations ProductModel 构造,即http://schema.org/ProductModel,它还使用原型实例来捕获模板式重复)。如果单个事件有多个列出的开始和结束日期对(通过occurrenceEvent),则意味着该事件在这些场合中的每一个都重复。

例如:

1) 活动于 2012 年 1 月每周一重复。

<div itemscope itemtype="http://schema.org/Event"> ...
<span itemprop="occurenceEvent" itemscope itemtype="http://schema.org/Event">
<time itemprop=”startDate” datetime=”201212”&gt;</
time>
</span>
<span itemprop="occurenceEvent" itemscope itemtype="http://schema.org/Event">
<time itemprop=”startDate” datetime=”2012116”&gt;</
time>
</span>
<span itemprop="occurenceEvent" itemscope itemtype="http://schema.org/Event">
<time itemprop=”startDate” datetime=”2012123”&gt;</
time>
</span>
<span itemprop="occurenceEvent" itemscope itemtype="http://schema.org/Event">
<time itemprop=”startDate” datetime=”2012130”&gt;</
time>
</span>
</div>

2) 活动在 2012 年 2 月的每个周末重复。

<div itemscope itemtype="http://schema.org/Event"> ...
<span itemprop="occurenceEvent" itemscope itemtype="http://schema.org/Event">
<time itemprop=”startDate” datetime=”201223”&gt;</
time>
<time itemprop=”endDate” datetime=”201225”&gt;</
time>
</span>
<span itemprop="occurenceEvent" itemscope itemtype="http://schema.org/Event">
<time itemprop=”startDate” datetime=”2012210”&gt;</
time>
<time itemprop=”endDate” datetime=”2012212”&gt;</
time>
</span>
<span itemprop="occurenceEvent" itemscope itemtype="http://schema.org/Event">
<time itemprop=”startDate” datetime=”2012217”&gt;</
time>
<time itemprop=”endDate” datetime=”2012219”&gt;</
time>
</span>
<span itemprop="occurenceEvent" itemscope itemtype="http://schema.org/Event">
<time itemprop=”startDate” datetime=”2012224”&gt;</
time>
<time itemprop=”endDate” datetime=”2012226”&gt;</
time>
</span>
</div>

这种标记方法冗长但概念简单,可以表示日期范围的任意组合。请注意,由于必须明确列出每个实例,因此无法指定永远重复发生(即“每周四晚上 8 点”)。这是设计使然,以防止不再维护的网页中的陈旧、不正确的数据永远存在到未来。

请注意,重复活动(即连续三天提供的摄影课)与多日活动(即为期 3 天的音乐节)不同,尽管有时差异可能很模糊(考虑艺术展览或百老汇演出)。还支持 ISO 8601 重复间隔,以更简洁地表示非常规则的重复。这不是对实际模式的更改,而是澄清如何使用该字段来显式调用对这种重复类型的支持。ISO 8601 重复间隔的重复实例是可能的,但仅在结果事件不重叠且不鼓励的情况下。

现在不确定是否在这个设计中使用它(存在一些更改的风险)。但是您可以关注讨论并参加maillist

于 2013-09-09T21:09:56.020 回答
0

HTML5 微数据规范仅支持单个日期,不支持重复事件。

于 2013-09-08T22:05:27.957 回答