`
deng131
  • 浏览: 672713 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

什么是微格式及实例

阅读更多
首先,请不要一厢情愿地把微格式(Microformat)理解为某种语言的简化,这是完全错误的字面理解,事实完全相反,从经典个例“hCard微格式”看出,它是把XHTML语言在Web中的应用“冗余”话了。当然初识它的人都难免会犯类似错误。什么是微格式呢?它存在的意义又是什么?本文或许会让你对Microformat有所了解,并对其蕴含的巨大潜力及广泛用途折服。
什么是微格式

微格式:建立在已有的、被广泛采用的标准基础之上的一组简单的、开放的数据格式(microformats.org官方定义)。是把语义嵌入到HTML以便有助于分离式开发而制定的一些简单约定,是兼顾人机可读性设计的数据表达方式,对Web网页进行语义注解的方法。这种方法依托于标准的Web页面写作技术,例如,XHTML,这样引入语义信息对浏览器等所有现存的Web技术冲击最小。采用Microformat的 Web页面,在XHTML文档中给一些标签(Tag)增加一些属性(attribute),这些属性对信息的语义结构进行注解,处理XHTML文档的软件,例如,浏览器等,如果不认识这些属性可以跳过,并不造成任何不良影响(ITPUB)。


设计师和开发人员使用微格式来添加结构和针对网络发布有意义的信息,需要作的仅仅是为现有的(X)HTML元素添加元数据和其他属性。所以,我们无需抛开已有的工作习惯,因为微格式提供的解决方法是符合当前我们行为和习惯模式的。

从技术上来说,这些数据是一些语义标记,用标准的(X)HTML中的class名称设置。他是开放、可用、自由的,可以被任何人使用。

那么,微格式在实际应用中的意义和作用又是什么呢?微格式按照某种已有的被广泛应用的标准,通过对内容块的语义标记,可以让外部应用程序、聚合程序和搜索引擎能够做以下事情:

   1. 在爬取Web内容时,能够更为准确地识别内容块的语义;
   2. 对内容进行操作,包括提供访问、校对,还可以将其转化成其他的相关格式,提供给外部程序和Web服务使用。

简单的微格式

我们从上面的描述知道,微格式实际就是为现有的(X)HTML元素添加元数据和其他属性,增强语义。那么我们就来看一个简单的微格式应用吧。
以前我们是这样写一个链接到首页的<a></a>代码的:

    <a href=”http://www.bbon.cn”>Web Design Blog</a>

而现在我们要为这个代码元素<a>加上 rel属性。

    <a href=”http://www.bbon.cn“ rel=”homepage”>Web Design Blog</a>

上面的链接标记<a>包括rel=”home”属性,该属性显示链接的目标页面是该网站的首页。通过为已有的链接元素添加语义化属性,就为这个链接添加了具体的结构和意义。
hCard 微格式

hCard是一种微格式,用来发布个人,公司,组织,地点等详细的联系信息。它可以包含在(X)HTML,Atom,RSS等可扩展置标语言中。hCard使用vCard(RFC 2426)的属性和值来实现这些功能。

它可以使分析器(比如其他网站,Firefox的Operator插件)获得详细的信息,并通过别的网站或者地图工具进行显示,或者载入到地址簿等其他程序。

示例一

如下HTML代码:

<div>
     <div>Joe Doe</div>
     <div>The Example Company</div>
     <div>604-555-1234</div>
     <a href="http://example.com/">http://example.com/</a>
</div>

加入微格式后,成为:

<div class="vcard">
     <div class="fn">Joe Doe</div>
     <div class="org">The Example Company</div>
     <div class="tel">604-555-1234</div>
     <a class="url" href="http://example.com/">http://example.com/</a>
</div>

这里,正式名称(class=”fn”),组织(class=”org”),电话号码(class=”tel”)和url(class=”url”)分别用相应的class标示;同时,所有内容都包含在class="vcard"里。

示例二

这里是维基媒体基金会的联系方式,可以作为hCard的一个真实示例:

    Wikimedia Foundation Inc.

    200 2nd Ave. South #358

    St. Petersburg, FL 33701-4313

    USA

    Phone: +1-727-231-0101

    Email: info@wikimedia.org

    Fax: +1-727-258-0207

加入微格式后,成为:

<div class="vcard">
  <div class="fn org">Wikimedia Foundation Inc.</div>
  <div class="adr">
    <div class="street-address">200 2nd Ave. South #358</div>
    <div>
      <span class="locality">St. Petersburg</span>,
      <span class="region">FL</span> <span class="postal-code">33701-4313</span>
    </div>
    <div class="country-name">USA</div>
    </div>
  <div>Phone: <span class="tel">+1-727-231-0101</span></div>
  <div>Email: <span class="email">info@wikimedia.org</span></div>
  <div>
    <span class="tel"><span class="type">Fax</span>:
    <span class="value">+1-727-258-0207</span></span>
  </div>
</div>

注意,在这个例子中,正式名称(class=”fn”)和组织(class=”org”)写在了一个属性中,表示这是一个组织,而不是个人。

其他常用的hCard属性包括:

    * bday – 生日
    * email
    * honorific-prefix -(西式)名字前的尊称,例如:博士(Dr.)、牧师(Rev.)等,在东方会放在名字的后方。
    * honorific-suffix -(西式)名字后的尊称,一般都是封衔,例如:太平绅士(JP)、大紫荆勋章(GBM),一般详列在名字的最后方。
    * logo
    * nickname – 昵称、爱称或外号。西方人的名字一般都有简写,有时这些昵称或外号就用来分辨同名的人。例如:William “Bill” Gates 中间的”Bill”。
    * note
    * photo
    * post-office-box

Geo也可以被包含在hCard中,表示某个地址的坐标。Geo是一种在HTML和XHTML中标记WGS84地理坐标(经度,纬度)的微格式。尽管属于“草案”,其格式是稳定的并已经被使用。它还可以作为hCard微格式的一个子集。

以上摘自:维基百科

目前已具备完整规范的微格式还包括:hCard、hCalendar、XOXO、 XFN、VoteLinks和3个“rel-”微格式:rel- license、rel-nofollow和rel-tag。
后记

Yahoo 是微格式的大力提倡者.Flickr一个图片分享平台,用vcard微格式处理用户信息数据,通过应用软件直接获取页面上的用户信息数据后,将这些数据导出或者直接导入到其他的应用程序中,例如使用Firefox的operator插件可以分析和到处数据,然后根据提取的 geo,location等地理信息在Google Map,Yahoo Map中定位用户,伴随着相关应用软件的开发,vcard数据可不只是能用作这些.再来看看Yahoo的对微格式的另外一个应用upcoming,是一个日历的事件管理应用,在获取页面的hcalendar微格式数据之后,它可以将数据导出或者直接导入到其他的web日历事件管理软件中.

Dopplr提供的或许更加让微格式的应用方向更加清晰.它提供的服务是将你的行踪与你的联系列表关联起来,方便你的朋友关注你的行踪,及时的为你提供帮助,主要方式为常规的RSS订阅和iCal订阅.你在网上的某些页面的 hcard,hcalendar微格式数据可以导入到Dopplr中,然后可以将这些数据导入到支持Dopplr的微格式数据的程序中,当前主要为Mac 机的iCal和支持多个系统平台兼容iCal数据格式的Mozilla产品Sunbird.

说到这里,使用微格式不只是web代码语义化那么简单.如何应用微格式是最重要的.对于微格式如何被解析,可以看看Brian Suda的一篇文章Parsing Microformats,或许有所帮助.到Brian Suda的个人网站上也可以找到更多有趣的东西(摘自:Cheshirecat.cn)。

Microformat 官方网站:Microformat
分享到:
评论

相关推荐

    Android开发实例:新浪微薄 内含源码及说明文档

    3. **JSON解析**:服务器返回的数据通常是JSON格式,需要使用Gson或Jackson等库将JSON字符串转化为Java对象,以便于程序处理。 4. **数据存储**:Android应用可能需要在本地存储用户数据,如登录凭据、缓存的微博...

    计算机组成原理实验-微程序设计实验实例讲解

    计算机组成原理实验-微程序设计实验实例讲解 本实验讲解了微程序设计的基本概念和实例,包括微程序的设计、编译和运行。实验中,我们设计了一条微程序,用于实现两个数字的加法操作。微程序的设计主要包括以下几个...

    微程序设计实验实例讲解

    在09年度08级的微程序设计实验实例中,学生将学习如何设计和实现微程序来完成特定的功能。 实验实例的核心任务是执行一个简单的算术操作:将两个内存地址中的数据相加并将结果存回第二个地址。这个过程涉及以下几个...

    单片机实例教程 PDF格式的

    《51单片机实例教程》是一本专为学习51单片机的初学者和爱好者准备的PDF格式教程。51单片机是微控制器领域最基础且广泛应用的型号,以其简单易学、功能实用的特点深受广大电子工程师喜爱。本书以实践为导向,通过...

    微程序控制器实验实例讲解

    在本实验实例中,我们使用tec-2机器来实现一个简单的微程序控制器,以执行特定的指令格式。这个格式涉及两个操作数的加法操作,将它们相加的结果存储回第二个操作数的地址。 首先,我们来看指令格式。指令的入口...

    51单片机C语言实例大全

    51单片机是微控制器领域中非常经典的一款产品,广泛应用于各种电子设备,如家用电器、汽车电子系统、工业自动化等领域。C语言因其简洁、高效的特点,成为51单片机编程的首选语言。 本实例大全中包含的主要知识点...

    嵌入式系统设计与实例开发-基于ARM微处理器与μC-OSⅡ实时操作系统

    本主题聚焦于基于ARM微处理器的嵌入式系统设计,并结合了μC-OSⅡ实时操作系统进行实例开发。ARM处理器因其高效能、低功耗的特性,在嵌入式领域广泛应用,从消费电子产品到工业自动化,都有其身影。 μC-OSⅡ...

    S7-200与荣达RD小型热敏打印机通讯实例

    本文将详细介绍如何实现S7-200与荣达RDEH32热敏打印机之间的通讯实例,以及相关的硬件接线和程序编写步骤。 首先,硬件接线是PLC与打印机通讯的基础。在本实例中,推荐使用西门子的DP头进行接线,即西门子数据点...

    matlab实例编程一百个源程序

    4. **数值计算**:MATLAB擅长进行数值计算,包括线性代数运算(如矩阵求逆、特征值、解线性方程组)、微积分(如数值积分、微分方程求解)、统计分析和优化算法等。实例会演示这些计算过程,帮助用户理解和运用。 5...

    北京交通大学微程序控制器及微指令设计报告

    ### 北京交通大学微程序控制器及微指令设计报告解析 #### 设计背景与目标 本设计报告基于北京交通大学计算机组成原理课程的要求,旨在通过实践帮助学生深入理解和掌握微程序控制器的相关概念及其应用。该报告特别...

    嵌入式系统设计与实例

    处理器是系统的大脑,根据不同的应用场景,可以选用微控制器(MCU)或数字信号处理器(DSP)。存储器分为程序存储器(如ROM)和数据存储器(如RAM),用于存放程序和运行时的数据。外围设备接口则负责连接各种传感器...

    c51系列单片机应用实例程序

    实例程序可能包含发送和接收字符、数据帧的格式化等。 5. **ADC转换**:C51内置模拟数字转换器(ADC),可用于采集模拟信号。实例中会有如何配置ADC、读取转换结果并进行处理的代码。 6. **按键输入**:在嵌入式...

    Proteus实例

    这些实例通常包括电路设计文件(.asc格式)、Keil工程文件(.uvproj格式)以及源代码文件(如.C或.asm)。通过打开和分析这些文件,学习者可以理解如何将理论知识应用于实际项目,如何配置微控制器,以及如何调试...

    51单片机modbus实例

    51单片机是微控制器领域中非常经典的一款芯片,主要由Intel公司开发,现在则由许多厂商如STC、Atmel等生产。Modbus是一种通信协议,常用于工业自动化设备之间的数据交换,如PLC、传感器、驱动器等。在51单片机上实现...

    AVR单片机应用系统开发典型实例(PDF格式)

    AVR单片机是Atmel公司(现已被Microchip Technology收购)推出的一种高性能、低功耗的微控制器系列,广泛应用于各种嵌入式系统设计。本资料“AVR单片机应用系统开发典型实例”提供了丰富的实践案例,帮助开发者深入...

    89c51单片机实例

    - 了解串行通信的基本原理,如波特率计算、帧格式(起始位、数据位、停止位和奇偶校验位)等,是实现单片机间通信的关键。 5. **Proteus仿真** - Proteus是一款强大的电子电路仿真软件,可以配合Keil C进行硬件级...

    51单片机汇编实例大全

    实例中可能包括UART(通用异步收发传输器)的配置,如波特率设置、数据格式(奇偶校验、停止位等)以及数据的发送和接收。通过汇编语言编写串口程序,可以理解和掌握中断服务子程序、定时器配置等知识。 2. **键盘...

    Matlab程序实例

    5. **数值计算**:Matlab提供了大量的数值分析工具,如求解线性方程组、非线性方程、微积分问题等。通过实例,你可以学习如何利用这些工具进行复杂的计算任务。 6. **文件输入/输出**:Matlab可以读取和写入各种...

    单片机C语言实例(400例)

    HEX文件是单片机编程中常用的编程格式,它包含了一段已编译好的机器代码,可以直接写入单片机的内存中。在这些实例中,用户可以通过编程器或者USB转串口线将HEX文件烧录到51单片机中,实现硬件功能的实现。 三、...

Global site tag (gtag.js) - Google Analytics