回锅文,写于2007-5-23 12:21
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的起点,能找到的最早的文献就是我上面的那个链接:http://www.xml.com/lpt/a/2005/03/23/deviant.html。从时间上看是2005年3月23日,发展至少都两年多了,我是在一年多后才接触,两年后才思考,真不合时代节奏,落伍啊。
对Microformat的解释大家可以通过google进行了解,英文强的兄弟可以直接访问Microformats.org了解和学习,中文资料方面比较零散和缺乏,我也没什么好建议。
文字没有实例直观,就像文档没有设计稿直观一样。那么现在我们先直接来看一个实例:将“<cite>Dr. John Philip Paul Stevenson, Jr., M.D., A.C.P.<cite>”格式化为hCard Microformat。
格式化后的结果是: <cite class="fn n"> <span class="honorific-prefix">Dr.</span> <span class="given-name">John</span> <span class="additional-name">Philip</span> <span class="additional-name">Paul</span> <span class="family-name">Stevenson</span>, <span class="honorific-suffix">Jr.</span>, <span class="honorific-suffix">M.D.</span>, <span class="honorific-suffix">A.C.P.</span> </cite>
怎么样?感受如何?我的第一个反应,第二个反应……反应无数次后就是放在现在仍然是两个字:夸张。至于嘛,一句话用这么多的标签来格式化,每个都有class,每个class都很大方,长长的。当然这里我例举了一个比较极端的实例(晕人的专例^_^)。其实Microformat在大多数情况下相对而言代码上是没那么冗余的。下面我们来看另外一个不极端的Microformat。
这是常规的一个页脚呈现,来自http://microformatique.com/:
© 2007 John Allsopp | Thanks, WordPress | Barthelme theme by Scott Allan Wallick | Standards compliant XHTML & CSS | RSS: Posts & Comments
在这个页脚里面有两个微格式:
1、John Allsopp <span class="vcard"> <a class="url fn n" href="http://westciv.com"> <span class="given-name">John</span> <span class="family-name">Allsopp</span> </a> </span> 2、Scott和上面类似我就不写了。
我加粗部分就是为了微格式化而必要的代码,这么一看好像也不怎么常规,如果不使用微格式,同样的表现只需要短短的<a href="http://westciv.com">John Allsopp</a>就可以完成。看起来冗余代码依旧很多,那么是否冗余呢?其实这也是我一直迷惑的。其实我也一直在试图说服自己和他人包括现在的读者你:这是有用的。但是……这个这个先暂且放下。
为什么要这么做,增加这么多的标记?Microformat曰:语义化、API。通过这种方式申明数据的语义,形成API,将数据开放出来。问题又来了,需要吗不需要吗需要吗?研究研究?我相信未来的互联网,语义网一定是开放的互联网,不会像现在这样数据无法畅通无阻,存在大量的信息孤岛和信息盲点。但是我们不在明天我们在今天啊,今天需要吗不需要吗需要吗?……靠,不研究了还是先暂且放下。
好吧,增加了这么多代码,好处在哪里?给我一个应用实例。Microformat曰:firefox的Operator插件。耐着性子下载下来,再打开http://microformatique.com/,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,理论终究是理论,放到实践中,根本没有多大的意义嘛!
- 目前支持microformat只有Firefox的Operator插件。
- Firefox市场占有率对于中国,即便它在发展壮大,还是奇低。平均高估一下:FF占有率10%吧。
- 使用Firefox的人群能有几个人知道Operator?连我都一直不知道,更不要说其他人了,更不要说人民群众了。再平均高估一下:1%吧(100个Firefox中有1个装了Operator)
- 装了Operator的人已经处于领域浪尖了,好了,有几个人真正在使用,而不是看着Operator上出现的识别数字YY?坦白的说,我装了Operator后,行为上属于后者,纯粹YY。去导出hCard?然后干嘛呢?我疯了,我有病!……继续高估:1%(100个安装了Operator的人中有1个人在真正使用)
- 好了,你突破了上述种种关卡,成为了浪尖上冒泡的水花,精英中中奖的英雄,骄傲吧……请问你访问100次网站,能用几次?你雄心壮志的以为中奖,结果是什么都没有,安全期……TT,最后的结局是:1%。
什么是梦想,什么是现实,什么是梦想照不进现实,诠译得多么准确。microformat……
开门见了山,横在路中间……登还是绕?
本文转自爆牙齿博客园博客,原文链接:http://www.cnblogs.com/yuntian/archive/2008/08/11/756917.html,如需转载请自行联系原作者