更新时间:2014年9月2日

微数据【新属性

微数据是HMTL5新增加的标准。现在从HTML5标准中分离出来成为独立的标准。

使用HTML能够构建文档,但是不能详细到各自的具体意思,例如,姓名、住所、电话号码。HTML5中,采用了微数据给这样的内容添加具体意思,制作面向机器阅读的文档。

使用微数据的相关属性添加具体意思。


微数据用全域属性
属性名称 用途
itemscope 表示元素嵌入了项目,属于逻辑属性
itemprop 指定属性的名称
itemtype 表示保存词汇表的URL,必须是以http://起始的绝对路径,该属性只有在指定了itemscope属性的元素中使用。
itemef 指定与含有项目属性元素有联系的属性的id内容属性值,通常为了与其范围之外的但指定了itemscope属性的元素建立联系。该属性只能使用于指定了itemscope属性的元素。
itemid 指定参照的该当项目的URL。该属性只能使用于指定了itemscope属性或者itemtype属性的元素。

微数据的使用方法

微数据的名称和值要成对定义。这里的名称和值合称属性。所以这些带有意思的属性的集合称为项目。

例如,名片上的姓名、住址等信息,用微数据表示的话,会有以下的数据构造。

名片数据构造
   姓名(fn):崔蓝
   住所(adr):
       邮政编码(postal-code):000-0000
       省份(region):辽宁省
       地区(locality): 沈阳铁西区
       街道牌号(street-address):XX街道OOO

首先,名片数据为一个项目,住所也是一个项目。因为项目是多个不同含义的属性的集合。项目里允许另一项目的存在。其中的姓名、省份等信息为属性,例中括号内的名称代表属性的名称。以下为作成的HTML文档。

使用例

<address itemscope="itemscope"

itemtype="http://microformats.org/profile/hcard">

<strong itemprop="fn">崔冬梅</strong><br/>

<span itemprop="adr" itemscope="itemscope">

<span itemprop="postal-code">000-0000</span><br/>

<span itemprop="region">辽宁省</span><br/>

<span itemprop="locality">沈阳铁西区</span><br/>

<span itemprop="street-address">XX街道OOO</span><br/>

</span>

</address>

首先,在address元素中封装itemscope属性,表示该元素的内容代表了项目,所以同时使用itemtype属性定义了词汇表。该例中指定的URL为vCard词汇表。

strong元素和span元素作为address元素的内容构建各种具体信息数据,并使用itemprop属性指定属性名称,属性值为该当元素的内容。例中,属性名称为fn的,其属性值为崔蓝,属性名称为region的,其属性值为辽宁省。

上例中还有itemprop属性的名称为adr的span元素,该span元素中也指定了itemscope属性,这表示名片数据中含有住所这样的项目,但是,该项目要依据address元素中itemtype属性指定的词汇表。

itemref属性

通常情况下,项目信息必须在指定了itemscope属性的元素中使用。但是通过使用itemref属性,满足了不同位置自由构建项目的需要。

itemref属性的使用例

<div itemscope id="villiam" itemref="a b"></div>

<p id="a">Name:<span itemprop="name">Villiam</span></p>

<div id="b" itemprop="band" itemscope itemref="c"></div>

<div id="c">

<p>Band:<span itemprop="name">Jazz Band</span></p>

<p>member:<span itemprop="member">10</span>players</p>

</div>

上例中,开始位置使用div元素构建了项目,该div元素中没有任何项目信息,这里使用itemref属性指定了其含有的属性信息。如果存在两个以上的元素,使用半角空格分隔每个id值。

关于词汇表

使用微数据时必须使用的词汇表,该词汇表代表的角色很重要。如果是公司内部使用的词汇表最好构建独自的词汇表。如果是一般网页,应该采用大家共知的词汇表

Google、Microsoft、Yahoo!三大检索引擎合力开发词汇表:Schema.org