【发布时间】:2014-01-26 21:47:32
【问题描述】:
在以下示例中,Microdata 的 itemref 属性用于将 email 属性添加到 Person 项目(均来自虚构的 Microdata 词汇表)。
<body>
<div itemscope itemtype="http://example.org/Person" itemref="orphan">
<span itemprop="name">Alice</span>
</div>
<div id="orphan" itemprop="email">
alice@example.com
</div>
</body>
这是有效的微数据吗?
如果我正确理解"Associating names with items" algorithm,“itemrefed”属性不是移动而是复制,这使得这个“孤儿”itemprop 没有项父项。
有three valid cases for itemprop values。以下似乎最接近:
如果项目不是类型化项目:不包含“.”的字符串(U+002E) 个字符,没有“:” (U+003A) 个字符。
(这意味着孤立的属性不是“定义的属性名称”,即它不再属于虚构的词汇表(只有“复制的”属性才属于)。)
但是:有no "item" involved, as there is no itemscope。
所以你不能在没有父 itemscope 的情况下指定 itemprop 吗? Doesn‘t seem so:
每个 HTML 元素都可以指定一个
itemprop属性 […]
我在微数据规范中遗漏了什么?
没有itemscope 父级的itemprop 是否会创建项目?
【问题讨论】:
-
有趣的问题。但我不明白为什么您认为 itemref 的属性被复制,而不是仅仅包含在集合中。你能澄清一下吗?
-
@Alohci:我可能在这里没有使用正确的术语(我不确定我是否理解“被包含在集合中”)。我的意思是:在将孤儿属性添加到 Person 项(通过
itemref)后,此属性不会“删除”,即它保留在其位置并且(除了被 Person 使用之外)是孤儿属性(当然,这可能是itemref'd by other items)。
标签: microdata