После долгих поисков того, как правильно ссылаться на один элемент из другого, я нашел этот минимальный пример , который демонстрирует, как ссылаться на Organization
элемент как branchOf
из Hotel
пункт. Он определяет атрибут itemprop="branchOf"
в Organization
, который становится свойством элемента Hotel
после ссылки на него.
<div itemprop="branchOf" itemscope itemtype="http://schema.org/Organization" id="schema-organization">
<h1 itemprop="name">The Hotel Chain</h1>
</div>
<div itemscope itemtype="http://schema.org/Hotel" itemref="schema-organization">
<h2 itemprop="name">Hotel Location 1</h2>
</div>
Этот пример подтверждает.
Но теперь мне нужно добавить Person
, который работает для этого Organization
. Я мог бы использовать ту же концепцию, определив itemprop="worksFor"
на Organization
, а затем сославшись на это из моего Person
, вот так:
<div itemprop="worksFor" itemscope itemtype="http://schema.org/Organization" id="schema-organization">
<h1 itemprop="name">The Hotel Chain</h1>
</div>
<div itemscope itemtype="http://schema.org/Hotel" itemref="schema-organization">
<h2 itemprop="name">Hotel Location 1</h2>
</div>
<div itemscope itemtype="http://schema.org/Person" itemref="schema-organization">
<div itemprop="name">John Doe</div>
</div>
И Person
правильно получает worksFor
атрибут, чтобы показать здесь Organization
.
Но теперь мне нужно удалить itemref
из Hotel
, иначе он жалуется, что не распознает атрибут worksFor
. И если я это сделаю, Hotel
больше не будет ссылаться на Organization
каким-либо образом, поэтому это не его ветвь.
Значит, это ситуация либо-либо.
Как я могу декларировать оба? Person
должен работать с Organization
, а Hotel
должен быть ветвью Organization
.