没有X的Ajax,没有尖括号的微格式(1)
随着 AJAX 和微格式的兴起,这些格式还有用吗?或者微格式是不是足够 “轻巧” 了呢?看看如何通过 JSON(比 YAML 更轻巧)使用 MochiKit for AJAX(不带 X),以及如何在生成微格式的任务中利用 reStructured Text。
XML 既用于标记文档也用于标记结构化数据,是好是坏有各种不同的解释,这要看您采用哪种观点了。对于文档和数据界限模糊的地方来说 XML 可能是赢家,但是作为一种通用解决方案,对一个问题来说 XML 可能比任何给定的具体解决方案都更复杂。David 此前曾经讨论过 YAML(请参阅 参考资料)。YAML Ain't Markup Language 或 Yet Another Markup Language(YAML)是一种方言,以提供比 XML 更简单的数据(数字、字符串、列表、简单结构)传输为目标。本文中我们将讨论 JSON(JavaScript Object Notation),它是 YAML 的一个真子集,但是更容易创建和解析。在 JavaScript 和 Python 中,如果 JSON 的来源可靠,可以直接用脚本引擎求值,对于来源不可靠的 JSON 也有相应的解析器可用。
虽然 JSON 的应用靠近文档-数据谱系中的数据一端,也可用结构文本格式处理文档色彩较浓的微格式。有三种主要的结构化文本方法(不算各种各样的 Wiki 标记):reStructured Text、Markdown 和 Textile。我们将分析这三种格式,至少从理论上看看它们如何处理微格式例子。
微格式中有什么?
微格式包含什么样的数据?微格式的要旨是将(通常)少量的数据,放入一个容易供人或机器处理的格式中,如果忽略这一限制把数据按照人类阅读或机器处理(但不能同时)的需要编码,然后处理以得到微格式版本就会带来一些好处。hCalendar 通常的例子包括下列信息:
- 摘要/标题
- 位置
- URL
- 起始日期(以及可选的时间)
- 结束日期(和可选的时间)
- 时区
- 说明
需要编码的就这么多。清单 1 显示了一个 hCalendar 事件的例子:
清单 1. hCalendar 事件
href="http://www.vanpyz.org/conference/keynotes.html"> August 4, 2006 - 19:00 - 21:00 - Vancouver Python Workshop Keynotes - at Fletcher Challenge Canada Theatre, SFU Harbour Center, Downtown Vancouver The Vancouver Python Workshop keynote address is an
精彩图集
精彩文章
热门标签赞助商链接 |






