Подтвердить что ты не робот

Microdata schema.org: как смешивать схемы?

hello У меня есть страница (http://schema.org/WebPage), которая содержит обзор (http://schema.org/Review)

возникает вопрос:

  • как работать с дублирующимся содержимым?
  • является правильным, чтобы элементы принадлежали двум или более областям?
  • как это сделать, дважды повторяя текст?
  • или я должен избегать множественных ссылок?

Пример:

<html itemscope itemtype="http://schema.org/WebPage">
    <meta name="description" content="_________" itemprop="description">
    ...
    <div itemscope itemtype="http://schema.org/Review">
        <div itemprop="description">_________</div>
    </div>
    ...
</html>

описание принадлежит обзору и веб-странице, поэтому... что я должен написать в этом случае?

(обратите внимание: в предыдущем примере строка " __" является тем же текстовым абзацем, который повторяется дважды)


EDIT:

может ли это быть решением? (спецификация html5 не говорит об этом, но определяет атрибут itemref)

<html itemscope itemtype="http://schema.org/WebPage" id="WEBPAGE">
    ...
    <div itemscope itemtype="http://schema.org/Review" id="REVIEW">
        <div itemprop="description" itemref="WEBPAGE REVIEW">_________</div>
    </div>
    ...
</html>

ЧУВСТВУЙТЕ СВОБОДНО УЛУЧШИТЬ ВОПРОС!

4b9b3361

Ответ 1

Быстрые ответы

  • как работать с дублирующимся содержимым?
    • используйте атрибут itemref
  • - правильные элементы, относящиеся к двум или более областям?
    • Да, это то, что вы используете itemref для
  • как это сделать, повторяя текст дважды?
    • Нет, вам нужно только обратиться к элементу
  • или я должен избегать множественных ссылок?
    • Я не вижу причин, по которым вы не хотите использовать несколько ссылок

Некоторые примеры

Включить, обернув

Когда вы используете атрибут itemref, вы включаете все свойства, содержащиеся в указанном элементе, в другую область.

<body itemscope itemtype="http://schema.org/WebPage" itemref="wrapper">
    ...
    <div itemscope itemtype="http://schema.org/Review">
        ...
        <div id="wrapper">
            <div itemprop="description">_________</div>

            <div itemprop="some-other-property">_________</div>
        </div>
        ...
    </div>
    ...
</body>

Включить путем упаковки - другой пример

Допустим, у вас есть продукт с несколькими различными предложениями за пределами области.

<div itemscope itemtype="http://schema.org/Product" itemref="wrapper">
    ...
</div>

<div id="wrapper">
    <div itemprop="offers" itemscope itemtype="http://schema.org/Offer">
        ...
    </div>

    <div itemprop="offers" itemscope itemtype="http://schema.org/Offer">
        ...
    </div>

    <div itemprop="offers" itemscope itemtype="http://schema.org/Offer">
        ...
    </div>
</div>

Включить определенное свойство

Возможно, вы захотите включить только одно свойство вне области видимости, чтобы сделать это, мы можем просто установить идентификатор непосредственно на целевом элементе с указанным параметром itemprop.

<body itemscope itemtype="http://schema.org/WebPage" itemref="target">
    ...
    <div itemscope itemtype="http://schema.org/Review">
        <div id="target" itemprop="description">_________</div>
    </div>
    ...
</body>

Несколько ссылок

Возможно, оболочка не применима, тогда вы можете использовать несколько ссылок. Вы разделяете их просто пробелом.

<body itemscope itemtype="http://schema.org/WebPage" itemref="desc name">
    ...
    <div itemscope itemtype="http://schema.org/Review">
        <div id="desc" itemprop="description">_________</div>

        <div id="name" itemprop="name">_________</div>
    </div>
    ...
</body>

Источник

См. также страницы thees для некоторых других объяснений и примеров:
http://www.w3.org/TR/2011/WD-microdata-20110405/
http://www.whatwg.org/specs/web-apps/current-work/multipage/microdata.html