|  | 级别: 中级 投稿者:Community specification 2007 年 8 月 28 日 XML 简单 API(Simple API for XML, SAX)是一种事件驱动 XML API,由它定义的事件流可以指定从解析器传到专门的处理程序代码的 XML 结构。了解 SAX 的起源,并了解为什么它被认为是最有效也是使用起来最为困难的 XML 处理方法之一。
Simple API for XML (SAX)
[社区规范] 是一种事件驱动的 API。XML 标记的不同部分(如起始和结束标记、文本、实体)触发特殊的事件,然后为这些事件注册处理程序代码。解析器根据输入 XML 发送事件流,然后处理程序代码依次处理事件。
SAX 的创建实际上就是一个马拉松式的过程,从 1997 年后期由 XML-DEV 邮件列表 发起,长期以来该邮件列表一直是 XML 专家的据点。David Megginson 领导了这个讨论组,在没有任何大公司或标准组织的支持下,造就了最成功的 XML 计划之一。在 SAX 之前,每种解析器都使用自己特有的 API 进行 XML 结构和处理程序代码之间的通信,而 SAX 对此进行了重要的统一。通常,解析器使用 SAX 驱动程序将低级解析器事件转换为 SAX 标准事件,支持可移植代码。SAX 的最初开发面向 Java™ 语言,但已经普及到多种语言和环境,虽然其以 Java 为中心的特性使移植变得较为复杂。SAX 目前发展到第二代,包含了 XML 名称空间处理和可选的某些与文档结构相关的事件报告。
在主流语言中,基于事件的接口通常使用回调函数实现,这是一种在图形用户界面(GUI)之类的编程中常见的方式。在面向对象语言中,回调函数通常是对象的注册方法,使用多态匹配方法名和处理程序代码,并使用封装管理回调之间的处理程序的状态。这一整套基于事件的编程模型称为推模型,并且由于其较难掌握而知名。然而,其他被认为较为容易的编程模型需要随机访问文档,从而导致效率低下,因此,SAX 被认为是处理 XML 的最有效的标准方法(虽然不是最简单的方法)。
参考资料
|  | |  |
|