Estou adicionando marcações semânticas do schema.org e gostaria de vincular várias delas em partes bastante diferentes da página da web.
Isso funciona quando eu os especifico como pai / filho:
<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>
No entanto, não sei como vinculá-los quando eles são separados pela montanha de 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>
Acho que devo usar "itemref" ou algo para vincular escopos relacionados, mas não consigo fazê-lo funcionar. Olhando para perguntas semelhantes did't ajuda neste caso.
UPDATE: observe que estou procurando especificamente uma solução que funcione através de algum tipo de referência e NÃO funcione através do aninhamento de qualquer tipo. Além disso, a ordenação do segundo exemplo (que não funciona) deve permanecer a mesma (evento primeiro, exercícioAção segundo). (Existem várias razões para isso fora do meu controle).
Especificamente, "funciona" é definido como pelo menos a ferramenta de rich snippets do Google, mostrando que os itens ESTÃO vinculados (como no primeiro exemplo de trabalho)
WebPage
marcação pai e usáitemref
-la também, para que ela não inclua os tipos de item (não relacionados) como filhos. Provavelmente deveria ser outra pergunta.Se entendi sua pergunta corretamente, não feche essa div.
Enquanto a tag correspondente não for encontrada, o que estiver dentro dessa div inicial ainda será considerado parte dessa div inicial, nesse caso, um Evento.
fonte
@Guisasso está correto, você simplesmente não fecha o elemento. Mas, por outro lado, você não está restrito a usar o esquema apenas dentro dos elementos DIV e a usar os intervalos conforme sugerido (meros exemplos). Se a página inteira é sobre itens relacionados a eventos e isso acontece em todo o site, pode fazer mais sentido usar o elemento body, o que significa que o seu modelo se você tiver um que lida automaticamente com a abertura e o fechamento do esquema. Dessa forma, seus artigos preenchem esse conteúdo enquanto o modelo o define.
Por exemplo:
Ou você pode usá-lo no elemento
MAIN
ouARTICLE
se estiver usando HTML5.fonte
Também executei a propriedade additionalType , que poderia ser usada da seguinte maneira
Embora isso ajude com meu problema principal (não ser capaz de reordenar o relacionamento filho-pai do ExerciseAction / Event), ele não ajuda com outro problema (não é possível aninhar esses divs) e é meio desajeitado (não produz o mesma semântica que o exemplo de trabalho original). No entanto, é útil, pois permite a vinculação de tipos de item do schema.org que não possuem elementos pretendidos para vinculação; portanto, você pode vincular, por exemplo, Book ao SportsEvent ou qualquer outra coisa.
Estou respondendo a mim mesmo aqui, caso isso ajude alguém com um problema semelhante, pois realmente não me ajuda (embora possa ser o último recurso se nada melhor acontecer)
fonte