Я добавляю семантические разметки schema.org и хотел бы связать несколько из них в совершенно разных частях веб-страницы вместе.
Это работает, когда я указываю их как родитель / ребенок:
<div itemscope itemtype="http://schema.org/ExerciseAction">
<span itemprop="distance">11 km</span>
<div itemprop="event" itemscope itemtype="http://schema.org/Event">
<span itemprop="name">first event</span>
<span itemprop="startDate">2001-01-01</span>
</div>
</div>
Тем не менее, я не знаю, как связать их, когда они разделены горой HTML:
<div itemscope itemtype="http://schema.org/Event">
<span itemprop="name">some event</span>
<span itemprop="startDate">2002-02-02</span>
</div>
<!--
....
zillion other HTML stuff
...
-->
<div itemscope itemtype="http://schema.org/ExerciseAction">
<span itemprop="distance">22 km</span>
</div>
Я думаю, что я должен использовать "itemref" или что-то, чтобы связать связанные области, но я не могу заставить его работать. Глядя на подобные вопросы не помогло в этом случае.
ОБНОВЛЕНИЕ: обратите внимание, что я специально ищу решение, которое работает через какие-то ссылки и НЕ работает через вложенность любого типа. Кроме того, порядок второго (нерабочего) примера должен оставаться прежним (событие сначала, второе действие ExerciseAction). (Есть несколько причин для этого вне моего контроля).
В частности, "это работает" определяется как инструмент, по крайней мере, Google Rich Snippets, показывающий, что элементы связаны друг с другом (как это происходит в первом рабочем примере).
WebPage
разметку и использовать ееitemref
там, чтобы она не включала (не связанные) типы элементов в качестве дочерних. Наверное, должен быть другой вопрос.Если я правильно понимаю ваш вопрос, просто не закрывайте этот раздел.
Пока соответствующий тег не найден, все, что находится внутри этого начального div, все равно будет считаться частью этого начального div, в этом случае, Event.
источник
@ Guisasso правильно, вы просто не закрываете элемент. Но с другой стороны, вы не ограничены использованием схемы только внутри элементов DIV и использованием диапазонов, как это предлагается (простые примеры). Если вся страница связана с событиями, связанными с событиями, и это относится ко всему сайту, то, возможно, имеет смысл использовать элемент body, который означает ваш шаблон, если он у вас есть, который автоматически открывает и закрывает схему. Таким образом, ваши статьи просто заполняют этот контент, пока шаблон задает его.
Например:
Или вы можете использовать его в элементе
MAIN
или,ARTICLE
если вы используете HTML5.источник
Я также бежать additionalType собственности, которая может быть использована следующим образом
хотя это помогает с моей основной проблемой (неспособность переупорядочить дочерние и родительские отношения ExerciseAction / Event), это не помогает с другой проблемой (неспособность вложить эти элементы div), и это немного глупо (не производит та же семантика, что и в оригинальном рабочем примере). Тем не менее, это полезно, поскольку позволяет связывать типы элементов schema.org, которые не имеют предназначенных элементов для связывания, так что вы можете связать, например, Book с SportsEvent или что-то еще.
Я отвечаю себе здесь на всякий случай, если это поможет кому-то еще с подобной проблемой, поскольку это действительно не помогает мне (хотя это могло бы быть крайним прибежищем, если ничто лучше не подходит)
источник