2015-03-19 4 views
2

У меня есть следующий HTML:Как разделить предметы на несколько элементов HTML?

<body itemscope itemtype="http://schema.org/WebPage"> 
    <header itemscope itemtype="http://schema.org/WPHeader"> 
    <nav itemscope itemtype="http://schema.org/SiteNavigationElement"> 
    </nav> 
    ... 
    <div itemscope itemtype="http://schema.org/Organization" itemref="objectDetails"> 
     <span itemprop="name">Org name</span><br> 
     <span itemprop="address" itemscope itemtype="http://schema.org/PostalAddress"> 
     ... 
     </span> 
    </div> 
    </header> 
    <ul itemprop="breadcrumb" itemscope itemtype="http://schema.org/BreadcrumbList"> 
    <li itemprop="itemListElement" itemscope itemtype="http://schema.org/ListItem">..</li> 
    ... 
    </ul> 
    <div id="objectDetails"> 
    <div itemprop="description">...</div> 
    <div itemprop="foundingDate">...</div> 
    ... 
    </div> 
</body> 

Эта веб-страница отображается информация об одной конкретной организации. Некоторая информация об организации должна отображаться в заголовке страницы, другая - в центре страницы. С помощью атрибута itemref я могу разделить информацию об организации и разместить ее на двух отдельных div.

Если я проверить выше HTML с помощью Google инструмент тестирования структурированных данных - извлекает информацию об организации правильно - свойства обоих дивы показаны, но он показывает ошибку проверки на веб-странице объекта:

Свойство foundingDate не признана Google для объекта типа WebPage.

Каков правильный способ сообщить Google, что свойства, находящиеся внутри объектаДетали, div не принадлежит внешнему предмету (WebPage)? Если я добавлю itemscope itemtype="http://schema.org/Organization" в объектDetails div - тогда Google видит две отдельные организации на моем WebPage.

+0

Возможно, вы можете решить эту проблему, сохранив группировку данных в соответствии со своей логической структурой и используя форматирование (например, абсолютное позиционирование), чтобы заставить его отображаться там, где вы хотите визуально? – CBroe

ответ

2

Это невозможно.

Возможные "решения":

  • Не используйте пункт на "контейнер", как html или body. Используйте его на элементе, который не охватывает весь контент, и при необходимости используйте itemref.

  • Используйте несколько элементов и укажите тот же URI в itemid для них. Однако неясно if/when/how Schema.org supports itemid, и поддержка от потребителей, вероятно, плохая.

    (Использование RDFa instead of Microdata позволило бы это естественно.)

  • Добавить нетипизированный элемент (путем добавления itemscope без itemtype) на элемент, содержащий все свойства, которые вы не хотите, чтобы добавить к исходному родительскому элементу. Примеры: 1, 2, 3.

Смежные вопросы