- 为何需要微数据
长篇加累版牍,不好理解
微标记来标注其中内容,让其容易识辨

- RDFa
Resource Description Framework
http://www.w3.org/TR/microdata
http://www.whatwg.org/specs/web-apps/current-work/multipage/links.html#microdata
http://www.w3.org/TR/rdfa-in-html

--- itemscope 标记

 <articleitemscope>
<span itemprop=musician>张学友</span> steps ontothe stage ...
<span itemprop=musician>刘德华</span> onthe drums ...
<span itemprop=musician>阿宝</span> onthe bass...
<span itemprop=musician>周杰伦</span>onthe piano ...
</article>

这样就将段落中的内容突出出来

--- 搜索引擎如何解析

http://foolip.org/microdatajs/live/ 在线解析

服务器:

{
"items":[{
"properties":{
"musician":["Pat Metheny",
"Antonio Sanchez",
"Steve Rodby",
"Lyle Mays"
}
}}]}

所有的prop都被解析

--- Itemprop支持元素

属性 元素
-------------------------------------------------
src audio,embed,iframe,img,source,video
href a,area,link
datetime time
content meta
data object

--- Itemtype 标记

指定数据格式

<article itemscope itemtype=http://microformats.org/profile/hcalendar#vevent>
<time itemprop=dtstart datetime="2010-10-09T20:30:00-04:00">
Saturday, October 9th 2010, just before half past eight in the evening
</time>
<span itemprop=location>Community Theater</span> in
<span itemprop=location>Morristown, NJ</span>...
<span itemprop=summary>O rchestrion</span> ...
</article>

--- 解析

指定使用日历格式解析数据

BEGIN:VCALENDAR
PRODID:jQuery Microdata
VERSION:2.0
BEGIN:VEVENT
DTSTAMP;VALUE=DATE ‐
TIME:20101227T205755Z
DTSTART;VALUE=DATE ‐
TIME:20101009T2030000400
LOCATION:Community Theater
LOCATION:Morristown\, NJ
SUMMARY:Orchestrion
END:VEVENT
END:VCALENDAR

--- 嵌套使用

<article itemscope itemtype=http://microformats.org/wiki/hreview>
<div itemprop=item itemscope itemtype=http://microformats.org/profile/hcalendar#vevent>
<span itemprop=summary>O rchestrion</span>,
<time itemprop=dtstart datetime="2010-10-09T20:30:00-04:00">October 9th 2010
</time>:
</div>
<span itemprop="summary">A fascinating evening</span>
rated with <span itemprop="rating">5</span> stars out of 5 stars.
<div itemprop=reviewer itemscope itemtype=http://microformats.org/profile/hcard>
<span itemprop=fn>Nicos Thassofilakas</span>,
<a href=http://openweb.cc itemprop=url>openWeb.cc</a>
</div>
</article>

--- ItemId 属性

用于指定唯一序号

<div itemscope itemtype=http://vocab.example.net/book
itemid="urn:isbn:978 ‐0634066634">
<span itemprop=album>One Quiet Night</span> by
<span itemprop=artist>Pat Metheny</span>
(<time itemprop=pubdate datetime=2005‐04‐01>2005</time>,
<span itemprop=pages>88</span> pages)
</div>

--- Itemref 属性

通过使用html标记或者itemid来引用另一个microdata

<article>
<div id=location>
<span itemprop=member>Pat Metheny</span>
</div>
<div id=intro>
<span itemprop=member>Antonio Sanchez</span>
<span itemprop=member>Steve Rodby</span>
<span itemprop=member>Lyle Mays</span>
<span itemprop=band>Pat Metheny Group</span>
</div>
</article>
<div itemscope itemref ="location intro"></div>

--- 解析可用字典

http://micoformats.org

- Microdata DOM API

JS完全支持

  var allNodes = document.getItems();
var vCards = document.getItems('http://microfomats.org/profile/hcard');

属性 内容
------------------------------------------
itemScope Value of itemscope attribute
itemType Value of itemtype attribute, if present
itemId Value of itemid attribute, if present
itemRef Value of itemref attribute, if present

- 属性方法一览

属性/方法 内容
------------------------------------
length 集合中元素对象
item(index) 访问元素内容
namedItem(name) 使用itemprop中的name属性来访问对象
namedItem(name).values 访问itemprop指定的name中的属性的值
Names DOMStringList所有itemprop的属性值
names.length Itemprop值得长度
names.item(index) 使用itemprop属性值的对象值
names.contains(name) 判断是否包含itemprop属性

--- 小实例

 <section itemscope itemtype="http://www.data-vocabulary.org/Person/">
<h1 itemprop="name">张三</h1>
<p><img src="1.jpg" alt="张三照片" itemprop="photo"></p>
<p><a href="www.zhangsan.org" itemprop="url">张三哥</a></p>
<dd itemprop="address" itemscope itemtype="http://www.data-vocabulary.org/Person/">
<span itmeprop="region">东城区</span>
</dd>
</section>

