2014-02-13 74 views
3

說我有這個有效的微增強HTML片段:如何使用多個詞彙與HTML5微(不同的詞彙比schema.org)

<div itemscope itemtype="http://schema.org/Corporation"> 
    <div itemprop="legalName">Example</div> 
</div> 

(我已經與谷歌的結構化數據測試工具來測試這一點)

現在我想添加一個屬性是不可用schema.org但在不同的翻譯(在這種情況下注冊的W3C組織翻譯[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

微數據(W3C注)定義which values itemprop may have

使用絕對URI作爲itemprop值爲總是允許使用

除非詞彙(如schema.org)指定使用在此上下文中http://www.w3.org/ns/regorg#registration值(「[...]允許在這種情況下由一個詞彙規範」),這將是

[... ]專有物品屬性名稱(即作者用於私人用途,未在公開說明中定義的名稱)

Google的結構化數據測試工具不是驗證程序。它主要關注的是報告有關谷歌對schema.org的私人使用的警告,這就是爲什麼你也可能會收到有關缺少「必需」屬性的警告(但根本不存在schema.org doesn’t define any required properties)。

FWIW,Yandex’ Structured data validator不報告使用絕對URI作爲值的問題。

+0

那麼谷歌的「測試工具」並沒有聲稱屬性丟失了,它抱怨該屬性在模式[.org中不是未知]。你知道一個詞彙如何禁止使用項目屬性名稱嗎?我不確定這是正式還是散文。除此之外,我認爲你是對的,關於規範,我的第二個例子應該是有效的。 – vanthome

+0

@vanthome:關於所需的屬性:這只是一個例子來解釋Google的測試工具報告了許多與schema.org的正確使用無關的事情。 - 我不認爲有一種方法可以讓詞彙不允許*類似的東西(詞彙表可以證明某些東西沒有意義。,但這通常不是一個規範性要求,而是像信息指南那樣)。 – unor