• 首页
  • 关于

我自然

HTML5中的微数据

在 2010年4月25日 上公布 作者为 yankay

缘起

HTML4,Html5,XHtml1,XHtml1.1,XHtml2….都是W3C的产品,乱乱的一团糟。有一篇漫画《标记语言之乱 ”xhtml2″vs“xhtml1”vs“html5”》,澄清了之间的关系。基本上是将XHtml2已死,天下是Html5和XHtml1的。

微数据

微格式是让网页通过语意相关让内容人机可读的一种方式。Wordpress里内置的XFN就可以算作一种微格式。那么什么是微数据呢?

HTML5提供了一种简易的方式将语义标签融入其中,这项功能就是微数据(Microdata)。根据W3c三月份的会议,微数据的存在就是为了填补微格式在应对类似Rdfa这种比较复杂的系统时的不足。

示例(Html5未完成,不保证和最终版本一致):

<section itemscope itemtype="http://example.org/animals#cat">
 <h1 itemprop="name http://example.com/fn">Hedral</h1>
 <p itemprop="desc">Hedral is a male american domestic
 shorthair, with a fluffy <span
 itemprop="http://example.com/color">black</span> fur with <span
 itemprop="http://example.com/color">white</span> paws and belly.</p>
 <img itemprop="img" src="hedral.jpeg" alt="" title="Hedral, age 18 months">
</section>

从上面这一段HTML可以得到如下信息:有一只猫,他:

Property Value
name Hedral
http://example.com/fn Hedral
desc Hedral is a male american domestic shorthair, with a fluffy black fur with white paws and belly.
http://example.com/color black
http://example.com/color white
img …/hedral.jpeg

你可以使用微格式的Dom模型来访问它:

var cats = document.getItems("http://example.com/feline");
var colors = cat.properties['http://example.com/color'].values;
var result;
if (colors.length == 0) {
  result = 'Color unknown.';
} else if (colors.length == 1) {
  result = 'Color: ' + colors[0];
} else {
  result = 'Colors:';
  for (var i = 0; i < colors.length; i += 1)
    result += ' ' + colors[i];
}

是不是很神奇?

你可以将使用itemtype=”http://microformats.org/profile/hcard”来描述名片信息,也可以用http://microformats.org /profile/hcalenda来描述日历。这样就不用另立标准,使用微格式的标准就可以了。

再谈谈RDFa。RDFa是一个W3C 推荐标准。它扩充了XHTML的几个属性, 网页制作者可以利用这些属性在网页中添加机械可读的元 数据。与RDF数据模型的对应关系使得 RDFa可以将RDF三体嵌入在XHTML文件中,它也使得符合标准的使用端可以从RDFa文件中萃取出这些RDF三体来。推荐一篇学习RDFa的文章, 《RDFa 入门》

事实上RDFa是为Xhtml2开发的,后来迁移到Xhtml1.0上,要想使用RDFa,则文档必须有XML的性质,这就麻烦了。将来非常流行的Html5不是XML,在非XML的 HTML里无法使用XML 命名空间。而Html5已经有比较完善的语义方法了,那么RDFa何去何从?

参见

http://edward.oconnor.cx/2009/05/microdata-microformats-and-rdf

http://www.w3.org/TR/rdfa-in-html/

http://www.w3.org/TR/2010/WD-rdfa-in-html-20100304/

http://www.w3.org/TR/2010/WD-rdfa-core-20100422/

http://www.w3.org/TR/2010/WD-html-markup-20100304/

http://www.w3.org/TR/2010/WD-xhtml-rdfa-20100422/

http://www.whatwg.org/specs/web-apps/current-work/multipage/microdata.html

Property Value
name Hedral
http://example.com/fn Hedral
desc Hedral is a male american domestic shorthair, with a fluffy black fur with white paws and belly.
http://example.com/color black
http://example.com/color white
img …/hedral.jpeg
文章分类 未分类 |
« 在Linux下安装TortoiseHg
TortoiseHg中文文件名乱码解决 »

发表评论 取消回复

您的电子邮箱地址不会被公开。 必填项已用*标注

近期文章

  • 听说 Docker 被 kubenetes 抛弃了,怎么办?containerd
  • 公告 – 博客重开了
  • CloudFoundry v2面面谈,内赠MicroCFv2福利
  • Docker能够运行任何应用的“PaaS”云
  • Scala Tour – 精选

近期评论

  • [整理]完美哈希函数(Perfect Hash Function) - 高性能架构探索发表在《最小完美哈希函数简介》
  • Scala Tour – 精选 - Java天堂发表在《Scala Tour – 精选》
  • Golang适合高并发场景的原因分析 - 站壳网发表在《Go-简洁的并发》
  • HBase 官方文档 – 源码巴士发表在《Windows下eclipse的 C++环境配置》
  • Go-简洁的并发-点开发表在《Go-简洁的并发》

归档

  • 2021年6月
  • 2021年3月
  • 2014年2月
  • 2013年9月
  • 2013年5月
  • 2013年1月
  • 2012年11月
  • 2012年9月
  • 2012年8月
  • 2012年3月
  • 2012年2月
  • 2012年1月
  • 2011年11月
  • 2011年10月
  • 2011年9月
  • 2010年10月
  • 2010年8月
  • 2010年7月
  • 2010年6月
  • 2010年5月
  • 2010年4月
  • 2010年3月
  • 2010年2月
  • 2010年1月
  • 2009年10月
  • 2009年9月
  • 2009年8月
  • 2009年7月
  • 2009年6月
  • 2008年10月
  • 2008年8月
  • 2008年7月
  • 2008年6月

分类目录

  • 家庭生活
  • 未分类
  • 每日心得
  • 软件技术

友情链接

  • DaoCloud Enterprise
  • DaoCloud 云原生一体机

CyberChimps WordPress Themes

沪ICP备2021008917号-1 © 颜开