HTML5之 Microdata微数据的更多相关文章

  1. HTML5扩展之微数据与丰富网页摘要itemscope, itemtype, itemprop

    HTML5扩展之微数据与丰富网页摘要 by zhangxinxu from http://www.zhangxinxu.com本文地址:http://www.zhangxinxu.com/wordpr ...

  2. HTML5扩展之微数据与丰富网页摘要

    一.微数据是? 一个页面的内容,例如人物.事件或评论不仅要给用户看,还要让机器可识别.而目前机器智能程度有限,要让其知会特定内容含义,我们需要使用规定的标签.属性名以及特定用法等.举个简单例子,我们使 ...

  3. HTML5扩展之微数据与丰富网页摘要——张鑫旭

    一.微数据是? 一个页面的内容,例如人物.事件或评论不仅要给用户看,还要让机器可识别.而目前机器智能程度有限,要让其知会特定内容含义,我们需要使用规定的标签.属性名以及特定用法等.举个简单例子,我们使 ...

  4. HTML5微数据

    本篇文章是一个纯搬运贴,原博主是在是做的太详细了 原贴地址:http://www.zhangxinxu.com/wordpress/2011/12/html5扩展-微数据-丰富网页摘要/ 一.微数据是 ...

  5. HTML5可视化编辑与微数据

    1.HTML 5 全局 contenteditable 属性 contenteditable 属性规定是否可编辑元素的内容. <p contenteditable="true" ...

  6. seo之google rich-snippets丰富网页摘要结构化数据(微数据)实例代码

    seo之google rich-snippets丰富网页摘要结构化数据(微数据)实例代码 网页摘要是搜索引擎搜索结果下的几行字,用户能通过网页摘要迅速了解到网页的大概内容,传统的摘要是纯文字摘要,而结 ...

  7. HTML5在客户端存储数据的新方法——localStorage

    HTML5在客户端存储数据的新方法--localStorage localStorage作为HTML5本地存储web storage特性的API之一,主要作用是将数据保存在客户端中,而客户端一般是指上 ...

  8. HTML5线性图表 图表数据区域可着色

    这是一款基于Canvas的HTML5图表应用,在图表数据初始化的时候伴随动画效果. 在线演示: 点击演示 源代码下载: 点击下载 核心jQuery代码: var myData = {   labels ...

  9. HTML5深入学习之数据存储

    概述 本来,数据存储都是由 cookie 完成的,但是 cookie 不适合大量数据的存储,cookie 速度慢且效率低. 现在,HMLT5提供了两种在客户端存储数据的办法: localStorage ...

随机推荐

  1. zoj3672 Gao The Sequence

    原地踏步了半年,感觉一切都陌生了~ 题意:a[i]-一个任意的数,这个数要等于a[1]~a[i-1]每个数减去任意一个数,经过多次这样的变换到达目标b序列,能到达就yes不能到达距no. 一开始各种分 ...

  2. JUnit---Java单元测试必备工具

      在我们每天业务代码都写不完,为什么还要写测试代码呢,项目完成之后我再测不行吗? 看起来像是增加了代码量,但是它恰恰帮你减少了后期测试排错的时间,每个team,每个人都是有Bug指标的,首先,每次你 ...

  3. leetcode -- Search for a Range (TODO)

    Given a sorted array of integers, find the starting and ending position of a given target value. You ...

  4. A Simple Actions Recognition System

    1. Problem Definition There's no doubt that researches and applications on the foundation of videos ...

  5. C# 正则表达式 学习笔记二

    1.身份证格式验证(不保证有效性)  * 身份证15位编码规则:dddddd yymmdd xx p  * dddddd:6位地区编码  * yymmdd: 出生年(两位年)月日,如:910215  ...

  6. VMware系统运维(三 )SQL Server 2008 R2安装

    1. 点击"全新SQL Server 独立安装或向现有安装添加功能" 2.验证通过,点击确定. 3.输入数据库密钥,必须支持正版,不然微软打你屁屁,嘻嘻 4.不接受不让你过,所以不 ...

  7. vb.net Linq 筛选(像 select distinct) DateTable 日期数据中的年份

    Private Sub initDDLByYear(ByVal dt As DataTable) ddlByYear.Items.Clear() ddlByYear.Items.Add(") ...

  8. maya 2015配置openCollada插件

    1.下载对应的openCollada插件内容 https://github.com/KhronosGroup/OpenCOLLADA/wiki/OpenCOLLADA-Tools 该页面目前提供Mac ...

  9. 关于JDK中的运算符和变量

    类名首字母必须大写.多个单词组成的类名,每个单词的首字母大写. 只要起名称就要让他有意义.Java中的关键字都是由小写字母组成的. 在项目中给标示符起名字在公司中大都有固定的规则.一般加上标示符和$符 ...

  10. 练习题之ExChange

    两个线程可以交换对象的同步点.每个线程都在进入exChange方法时给出某个对象,并接受其他线程返回时给出的对象.用于实现两个人之间的数据交换,每个人在完成一定的事务后想与对方交换数据,第一个先拿出数 ...