如何在微数据中引用多个 Schema.org 事件的描述?
How do I reference a description from multiple Schema.org Events in Microdata?
我有一个页面包含多个具有相同属性(名称、位置、描述等)的 Schema.org 事件。我已经想出如何通过做这样的事情来处理位置:
<div itemscope itemtype="http://schema.org/Event">
…
<meta itemprop="location" itemscope itemtype="http://schema.org/Place" itemref="venue-place" />
</div>
<span id="venue-place">
<a href="http://www.example.com/" itemprop="url">
<span itemprop="name">Crystal Ballroom</span>
</a>
<span itemprop="address" itemscope itemtype="http://schema.org/PostalAddress">
<span itemprop="streetAddress">1332 W Burnside St.</span>
<span itemprop="addressLocality">Portland</span>,
<span itemprop="addressRegion">OR</span>
<span itemprop="postalCode">97209</span>
</span>
</span>
但是,对于事件的描述,我不知道该怎么做。我做过这样的事情,这使得空描述出现在 Google 的结构化数据测试工具中的事件中:
<div itemscope itemtype="http://schema.org/Event">
…
<meta itemprop="description" itemscope itemref="event-summary" />
</div>
<div id="event-summary">
This is the description text.
</div>
我做错了什么?
itemref
属性允许您引用属性(itemprop
),并且必须在项目上指定(itemscope
),这些属性应该被添加到。
所以你必须
- 将
itemref="event-summary"
移动到Event
元素,并且
- 将
itemprop="description"
移动到具有描述的元素。
<div itemscope itemtype="http://schema.org/Event" itemref="event-summary">
</div>
<div itemprop="description" id="event-summary">
</div>
您最好也为 location
执行此操作,因为 meta
元素没有 content
属性是无效的(但这可以通过添加空属性来解决), 因为你可以用这种方式保存一个元素。
<div itemscope itemtype="http://schema.org/Event" itemref="venue-place event-summary">
</div>
<div itemprop="location" itemscope itemtype="http://schema.org/Place" id="venue-place">
</div>
<div itemprop="description" id="event-summary">
</div>
(请注意,Google 的结构化数据测试工具将使用 Place
元素的 id
值来显示 @id
下的 URI。 在他们的最后,所以不要让这让你感到困惑。如果你想摆脱它,除了为该地点提供 real/actual URI 之外,你还可以添加一个 itemid
属性。)
我有一个页面包含多个具有相同属性(名称、位置、描述等)的 Schema.org 事件。我已经想出如何通过做这样的事情来处理位置:
<div itemscope itemtype="http://schema.org/Event">
…
<meta itemprop="location" itemscope itemtype="http://schema.org/Place" itemref="venue-place" />
</div>
<span id="venue-place">
<a href="http://www.example.com/" itemprop="url">
<span itemprop="name">Crystal Ballroom</span>
</a>
<span itemprop="address" itemscope itemtype="http://schema.org/PostalAddress">
<span itemprop="streetAddress">1332 W Burnside St.</span>
<span itemprop="addressLocality">Portland</span>,
<span itemprop="addressRegion">OR</span>
<span itemprop="postalCode">97209</span>
</span>
</span>
但是,对于事件的描述,我不知道该怎么做。我做过这样的事情,这使得空描述出现在 Google 的结构化数据测试工具中的事件中:
<div itemscope itemtype="http://schema.org/Event">
…
<meta itemprop="description" itemscope itemref="event-summary" />
</div>
<div id="event-summary">
This is the description text.
</div>
我做错了什么?
itemref
属性允许您引用属性(itemprop
),并且必须在项目上指定(itemscope
),这些属性应该被添加到。
所以你必须
- 将
itemref="event-summary"
移动到Event
元素,并且 - 将
itemprop="description"
移动到具有描述的元素。
<div itemscope itemtype="http://schema.org/Event" itemref="event-summary">
</div>
<div itemprop="description" id="event-summary">
</div>
您最好也为 location
执行此操作,因为 meta
元素没有 content
属性是无效的(但这可以通过添加空属性来解决), 因为你可以用这种方式保存一个元素。
<div itemscope itemtype="http://schema.org/Event" itemref="venue-place event-summary">
</div>
<div itemprop="location" itemscope itemtype="http://schema.org/Place" id="venue-place">
</div>
<div itemprop="description" id="event-summary">
</div>
(请注意,Google 的结构化数据测试工具将使用 Place
元素的 id
值来显示 @id
下的 URI。itemid
属性。)