J'essaie de relier un Brand
à un Product
avec le code suivant:
<div itemscope itemtype="http://schema.org/Product" id="p2000">
...
<meta itemprop="brand" itemscope itemtype="http://schema.org/Brand" itemref="v1437"/>
...
</div>
La Brand
est déjà définie sur la même page Web ci-dessus, à l'intérieur d'un bloc indépendant:
<h1 itemscope itemtype="http://schema.org/Brand" id="v1437">
<span itemprop="name">MyBrand</span>
<meta itemprop="url" content="http://www.example.com/MyBrand"/>
<meta itemprop="logo" content="http://www.example.com/MyBrand/logo.png"/>
</h1>
Le validateur ne trouve pas la propriété name
à l'intérieur de l'objet lié Brand
.
Le lien entre une Brand
et une Person
semble fonctionner, mais l'objet Person
n'affiche pas le nom de Brand
:
Je peux utiliser les attributs itemref
et id
sur d'autres objets. Je peux relier Offer
s à Product
s et Offer
s à Person
s de la même manière.
Est-ce un bug du validateur?
itemref
ne fonctionne pas comme ça.
Vous devez ajouter l'attribut itemref
à l'élément auquel vous souhaitez appliquer une propriété, et cette propriété doit être définie sur un élément avec l'ID correspondant.
Donc, votre exemple devrait être:
<div itemscope itemtype="http://schema.org/Product" itemref="v1437">
</div>
<h1 itemprop="brand" itemscope itemtype="http://schema.org/Brand" id="v1437">
<span itemprop="name">MyBrand</span>
<link itemprop="url" href="http://www.example.com/MyBrand"/>
<link itemprop="logo" href="http://www.example.com/MyBrand/logo.png"/>
</h1>
(J'ai changé deux meta
éléments en link
éléments, ce qui est obligatoire si la valeur est un URI .)
je suppose que vous obtenez des identifiants différents: en cas de <meta itemprop="brand" itemscope itemtype="http://schema.org/Brand" itemref="v1437"/>
est-ce que c'est v1437, en cas de <div itemscope itemtype="http://schema.org/Product"></div>
ce sera p1437: c'est pourquoi ils ne correspondent pas et l'outil de test ne peut pas les reconnaître correctement