说我有这个有效的微数据增强HTML代码段:
<div itemscope itemtype="http://schema.org/Corporation">
<div itemprop="legalName">Example</div>
</div>
(我已经使用谷歌的结构化数据测试工具对此进行了测试。)
现在我想添加一个在schema.org中没有的属性,但是在另一个词汇中(在这种情况下是W3C注册的Org Vocab [1]):
<div itemscope itemtype="http://schema.org/Corporation">
<div itemprop="legalName">Example</div>
<div itemprop="http://www.w3.org/ns/regorg#registration">XXX</div>
</div>
至少谷歌声称:
Error: Page contains property "http://www.w3.org/ns/regorg#registration" which is not part of the schema.
我可以移除itemtype
,但我不想要这个,因为它失去了保真度[2]
没有其他办法吗?使用RDFa,这没有问题。
修改
我发现[3]建议复制内容,但这显然不是一个好的解决方案。
[1] http://www.w3.org/TR/vocab-regorg/#ref_rov_registration
[2] Using itemprop without itemtype
[3] http://www.w3.org/wiki/Mixing_HTML_Data_Formats#Mixing_Vocabularies_using_Repeated_Content
答案 0 :(得分:0)
Microdata(W3C Note)定义which values itemprop
may have。
使用绝对URI作为itemprop
值始终允许。
除非词汇表(如schema.org)指定在此上下文中使用http://www.w3.org/ns/regorg#registration
值(“[......]在这种情况下允许通过词汇表规范”),否则它将是
[...]专有项目属性名称(即作者出于私人目的使用的名称,未在公共规范中定义)
Google的结构化数据测试工具不是验证器。它主要关注的是报告有关Google私有使用schema.org的警告,这就是为什么您也可能会收到有关缺少“必需”属性的警告(但schema.org doesn’t define any required properties除外)。
FWIW,Yandex’ Structured data validator未报告使用绝对URI作为值的问题。