2014-11-23 5 views
3

Я прочитал the HTML5 specification, the microdata specification, и the WHATWG HTML5 (with microdata) specification. Они хорошо написаны и понятны.Микроданные HTML5: контент диапазона?

Но теперь я прочитал schema.org Book specification, и наткнулся на фрагменты, как в следующем:

<span itemprop="price" content="6.99">$6.99</span> 
<span itemprop="inLanguage" content="en">English-language</span> 
<span itemprop="name" content="Tolkien, J. R. R. (John Ronald Reuel)"> 
    J. R. R. Tolkien</span> 

Видимо (сравните с версией JSON), значения этих свойств микроданных являются значения content атрибутов span элементов. (Конечно, если нет content атрибута, значение вместо этого textContents из span элемента.)

Но я не могу найти никакой поддержки для этой практики в спецификации HTML и микроданной. На самом деле, я даже не могу найти доказательства того, что есть атрибут content на элементах span вообще!

  • микроданная спецификация ничего не знаю о spancontent атрибута в не сказать, когда она дает правила для values. [Если «элемент TextContent» не переопределяется атрибутом content, но я не могу найти какую-либо поддержки для этого тоже.]

  • Даже не полная WHATWG HTML5 + микроданная спецификации поддерживает требование, что есть атрибут spancontent (см. The span element и Global attributes).

Итак, я предполагаю, что пример schema.org является несоответствующим. Но разве это тоже неправильно? Если нет, то откуда эта практика, и как это принято?

ответ

6

Да, это неправильно. Ни Microdata, ни HTML5 не определяют атрибут content для элемента span.

Некоторые люди хотели использовать его, смотри, например, код в этих вопросах:

Я не уверен, где именно происходит эта путаница.

(Это не поможет, что структурированные данные инструмент тестирования Google, неправильно использует атрибут вместо содержимого элемента content;. Но, по крайней мере, все other Microdata parsers, кажется, сделать это правильно)

Может быть, некоторые люди запутались, потому что RDFa (но не Microdata) определяет и позволяет content attribute для span.Смотрите HTML + RDFa-х Extensions to the HTML5 Syntax:

Во избежание сомнений, следующие атрибуты RDFa разрешены на всех элементов в модели содержимого HTML5: @vocab, @typeof, @property, @resource, @prefix, @content, @about, @rel, @rev , @datatype, и @inlist.

+0

Я привел [вопрос] (https://github.com/rvguha/schemaorg/issues/184) об этом примере Schema.org. – unor

+0

«Плюс один» для получения информации о поведении парсера и гипотезе происхождения путаницы RDFa. –

+0

Этот пример документации показывает атрибут '@ content' с тегом' ', несмотря на текущий стандарт: https://support.google.com/webmasters/answer/146898. Нет ли решения для этого в (других) микроданных (парсерах)? –

2

(К сожалению, у меня не было достаточно репутации, чтобы отправить комментарий.)

Мы в конце 2017 года в настоящее время. Так или иначе, веб-документы MDN (https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/itemprop) и документы схемы (http://schema.org/telephone) все еще предлагают использовать атрибут content на span с использованием микроданных. Конечно, валидатор html5 не согласится с этим.

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