Относительное разрешение URL-адресов для свойств микроданных


Рабочий проект HTML-микроданных показывает следующий пример:

Предполагая, что страница в http://example.net/some/dataexample содержит следующий код:

<section itemscope itemtype="http://example.org/animals#cat">
 <h1 itemprop="name">Hedral</h1>
 <p itemprop="desc">Hedral is a male american domestic
 shorthair, with a fluffy black fur with white paws and belly.</p>
 <img itemprop="img" src="hedral.jpeg" alt="" title="Hedral, age 18 months">
</section>

Тип элемента: "http://example.org/animals#cat"

В этом примере элемент "http://example.org/animals#cat" имеет три свойства:

http://example.org/animals#name
"Хедрал"

http://example.org/animals#desc
Хедрал - самец американской домашней короткошерстной кошки, с пушистым черным мехом и белыми лапами и живот.

http://example.org/animals#img
hedral.jpeg

Я в замешательстве относительно , почему свойство name решает http://example.org/animals#name?

Я думал, что для этой цели в микроданных используется стандартное относительное разрешение URL, и в этом случае AFAIK должно быть http://example.org/name.

Это ошибка в документации или такое поведение где-то задокументировано?

Author: unor, 2019-06-10

1 answers

itemprop не является обычным атрибутом гиперссылки (например, href или src). Он может содержать абсолютные URL-адреса и/или строки, но не относительные URL-адреса.

Если значение является строкой, URL-адрес свойства формируется путем добавления этой строки к идентификатору словаря.

Этот идентификатор словаря определяется атрибутом itemscope. Есть три случая:

  • Если значение itemscope содержит #,
    значение itemprop будет добавлено после первый #.

  • Если значение itemscope содержит / (и нет #),
    значение itemprop будет добавлено после последнего /.

  • Если значение itemscope не содержит # и нет /,
    будет добавлен /, а после этого будет добавлено значение itemprop /.

 1
Author: unor, 2019-06-10 13:44:21