首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

使用 HTML5 中的 Microdata 增强 Web 应用程序的语义(2)

使用 HTML5 中的 Microdata 增强 Web 应用程序的语义(2)

Microdata 的意义及优势Microdata 的意义
对于那些喜欢语义网的人来说,HTML5 是非常吸引人的。Microdata 使得以前旧的表现元素有了新的语义意义。基于页面的内容,我们可以使用属性来定义一组内嵌的名字 - 值对来表达页面内容元素的语义,它给我们一种新的方式来添加额外的语义信息。
对于 HTML 页面有两个主要的消费者:
  • Web 浏览器
  • 搜索引擎
对于浏览器来说,HTML5 定义了一些 DOM API,用来从 Web 页面中提取 Microdata 的项,属性,属性值。但是就目前来说,没有浏览器支持 HTML5 规范中的这些 API,一个也没有。听起来有些不乐观,不过相信浏览器会赶上来并实现这些 API。
另一个主要消费 HTML 的就是搜索引擎。搜索引擎使用 Microdata 的属性能做些什么呢?想象一下这样的场景:搜索引擎的结果除了简单地展示一个页面的标题,或一篇文章的段落,还能够整合一些结构化信息并展示他们。全名、工作名称、雇佣者、地址甚至是一个小小的肖像图片。这些会引起你的兴趣吗?我想会吸引我的眼球。
Google 有自己的一些词汇表,包含如下一些简单的数据:
  • people
  • businesses and organizations
  • events
  • products
  • reviews
  • recipes
通过在自己的页面中添加这些语义信息并不会影响网页搜索的排名,但是这些语义会被搜索引擎显示在搜索结果中。例如在 Google 中搜索 Dive Into HTML5,会得到如下的显示结果:
图 1.Google 中 Dive Into HTML5 的搜索结果相比于其他搜索结果,可以看到第一条搜索结果除了简单的内容摘录片段,还有结构化信息的显示。同样在 Google 中搜索 Anna ’ s Pizzeria: review,会得到如下的结果:
图 2. Google 中 Anna ’ s Pizzeria: review 的搜索结果我们可以看到有四星的评价,评价信息的数目:4 条,消费水平等额外信息的显示。
从中我们可以看出,对 Microdata 的支持可以影响搜索结果的显示,使得显示结果更加丰富,虽然不能影响搜索结果的排名,但更多的信息更能捕获使用者的眼球。上面显示的抓图结果随时间的不同会有所不同,仅用作显示示例。
Microdata 的优势
Microformats 在 HTML4.01/XHTML1.0 中本身就是可用的,这也是为什么 class 属性在这里以一种新的方式使用。虽然在 HTML4.01 规范中提到 class 可以有更广泛的应用,但它只是被 CSS 用作风格样式选择器。这意味着我们工作在单一的一个全局命名空间中,而这个命名空间已经被 CSS 类名所污染。
Microformats 和随机的 CSS 类名唯一不同的就在于树结构。这种树结构也有局限性,这意味着你需要为所有的元素找到一个公共祖先。Microformat 的存在似乎是在加重系统化技术的负债。
RDF 模型使用主语 -- 谓语 -- 宾语的三元组结构。如下面的例子:
1
2
3
4
<p xmlns:foaf="http://xmlns.com/foaf/0.1/" about="#me">
I'm <span property="foaf:name">Philip Jägenstedt</span> at
  <a rel="foaf:homepage" href="http://foolip.org/">foolip.org</a>.
</p>




这里 XML 命名空间的使用有些奇怪。在 XML 中前缀是被用于元素和属性名,而这里却被用于属性值。
相比之下,Microdata 基于 HTML 现有的元素添加语义,不久的将来可以使用 DOM API 来获取这些语义,能够被搜索引擎用来组合更加结构化的搜索结果,并且 Google 已经致力于测试 Microdata 语法,Google 搜索结果已经支持 Microdata。
返回列表