我已经阅读了HTML5规范,微数据规范和WHATWG HTML5(带微数据)规范.这些都写得很好,易于理解.
但现在我阅读了schema.org Book规范,并遇到了如下所示的片段:
<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>
Run Code Online (Sandbox Code Playgroud)
显然(与JSON版本相比),这些微数据属性的值是元素content属性的值span.(当然,如果没有content属性,该值是代替textContents所述的span元素.)
但我在HTML和微数据规范中找不到任何对此做法的支持.事实上,我甚至找不到任何证据表明元素content属性存在span!
微数据规范span content在给出值的规则时没有说明属性.[除非'元素的textContent'被content属性覆盖,但我也找不到任何支持.
甚至没有充分WHATWG HTML5 +微数据规范支持权利要求,有一个content上属性span(见的span元件和全局属性).
所以,我想schema.org的例子是不符合的.但这也是错误的吗?如果没有,这种做法来自何处,以及它是如何被接受的?
是的,这是错的.Microdata和HTML5都没有content为span元素定义属性.
有几个人想用它,比如看看这些问题中的代码:
我不确定这种混乱究竟来自哪里.
(谷歌的结构化数据测试工具错误地使用content属性而不是元素内容没有帮助;但至少所有其他微数据解析器似乎都正确地执行了.)
也许有些人糊涂了,因为RDFa的(但不是微观数据)定义和允许content属性的span.请参阅HTML + RDFa 对HTML5语法的扩展:
为避免疑义,以下的RDFa属性被允许在所述HTML5内容模型的所有元素:
@vocab,@typeof,@property,@resource,@prefix,@content,@about,@rel,@rev,@datatype,和@inlist.
| 归档时间: |
|
| 查看次数: |
1130 次 |
| 最近记录: |