回想一下你每天在网上看到的一些事件信息,你会发现一些关于会议、体育赛事、音乐会或者电影里的细节。事件信息有时出现在组织中,有时出现在自然语言中。例如,我可能会在我的博客中写道,“今年11月份,我在曼彻斯特的艾伯特大厅看了Kacey Musgraves的演唱会”。
你不必去网上找一些很难找的事件信息,网站与网站之间使用HTML来标记事件信息的差别很大。这是Kacey Musgraves演唱会在Ticketmaster上的标记:
Albert Hall Manchester, GB
Mon 16/11/15 19:00
Seetickets使用不同的HTML发布了相同的事件:
Kacey Musgraves
Albert Hall, Manchester
at 7:00 PM
人们可以很容易理解它包含一个事件,但是这种HTML没法帮助机器去理解。这使得微格式成了完美的解决方案。
一个日历事件很可能包含:
我们将构建一个单独的事件,用h-event
属性值来指定根元素,然后在一个元素上使用p-name
,甚至是u-url
来表示,以保证我们的事件足够简单。
The Maltese Falcon
我们需要更多有用的信息来展示《The Maltese Falcon》,然而,我们通过在article
嵌入一个使用p-name
属性值的主标题来区分开:
The Maltese Falcon
接下来,我们在一个适当的HTML元素上使用属性值p-summary
,来添加一个简短的摘要,这里我们使用了一个段落:
The Maltese Falcon
A special showing of the remastered
mystery that kicked off the film noir genre of the 1940s…
如果我们的摘要包含多个段落,那么我们可以把标题、段落、列表或者任何其他元素放到一个section
中划分出来做摘要。而不要在一个h-event
里包含多个段落的摘要,否则,这将是一个无效的事件。
让人们知道事件在哪发生,只需要在一个元素上应用属性值p-location
,在这个例子里, 场馆名字用span
包起来:
Showing at
The Scala Cinema and Art Centre
我们应该需要提供更多关于地点的信息,比如地址,我们应该为场地创建一个h-adr
元素,并把它嵌入到h-event
里面。h-adr
里包含相同的地址,这跟我们使用h-card
时一样。
47 High Street
Prestatyn
Denbighshire
Wales
如果这个事件中有个网站,那么我们将会使用和构建h-card
时一样的u-url
属性值:
The Scala
Cinema Website
我们构建的h-event
微格式几乎要完整了,但是还缺少了开始日期和到场时间。首先,我们使用time
元素,并为它添加属性值datetime
来标记开始时间:
显而易见,这是一个开始日期,我们还需要给time
元素添加一个dt-start
属性值:
这个事件是从傍晚持续到晚上10点。所以我们可以把这个时间也添加到我们的datetime
属性里:
微格式按模块化、可嵌入来设计的,因此我们可以很容易把一个人的h-card
嵌入到一个h-event
里。
还记得之前我们为《The Maltese Falcon》标记位置信息吗?我们为场馆名添加了属性值p-location
:
Showing at
The Scala Cinema and Art Centre
现在需要为事件添加更精确的位置信息,所以我们要创建一个h-card
,嵌入到我们的h-event
里。
The Scala Cinema and Art Centre
47 High Street
Prestatyn
Denbighshire
Wales