我正在尝试使用HTML5 微数据来标记我网站中的事件。问题是我的事件有一个工作日频率(例如,“每周一,从 20:00 到 22:00”)并且根据HTML5 微数据规范,开始时间应该使用ISO 8601 日期格式指定,但我不能弄清楚如何使用 ISO 8601 指定“每周一”。
有可能这样做吗?是否有替代标记工作日事件的方法?
预先感谢。
我正在尝试使用HTML5 微数据来标记我网站中的事件。问题是我的事件有一个工作日频率(例如,“每周一,从 20:00 到 22:00”)并且根据HTML5 微数据规范,开始时间应该使用ISO 8601 日期格式指定,但我不能弄清楚如何使用 ISO 8601 指定“每周一”。
有可能这样做吗?是否有替代标记工作日事件的方法?
预先感谢。
考虑向 schema.org 提交的关于改进事件标记的提案:EventSchemaUpdate,pdf
其中一项更改是对重复事件的支持:
重复事件
我们解决了 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”></ time> </span> <span itemprop="occurenceEvent" itemscope itemtype="http://schema.org/Event"> <time itemprop=”startDate” datetime=”2012116”></ time> </span> <span itemprop="occurenceEvent" itemscope itemtype="http://schema.org/Event"> <time itemprop=”startDate” datetime=”2012123”></ time> </span> <span itemprop="occurenceEvent" itemscope itemtype="http://schema.org/Event"> <time itemprop=”startDate” datetime=”2012130”></ 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”></ time> <time itemprop=”endDate” datetime=”201225”></ time> </span> <span itemprop="occurenceEvent" itemscope itemtype="http://schema.org/Event"> <time itemprop=”startDate” datetime=”2012210”></ time> <time itemprop=”endDate” datetime=”2012212”></ time> </span> <span itemprop="occurenceEvent" itemscope itemtype="http://schema.org/Event"> <time itemprop=”startDate” datetime=”2012217”></ time> <time itemprop=”endDate” datetime=”2012219”></ time> </span> <span itemprop="occurenceEvent" itemscope itemtype="http://schema.org/Event"> <time itemprop=”startDate” datetime=”2012224”></ time> <time itemprop=”endDate” datetime=”2012226”></ time> </span> </div>
这种标记方法冗长但概念简单,可以表示日期范围的任意组合。请注意,由于必须明确列出每个实例,因此无法指定永远重复发生(即“每周四晚上 8 点”)。这是设计使然,以防止不再维护的网页中的陈旧、不正确的数据永远存在到未来。
请注意,重复活动(即连续三天提供的摄影课)与多日活动(即为期 3 天的音乐节)不同,尽管有时差异可能很模糊(考虑艺术展览或百老汇演出)。还支持 ISO 8601 重复间隔,以更简洁地表示非常规则的重复。这不是对实际模式的更改,而是澄清如何使用该字段来显式调用对这种重复类型的支持。ISO 8601 重复间隔的重复实例是可能的,但仅在结果事件不重叠且不鼓励的情况下。
现在不确定是否在这个设计中使用它(存在一些更改的风险)。但是您可以关注讨论并参加maillist。
HTML5 微数据规范仅支持单个日期,不支持重复事件。