资源预览内容
第1页 / 共134页
第2页 / 共134页
第3页 / 共134页
第4页 / 共134页
第5页 / 共134页
第6页 / 共134页
第7页 / 共134页
第8页 / 共134页
第9页 / 共134页
第10页 / 共134页
亲,该文档总共134页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
.第八章 编程接口编程接口指应用程序访问XML文档的API,常用的有DOM、SAX和JDOM三种,及微软的MSXML和.NET的Xml、Java的JAXP三个。本章先概述XML之API的基本情况,然后分别介绍这三种和三个API的主要内容、编程方法和应用实例。一、概述1API1)需要为了开发XML应用程序,必须分析XML文档(包括识别元素标签、属性、注释和指令以及解析实体),以访问文档的各个语法成分和数据(如元素、属性、文本、注释和处理指令等)。(源码网整理:www.codepub.com)为了避免低层次重复开发,需要有现成的语法分析器及其动态链接库DLL作编程接口。为了防止各公司开发的分析器互不兼容,造成程序不通用,需要制定统一的接口规范(似ODBC/JDBC于数据库)。所以就有了W3C的DOM、XML-DEV邮件列表成员的SAX和Hunter&McLaughlin的JDOM及微软的MSXML、Java(Sun)的JAXP等编程接口。2)地位XML文档 XML分析器 API XML应用程序.xml .dll DOM/SAX/JDOM .exeMSXML/.NET Xml/JAXP3)优点l 保证语法和格式正确l 简化文档操作l 与数据库结合/转换良好4)功能l 可读取数据、遍历文档l 可动态创建文档l 可动态添加、修改和删除文档内容l 可动态改变处境表现2DOM1)概念DOM = Document Object Model(文档对象模型),是W3C为HTML和XML分析器制定的标准接口规范。它允许程序和脚本动态访问和更新文档的内容、结构和样式。其实,文档对象模型并不是什么新东西,早在HTML的JavaScript等脚本语言中,就把窗口、文档、历史等对象作为浏览器模型的一部分。只是不同的浏览器和脚本语言实现这些对象的方式有所不同,存在通用性和兼容性问题。而DOM则是W3C提出的一种HTML和XML文档处理的通用接口标准。对于XML应用开发来说,DOM是一个对象化的XML数据接口。其实,DOM本身是一组对象的集合,通过操纵这些对象,程序员可以操控HTML和XML数据,对文档进行读取、遍历、修改、添加和删除等操作。下面是DOM Level 1摘要的参考译文:本规范定义了文档对象模型的级别1,一种平台与语言中立的接口,允许程序和脚本动态访问和更新文档的内容、结构和样式。文档对象模型提供了一个表示HTML和XML文档的标准对象集合,一个如何将这些对象组合起来的标准模型,和一个访问并操作它们的标准接口。供货商可以支持DOM作为其专有数据和API的接口,而内容作者可以按标准DOM接口而不是按产品特定的API来编写,从而增加其在Web上的互操作性。该DOM规范的目标是为XML和HTML定义一个编程接口。DOM级别1规范被分成两个部分:核心与HTML。核心DOM级别1部分,既提供一个可以表示任何结构的文档的基本接口的低级集合,又定义了表示XML文档的扩展接口。这些扩展的XML接口不必被一个只提供对HTML文档访问的DOM实例去实现;但是核心部分的所有基本接口则必须全被实现。一个遵循DOM的实现,若其实现了扩展XML接口,则它必须也实现基本核心接口,但不必实现HTML接口。HTML级别1部分提供了额外的高级接口,与核心级别1 部分所定义的基本接口一起使用,以提供更方便的HTML文档之视图。一个遵从HTML DOM的实现,应该实行所有的基本核心接口以及HTML接口。2)特点DOM具有如下特点:l 独立于语言(Java/C+/VB/JavaScript)l 跨平台(Unix/Linux/ Windows/MacOS)l 可同时用于HTML和XMLl 基于OMG(Object Management Group对象管理组)制定的CORBA(Common Object Request Broker Architecture公共对象请求代理体系结构)标准,目前最新标准为2008年1月4日推出的CORBA 3.1版l 使用OMG的IDL(Interface Definition Language接口定义语言)来定义接口(ISO/IEC 14750:1999 Information technology - Open Distributed Processing - Interface Definition Language信息技术开型分布处理接口定义语言)3)级别DOM有三个级别:l DOM Level 1:(基于1998年7月1日推出的CORBA 2.2规范)n 1.0 REC (1998.10.1):Document Object Model (DOM) Level 1 Specification Version 1.0 - W3C Recommendation 1 October, 1998n 1.0 2nd Ed WD (2000.9.29):Document Object Model (DOM) Level 1 Specification (Second Edition) Version 1.0 - W3C Working Draft 29 September, 2000l DOM Level 2 (基于1999年10月7日推出的CORBA 2.3.1规范,被分成核心、视图、事件、样式、遍历与范围、HTML等六个部分):n 核心1.0 REC(2000.11.13):Document Object Model (DOM) Level 2 Core Specification Version 1.0 - W3C Recommendation 13 November, 2000n 视图1.0 REC (2000.11.13):Document Object Model (DOM) Level 2 Views Specification Version 1.0 - W3C Recommendation 13 November, 2000n 事件1.0 REC (2000.11.13):Document Object Model (DOM) Level 2 Events Specification Version 1.0 - W3C Recommendation 13 November, 2000n 样式1.0 REC (2000.11.13):Document Object Model (DOM) Level 2 Style Specification Version 1.0 - W3C Recommendation 13 November, 2000n 遍历与范围1.0 REC (2000.11.13):Document Object Model (DOM) Level 2 Traversal and Range Specification Version 1.0 - W3C Recommendation 13 November, 2000n HTML 1.0 REC (2003.1.9):Document Object Model (DOM) Level 2 HTML Specification Version 1.0 - W3C Recommendation 09 January 2003l DOM Level 3 (也基于CORBA 2.3.1规范,目前包含核心、装入与保存、验证、X路径、需求、视图与格式化、事件、抽象模式等八个部分):n 核心1.0 REC (2004.4.7):Document Object Model (DOM) Level 3 Core Specification Version 1.0 - W3C Recommendation 07 April 2004n 装入与保存1.0 REC (2004.4.7):Document Object Model (DOM) Level 3 Load and Save Specification Version 1.0 - W3C Recommendation 07 April 2004n 验证1.0 REC (2004.1.27):Document Object Model (DOM) Level 3 Validation Specification Version 1.0 - W3C Recommendation 27 January 2004n 事件 WD(2009.9.8):Document Object Model (DOM) Level 3 Events Specification - W3C Working Draft 8 September 2009u 服务器发送事件 WD(2009.12.22):Server-Sent Events - W3C Working Draft 22 December 2009n X路径1.0 NOTE (2004.2.26):Document Object Model (DOM) Level 3 XPath Specification Version 1.0 - W3C Working Group Note 26 February 2004n 需求NOTE (2004.2.26):Document Object Model (DOM) Requirements - W3C Working Group Note 26 February 2004n 视图与格式化1.0 NOTE (2004.2.26):Document Object Model (DOM) Level 3 Views and Formatting Specification Version 1.0 - W3C Working Group Note 26 February 2004n 事件1.0 NOTE (2003.l1.7):Document Object Model (DOM) Level 3 Events Specification Version 1.0 - W3C Working Group Note 07 November 2003n 抽象模式1.0 NOTE (2002.7.25):Document Object Model (DOM) Level 3 Abstract Schemas Specification Version 1.0 - W3C Note 25 July 20023SAXSAX(Simple API for XML,XML的简单API)不是W3C的标准,而是由XML-DEV邮件列表成员(主要成员有:Peter Murray-Rust、Tim Bray和David Megginson,由Megginson整理)于1998年为Java语言开发的一种基于事件的简单API。但它使用广泛,目前有四个版本:SAX1 (V1.0:1998.5.11)、SAX2 (V2.0:2000.5.5)、SAX2 r2 (V2.0.1:2002.1.29) 和SAX2 r3 (V2.0.2:2004.4.26)。4JDOM鉴于DOM使用不太方便,而SAX又不能随机处理XML文档,Jason Hunter与Brett McLaughlin于2000年春天,开始创建一种能充分利用Java特性的处理XML文档之APIJDOM(Java-based DOM,基于Java的DOM),它是一个基于Java的对象模型,也采用树状结构,能使读取、操作和写入XML文档,比DOM更容易、更高效。已经推出的正式版本有JDOM 1.0(2004
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号