博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
重构之美-跨越Web标准,触碰语义网[开门见山:Microformat]
阅读量:6413 次
发布时间:2019-06-23

本文共 4632 字,大约阅读时间需要 15 分钟。

Microformat,认识它的时候很神奇。我查了一下在标准群里的聊天记录:
2006-06-23 16:42:45 爆牙齿郑旻()晕,标准就标准嘛,微软又偷换概念了,微格式(Microformats)http://www.xml.com/lpt/a/2005/03/23/deviant.html 2006-06-23 16:44:46 old9()http://microformats.org/ 2006-06-23 16:51:49 爆牙齿郑旻()看了几个hcard的实例,真TMD乱来懒得理 2006-06-23 16:52:52 爆牙齿郑旻()居然还可以堂而皇之的冠名:hCard确实牛 2006-06-23 19:25:30 Realazy.org()这是微软的吗? 2006-06-23 19:26:45 Realazy.org()看清楚哦 2006-06-26 22:05:10 Realazy.org()嗯,对,最近谁在关注microformats没? 2006-06-26 22:05:21 old9()暴牙? 2006-06-26 22:05:35 Realazy.org()Yahoo已经用上了。http://upcoming.org 2006-06-26 22:05:48 x5.liu()最近看到太多人提microformats了谁能给我简单解释一下 2006-06-26 22:06:11 爆牙齿郑旻()我没关注 2006-06-26 22:06:21 Realazy.org()简单的说,是在兼容当前XHTML的前提下组织信息的一种方式 2006-06-26 22:06:47 Realazy.org()通过这个标准的格式,方便于各种不同的用户端来处理 2006-06-26 22:07:00 爆牙齿郑旻()定个小规矩取个名字就OK了 2006-06-26 22:07:09 jjgod()Microformats 要有一些比较漂亮的演示才会有人关注阿 XD 2006-06-26 22:07:43 Realazy.org()http://upcoming.org/ 上有一些不错的例子 2006-06-26 22:07:45 x5.liu()恩,近期我研究研究这个东东 2006-06-26 22:08:09 爆牙齿郑旻()Microformats的XHTML结构就不好,烂,依赖class算啥,我简单这么认为的哈2006-06-26 22:08:44 Realazy.org()当前只能做到如此了 2006-06-26 22:08:51 Realazy.org()http://corkd.com/ 2006-06-26 22:08:59 Realazy.org()这里也有些应用 2006-06-26 22:09:32 x5.liu()我上upcoming.org了,具体哪个地方是microformats的应用? 2006-06-26 22:09:39 Realazy.org()如果使用单纯的XML当然好,但是会提高门槛 2006-06-26 22:09:49 Realazy.org()http://upcoming.org/event/46123/ 2006-06-26 22:10:18 爆牙齿郑旻()XHTML它也用的很烂啊,还没说xml呐 2006-06-26 22:10:26 Realazy.org()Export...那里有简单的应用 2006-06-26 22:10:42 Realazy.org()怎么个烂法? 2006-06-26 22:11:18 爆牙齿郑旻()还没看

之后群里不时的对microformat的一些讨论就不发来凑字数了,我只是想说当我第一眼看见microformat的时候极为不齿,甚至没细看,肤浅的因为“micro”就想当然的认为它是微软的东东,我大概记得当时还说过这么一句:“不就是一套class命名规则嘛,老子也定义一套class命名规则,然后叫它爆格式。”但是3个月后,当我在部署标准过程中遇到了一个很棘手的问题时,我猛然想起了microformat,可惜当时自己身陷在繁琐流程、大小会议和沉重的编码设计压力中无法静心思考。今年年初的时候,我终于有机会安静下来,带着自己一直的困惑再度审视microformat后,终于感觉上有所斩获。具体怎样下次再表,我们先还是来认识一下曾被我鄙视的,大名鼎鼎的Microformat。

Microformat到底是什么东东?上面对话中,其实Realazy已经做了简单总结:是在兼容当前XHTML的前提下组织信息的一种方式,通过这个标准的格式,方便于各种不同的用户端来处理。这个比较抽象,我们把它扩展开来。

google了好一阵,都没能找到Microformat的起点,能找到的最早的文献就是我上面的那个链接:。从时间上看是2005年3月23日,发展至少都两年多了,我是在一年多后才接触,两年后才思考,真不合时代节奏,落伍啊。

对Microformat的解释大家可以通过google进行了解,英文强的兄弟可以直接访问了解和学习,中文资料方面比较零散和缺乏,我也没什么好建议。

文字没有实例直观,就像文档没有设计稿直观一样。那么现在我们先直接来看一个实例:将“<cite>Dr. John Philip Paul Stevenson, Jr., M.D., A.C.P.<cite>”格式化为hCard Microformat。

格式化后的结果是:    Dr.    John    Philip    Paul     Stevenson,    Jr.,    M.D.,    A.C.P.

怎么样?感受如何?我的第一个反应,第二个反应……反应无数次后就是放在现在仍然是两个字:夸张。至于嘛,一句话用这么多的标签来格式化,每个都有class,每个class都很大方,长长的。当然这里我例举了一个比较极端的实例(晕人的专例^_^)。其实Microformat在大多数情况下相对而言代码上是没那么冗余的。下面我们来看另外一个不极端的Microformat。

这是常规的一个页脚呈现,来自: 

© 2007  | Thanks, WordPress | Barthelme theme by  Allan Wallick | Standards compliant XHTML & CSS | RSS: Posts & Comments
在这个页脚里面有两个微格式:

