Относительное разрешение 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
.
Это ошибка в документации или такое поведение где-то задокументировано?
1 answers
itemprop
не является обычным атрибутом гиперссылки (например, href
или src
). Он может содержать абсолютные URL-адреса и/или строки, но не относительные URL-адреса.
Если значение является строкой, URL-адрес свойства формируется путем добавления этой строки к идентификатору словаря.
Этот идентификатор словаря определяется атрибутом itemscope
. Есть три случая:
Если значение
itemscope
содержит#
,
значениеitemprop
будет добавлено после первый#
.Если значение
itemscope
содержит/
(и нет#
),
значениеitemprop
будет добавлено после последнего/
.Если значение
itemscope
не содержит#
и нет/
,
будет добавлен/
, а после этого будет добавлено значениеitemprop
/
.