Re: schema.org 與 Microdata DOM API 的一些討論

下面回文

(11/06/07 13:27), Mingli Yuan wrote:
> 刚才又读了一边规范。

歡迎大家一起來讀規範 :)

>
> 我的理解是,规范的原意,是用itemscope和itemprop来定义数据,而itemtype
> 仅仅起修饰itemscope的作用。
>
> 针对第一个问题,在我的理解里,仍然有下面这样的可能性:
>
> <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">
>    <p itemprop="color">Yellow</p>
> </section>
>
> 这里提供了name、desc、img、color四项数据,然而有可能在
> Type("http://example.org/animals#cat") 里,
> 实际上只定义了 name、desc、img 三项类型。所以,可以不要求数据和类型严
> 格一致,itemtype仅仅提供一个上下文。

根據規範 5.2.3 提到 itemprop 的值該是什麼這裡,有一條:

If the item is a typed item: a defined property name allowed in this
situation according to the specification that defines the relevant type
for the item
(如果項目(item)是有類型的,定義類型的規範裡在這種情形容許的「已定義屬
性名」)

也就是說 color 在這裡應該是不合法的(雖然我不清楚這種東西的驗證器要怎麼
做,似乎需要去查找類型的規範)

[1]
http://www.whatwg.org/specs/web-apps/current-work/multipage/links.html#names:-the-itemprop-attribute

> 在这种松散的类型约束之下,itemtype作为一种修饰出现,是比较合适的。

雖然對網頁作者是嚴格的,但是另一方面,對瀏覽器而言 color 還是存
在,item.properties["color"] 也會有東西,所以的確是「對瀏覽器而言」類型
約束鬆散。我可以理解 itemtype 只是一種(對瀏覽器而言的)修飾的講法。

> 如果反之,把itemtype和itemscope并列为两种定义数据的机制,
> 那么上面这种混合了类型和自定义的扩展数据项的数据,就不好处理了。

我不太懂你說兩種定義數據是指哪兩種,我的意思是
  <section itemscope itemtype="http://example.org/animals#cat">
看起來很冗長,為什麼不能直接寫
  <section itemtype="http://example.org/animals#cat">

因為現在的規範規定要用 itemtype 的時候

The itemtype attribute must not be specified on elements that do not
have an itemscope attribute specified.(itemtype 屬性不能用在沒有
itemscope 屬性的元素上)

所以感覺在這種情況 itemscope 很多餘,當然可用性測試是很重要的。HTML 還有
什麼屬性是一定要有其他屬性才能用的嗎?

> 不知道,我的理解对不对。如有错误还请指正。

我對 Microdata 也不熟,如有錯誤也請指正。(對 RDFa 比較熟)

此致

Kenny

Received on Friday, 10 June 2011 00:33:30 UTC