1、John Allsopp            John        Allsopp    2、Scott和上面类似我就不写了。

我加粗部分就是为了微格式化而必要的代码,这么一看好像也不怎么常规,如果不使用微格式,同样的表现只需要短短的<a href="http://westciv.com">John Allsopp</a>就可以完成。看起来冗余代码依旧很多,那么是否冗余呢?其实这也是我一直迷惑的。其实我也一直在试图说服自己和他人包括现在的读者你:这是有用的。但是……这个这个先暂且放下。

为什么要这么做,增加这么多的标记?Microformat曰:语义化、API。通过这种方式申明数据的语义,形成API,将数据开放出来。问题又来了,需要吗不需要吗需要吗?研究研究?我相信未来的互联网,语义网一定是开放的互联网,不会像现在这样数据无法畅通无阻,存在大量的信息孤岛和信息盲点。但是我们不在明天我们在今天啊,今天需要吗不需要吗需要吗?……靠,不研究了还是先暂且放下。

好吧,增加了这么多代码,好处在哪里?给我一个应用实例。Microformat曰:firefox的Operator插件。耐着性子下载下来,再打开,Operator工具栏上的Export Contact有了数字“3”,他识别出了页面上的3个hCard,选择John Allsopp,Operate提示Outlook打开或下载,下载下来一个hCard.vcf文件,vcf是一种通用的电子名片文件格式。可以被导入各种识别该格式的设备(如手机)和软件(如Outlook)中。打开这个hCard.vcf文件,看见如下代码:

BEGIN:VCARD
PRODID:
SOURCE:http://microformatique.com/?p=160
NAME:microformatique - a blog about microformats and data at the edges : some finer points of hCard and n optimization
VERSION:3.0
N;CHARSET=UTF-8:Allsopp;John;;;
FN;CHARSET=UTF-8:John Allsopp
UID:
URL:http://westciv.com/
END:VCARD

我加粗的地方是可以从页面中获取的数据,而其他部分是Operator按.vcf标准对数据进行的转换,可不可以这么理解呢:Operate充当了xsl的角色,将“xml”转为“xhtml”,将一种标准转为另一种标准。这么一看,要实现这种转换确实需要添加代码申明每个数据的语义,否则无法使得程序读懂数据从而匹配的进行转换。

好了,有所理解了,也对为此增加的额外的、大量的标记有了理论上的认可……可是但是以及But,理论终究是理论,放到实践中,根本没有多大的意义嘛!

  1. 目前支持microformat只有Firefox的Operator插件。
  2. Firefox市场占有率对于中国,即便它在发展壮大,还是奇低。平均高估一下:FF占有率10%吧。
  3. 使用Firefox的人群能有几个人知道Operator?连我都一直不知道,更不要说其他人了,更不要说人民群众了。再平均高估一下:1%吧(100个Firefox中有1个装了Operator)
  4. 装了Operator的人已经处于领域浪尖了,好了,有几个人真正在使用,而不是看着Operator上出现的识别数字YY?坦白的说,我装了Operator后,行为上属于后者,纯粹YY。去导出hCard?然后干嘛呢?我疯了,我有病!……继续高估:1%(100个安装了Operator的人中有1个人在真正使用)
  5. 好了,你突破了上述种种关卡,成为了浪尖上冒泡的水花,精英中中奖的英雄,骄傲吧……请问你访问100次网站,能用几次?你雄心壮志的以为中奖,结果是什么都没有,安全期……TT,最后的结局是:1%。
计算计算:10%×1%×1%×1%等于多少?千万分之一!!!那个使用microformat的家伙、用户,是千万分之一的恐龙人。为了这千万分之一的应用可能,我们有必要去学习和应用吗?我们这些打工仔们跳槽的机率,几个数量级的高于我们应用的microformat被用户所使用。……

什么是梦想,什么是现实,什么是梦想照不进现实,诠译得多么准确。microformat……

开门见了山,横在路中间……登还是绕?

本文转自爆牙齿博客园博客,原文链接:http://www.cnblogs.com/yuntian/archive/2008/08/11/756917.html,如需转载请自行联系原作者

你可能感兴趣的文章
重构之美-跨越Web标准,触碰语义网[开门见山:Microformat]
查看>>
git入门与实践【转】
查看>>
WPF 虚拟键盘
查看>>
储存卡无法打开专家教您怎么数据恢复
查看>>
彼得原理
查看>>
如何利用【百度地图API】,制作房产酒店地图?(下)——结合自己的数据库...
查看>>
[20171113]修改表结构删除列相关问题3.txt
查看>>
特征选择
查看>>
在Winform程序中设置管理员权限及为用户组添加写入权限
查看>>
RTMP直播到FMS中的AAC音频直播
查看>>
多能互补提速 加快我国能源转型和现代能源体系建设
查看>>
《JavaScript设计模式》——2.5 多种调用方式——多态
查看>>
Redis开发运维实践高可用和集群架构与实践(二)
查看>>
程序员的常见“谎话”:对,这是一个已知 Bug
查看>>
如何侦查SQL执行状态
查看>>
CentOS 7 命令行如何连接无线网络
查看>>
Ubuntu 12.04上享用新版本Linux的功能
查看>>
logstash + grok 正则语法
查看>>
Zimbra开源版(v8.6)安装说明
查看>>
Android性能优化之TraceView和Lint使用详解
查看>>