收藏 分享(赏)

XML及其开发与应用.doc

上传人:dzzj200808 文档编号:2968424 上传时间:2018-10-01 格式:DOC 页数:21 大小:364KB
下载 相关 举报
XML及其开发与应用.doc_第1页
第1页 / 共21页
XML及其开发与应用.doc_第2页
第2页 / 共21页
XML及其开发与应用.doc_第3页
第3页 / 共21页
XML及其开发与应用.doc_第4页
第4页 / 共21页
XML及其开发与应用.doc_第5页
第5页 / 共21页
点击查看更多>>
资源描述

1、XML 及其开发与应用选修课 3*18 = 54 学时 3 学分成绩计算方法平时作业 15% + 讲座 15% + 大作业 30% + 书面开卷考试 40%讲课形式由我讲绪论,其他内容让学生每人选一章节、先自己预习并写 PPT、然后由学生在课堂上演讲、再由老师和同学共同讨论。教材我写的电子课件(课件及开发工具都在我的个人网页 http:/ Chales F. Goldfarb 验中山大学课程:程序设计操作系统编译原理成绩单学号 姓名 成绩 01 张三 75 02 李四 82 运行结果为:(另外还播放 MIDI 乐曲)四XMLXML(eXtensible Markup Language,可扩展标

2、记语言)是 W3C 于 1998 年推出的一种用于数据描述的元标记语言的国际标准。本节先从 HTML 的不足出发,给出引入 XML 的必要性,然后讨论 XML 的特点和意义,接着列出 XML 的各种版本,重点介绍 XML 的标准系列,随后列出若干 XML 的应用分支,最后给出一个 XML 文档的实例。1XML 的特点和意义1) HTML 的不足 花哨内容被形式掩盖(如字 体 、 排 版 、 色彩、闪烁、动画等) ,难检索; 不兼容微软和网景公司各自扩展,互不兼容,使网页文档的设计与维护困难; 分离不彻底虽然 4.0 版已经提倡结构与外观的分离,但这种分离并不彻底,如仍然保留了格式标签,而且微软

3、抵制 CSS(直到 IE 7.0 中才有所改善) 。应用迫切需要内容与形式彻底分离、且容易扩展的标记语言,故 XML 应运而生。2) XML 的优点XML 的如下一些特性,使得它非常适合于数据的传输和转换: 可同时被人类和机器阅读的格式; 支持 Unicode,允许采用几乎任何人类语言编写的任何信息进行通信; 可以表示大多数普通计算机科学的数据结构:纪录、表格和树; 可描述结构和字段名以及具体值的自编辑文档(self-documenting)格式; 严格的语法和分析需求,允许必需的分析算法保持简单、高效和相容。XML 也常被用作联机或脱机的文档存储和处理的格式,提供了如下几点好处: 健壮且逻辑

4、上可验证的格式是基于国际标准的; 层次结构适用于大多数(但不是所有)文档类型; 呈现为简单的文本文件,没有许可和限制的妨碍; 为平台独立的,因此相对地免疫于技术上的变化; 它及其前辈 SGML 从 1986 年就开始被使用,有广泛的经验和可用软件。3) XML 的缺点但是,任何事物都是一分为二的,XML 也不例外,它也存在一些弱点。对特定应用,XML 也有下列弱点: 语法冗长,会影响人类阅读和应用效率,并产生过高的存储代价。使得 XML 难以应用于带宽受限的场合(如蜂窝电话和掌声电脑上的多媒体应用) ; 分析程序需要设计来重现任意嵌套的数据结构,而且必须执行额外的检查来检测不正确的格式或非顺序

5、的语法和数据。这会导致大多数基本 XML 使用的显著开销。而且当 XML 从不可信源输入时,会产生额外的安全问题,并可能造成资源耗尽或堆栈溢出; 基本的分析需求,不支持广泛的数据类型,所以需要额外的解释工作来处理文档中的用户所需数据(如浮点数) 。在某些 XML 的模式语言中添加了该功能; 与关系模型相比,使用层次结构模型来表达信息具有很大的局限性,因为它只给出了实际信息的一个固定视图。建模重叠(非层次)的数据结构需要额外的努力。映射 XML 到关系或面向对象的范型,通常非常麻烦; 有人认为,只要当文件的容量小,XML 就能用于数据存储。但是这必须在对体系结构、数据、实现和其他问题作特殊的假设

6、后才行; 在标准 PC 键盘上键入 XML 表达式序列特别笨拙。4) XML 的特点 与传统的私有且专用的二进制格式相比: 是一种标记语言:基于文本、具有自描述性; 是公开的通用国际标准; 获得了普遍支持和广泛应用; 与传统的 HTML 相比: 是一种元语言:能自定义文档的结构、可以添加元素和属性、具有可扩展性、不是一个单一标准而是一个标准体系; 不限于网页描述:可用于描述和存储数据、具有十分广泛应用(如数据交换、网页发布、分布式计算、电子商务、Web 服务、数据库等) ; 注重文档的内容和含义:形式和内容分离、便于查询和检索、但需要专门的显式技术与方案。 与 SGML 相比: 简化后的子集;

7、 只有 SGML 的约 20%复杂性,但却具有 SGML 的约 80%功能; 比完整的 SGML 简单、易学、易用,并且易实现; 支持 Unicode 和网络。5) XML 的主要特点 SGML 的子集20%复杂、80%功能; 文档定义的元语言可用来定义各种具体应用领域的专用文档类型; 扩展性好可自定义元素、属性和其他文档成分,伸缩灵活; 形式与内容彻底分离数据文档(*.xml)和显示设置(CSS/FO/XSLT+HTML)彻底分离。易进行数据管理和内容检索,而且同一数据可以有多个视图; 高度结构化良好的(层次结构)数据存储格式,应用软件易集成使用; 具有自描述性基于文本,自带(定义文档结构和

8、数据类型的)DTD 或 Schema 应用广泛主要应用领域有:网页发布、数据交换、分布式计算、信息描述、数据库等等。6) XML 的意义 应用于几乎一切(需要描述、处理、交换、展示数据的)领域(如操作系统、开发平台、数据库、网页发布、数据交换、Web 服务、电子商务、电子政务、电子书、图书馆、无线通信、网格计算、音乐、动画、) ; 打破以往各自为政、互不兼容的尴尬局面,确立数据交换的共同国际标准; 得到所有政府、企业、院校、研究单位和各行各业的一致支持与好评;(空前绝后) 由于是巨大商业利益的所在,所以各个具体行业标准的制定竟争激烈。2XML 流行的原因传统的数据一般采用专用的二进制格式,占用

9、存储空间小,访问与处理的效率高。但是,随着计算机技术的高速发展,CPU 的性能在不断提高,存储器的容量也越来越大,专用二进制格式的这两个优势已经不复存在。而随着信息技术的进步和计算机应用的普及,特别是互联网的飞速发展和分布式计算的蓬勃兴起,对数据的采集、处理、存储、查询、使用的需求与日俱增,数据的可交换性和可维护性变得越来越重要。XML 作为 W3C 推出的通用国际标准,采用基于文本的标记语言,即可用于机器访问处理,也能供人类阅读理解。用 XML 来描述数据,虽然比专用二进制格式会牺牲一些处理效率和存储空间,但是换来的却是数据的通用性、可交换性和可维护性,这对跨软件、跨公司、跨平台的分布式网络

10、环境中的计算机应用是至关重要的,这也正是 XML 今天能得到如此广泛支持和应用的根本原因。现在,本来是作为 HTML 替代品的 XML, “无意插柳柳成荫 ”地成为了全世界的数据描述和交换的热门标准。这也能帮助理解,为什么会有 XML Schema 来替代 DTD,为什么XSLT 会意外地受到重用,以及 XPath、XQuery 与 DOM 的发展和 XML 数据库的兴起了。3XML 版本XML 元语言标准用于描述 DTD,目前有两个主要版本:1.0 和 1.1。它们的主要差别在于,元素和属性名称所采用的字符集(标准的版本)有所不同。1) 1.0 版Extensible Markup Lang

11、uage (XML) 1.0(1) 1.0(1.0 第一版) REC:1998.2.10. W3C 推荐标准;(2) 1.0 Second Edition(1.0 第二版)REC:2000.10.6. W3C 推荐标准(加删少量 DTD 生成式,修改错误,改进描述) ;(3) 1.0 Third Edition(1.0 第三版)REC:2004.2.4. W3C 推荐标准(修改错误,改进描述) ;(4) 1.0 Fourth Edition(1.0 第四版)REC :2006.8.16. W3C 推荐标准(修改错误,改进描述) 。(5) 1.0 Fifth Edition(1.0 第五版)RE

12、C :2008.11.26. W3C 推荐标准(修改错误,放宽了对元素和属性命名字符的限制,XML 1.1) 。2) 1.1 版Extensible Markup Language (XML) 1.1(扩展字符集)(1) 1.1(1.1 第一版) 2004.2.4. W3C 推荐标准;(2) 1.1 Second Edition(1.1 第二版) REC: 2006.8.16.(修改错误,改进描述)。4XML 标准系列因为 XML 是一种元语言,所以同 SGML 一样,XML 并不是一个单独的标准,而是一个标准系列。包括定义文档结构的核心标准组、展现文档内容的样单及其格式对象标准、起源于样单表

13、示的文档转换标准、定位和链接文档的路径/ 指针/ 链接语言、查询语言、以及访问 XML 文档的三种常用 API 等。1) 核心(1) Infoset(信息集) XML 应用文档的抽象数据模型,为需要引用 XML 文档中信息的规范提供了一组定义(XML Information Set)1.0, REC 2001.10.24;Second Edition, REC 2004.2.4) ;(2) DTD(Document Type Declaration 文档类型声明)提供定义文档结构的语法规范(Extensible Markup Language (XML) 1.0, REC: 1998.2.10

14、.;1.0 Second Edition, REC: 2000.10.6.;1.0 Third Edition, REC: 2004.2.4.;1.0 Fourth Edition, REC: 2006.8.16.;1.0 Fifth Edition, REC: 2008.11.26.; 1.1, REC: 2004.2.4.; 1.1 Second Edition, REC: 2006.8.16.) ;(3) Schema(模式/架构/大纲)XML 的应用、可定义文档结构与数据类型,有替代 DTD 的趋势(XML Schema 1.0, REC: 2001.5.2.; 1.0 Second

15、Edition, REC: 2004.10.28.;现正在开发 1.1 版W3C XML Schema Definition Language (XSD) 1.1 Part 1 后来被分解成框架、元素模式、XML 名域模式、X 指针模式共四个标准:XPointer Framework、XPointer element() Scheme、XPointer xmlns() Scheme, REC: 2003.3.25.; XPointer xpointer() Scheme, WD: 2002.9.19.);(3) XLink(XML Linking Language,XML 链接语言)支持复杂链

16、接,如双向、一对多、嵌入和间接链接 (XML Linking Language (XLink) Version 1.0, REC: 2001.6.27.);(4) XBase(XML Base,XML 基)指定相对链接的基路径 (XML Base, REC: 2001.6.27.; XML Base (Second Edition), REC: 2009.1.28);(5) XQuery(XML Query Language,XML 查询语言) 用于查询 XML 文档中的数据(XQuery 1.0: An XML Query Language,REC: 2007.1.23.) 。4) 接口编程

17、访问 XML 文档的 API,常用的有三种:(1) DOM(Document Object Model,文档对象模型) ,由 W3C 制定,有三个级别:a) DOM level 1 (Document Object Model (DOM) Level 1 Specification Version 1.0, REC: 1998.10.1.);b) DOM level 2 (被分成核心、视图、事件、样式、遍历与范围、HTML 等多个部分:Document Object Model (DOM) Level 2 Core / Views / Events / Style / Traversal an

18、d Range Specification Version 1.0, REC: 2000.11.13.; Document Object Model (DOM) Level 2 HTML Specification Version 1.0, REC: 2003.1.9.);c) DOM level 3 (被分成核心、装入与保存、X 路径、视图与格式化、验证等多个部分:Document Object Model (DOM) Level 3 Core (REC: 2004.4.7.) Requirements (WGN: 2004.2.26.) / Load and Save (REC: 2004

19、.4.7.) / XPath (WGN: 2004.2.26.) / Views and Formatting (WGN: 2004.2.26.) / Validation (REC: 2003.1.27.) / Events(WGN: 2003.11.7.) / Abstract Schemas(Note: 2002.7.25.) Specification Version 1.0。(2) SAX (Simple API for XML = XML 的简单 API,http:/www.saxproject.org/),不是 W3C 制定的标准,而是由 XML-DEV 邮件列表成员为 Java

20、 语言开发的(现在也可用于其他编程语言) 。但它简单快速、使用广泛,目前有四个版本:SAX1(V1.0:1998.5.11) 、SAX2(V2.0:2000.5.5)、SAX2 r2(V2.0.1:2002.1.29) 和SAX2r3(V2.0.2:2004.4.27)。(3) JDOM(Java-based DOM,基于 Java 的 DOM,http:/www.jdom.org/) ,鉴于DOM 使用不太方便,而 SAX 又不能随机处理 XML 文档,Jason Hunter 与Brett McLaughlin 于 2000 年春天开始创建一种能充分利用 Java 特性的处理XML 文档之

21、 API JDOM。JDOM 是一个基于 Java 的对象模型,也采用树状结构;其读写和操作 XML 文档的处理,比 DOM 更容易、更高效。已经推出的正式版本有:JDOM 1.0(2004.9.9.)和 JDOM 1.1(2007.11.13.) 。DOM 和 JDOM 适用于 XML 文档的结构化处理,它们都在内存中创建文档树,可以随机访问文档内容,但是需要将整个文档读入内存。其中,DOM 可用于各种编程与脚本语言,而 JDOM 则只能用于 Java 语言。不过,JDOM 比 DOM 更方便、速度较快,可在 Java平台上替代 DOM。而 SAX 并不创建文档树结构(不需将整个文档读入内存

22、) ,所以简单快速、效率高、可处理大型文件,而且 SAX 可用于许多编程语言。但 SAX 不能随机访问文档,且目前还没有获得主流浏览器的支持。对 DOM、SAX 与 JDOM 特性的比较,可参见下表。可见,这三种 XML API,各有优缺点和特色,适用于不同的平台和应用,会长期并存下去。DOM、SAX 与 JDOM 的比较DOM SAX JDOM标准制定者 W3C 官方 XML-DEV ML 群众 J.Hunter&B.McLaughlin处理文档类型 XML 和 HTML XML XML处理方式 基于树 基于事件 基于树读入文档方式 整个文档并在内存中建文档树 流式不在内存中建文档树 整个文

23、档并在内存中建文档树访问方式 随机 顺序 随机速度 慢 快 较快需内存 大 小 中处理功能 强大 简单 强大接口级别 高级 低级 高级支持语言 各种编程与脚本语言 Java、C+、Python 等编程语言 只能 Java库函数 由 XML 解析器提供 SAX 包可提供 JDOM 包可提供适用 文档的结构化随机处理 (大型)文档的简单顺序处理 文档的结构化随机处理5应用分支XML 的应用十分广泛,已经渗透到计算机领域的方方面面和社会上的各行各业。下面列出若干 XML 的应用分支,它们当中,有些是由 W3C 制定,有些则是由行业协会或其他组织所制定:XHTML(Web 网页) 、MathML(数学

24、公式)、CML(化学表达式)、SVG( 二维矢量图)、SMIL(多媒体集成)、X3D( 三维建模与动画/ 虚拟现实) 、MIDI XML(MIDI 音乐) 、OEB( 电子书) 、 ebXML(电子商务)、WML(移动电话)、VoiceXML(语音)、SOAP/WSDL(Web 服务)、。6标准体系元语言标准基础标准应用标准7文件体系XML 文档*.xmlDTD*.dtdSchema*.xsdCSS*.css浏览器展示XSLT*.xslHTML 文档*.htmlFO 文档*.xsl 或*.foXML 文档*.xml浏览器展示FO 软件展示XPathXQuery*.xqInfoset查询结果Na

25、mespaceXPointerJDOM / SAX*.js / java / cs / cpp处理结果XLinkXBaseXHTML 文档*.html 或*.xml8例子1)HTML(students.html)中山大学学生信息XMLNamesapce Schema XSL XSLT CSSXBase XLink XPath XPointer XQueryXInclude RDF P3P DOM XHTML MathML CML SVG SMILX3D HDML OEB WAP ebXML 张三性别:男年龄:23地址:广东省 广州市 新港西路 135 号李四性别:女年龄:22地址:湖北省 武汉

26、市 鲁磨路 388 号浏览器显示为:2)XML(students.dtd/students.xml/mystyle.xsl)(1) XML 文档(students.xml)张三23广东广州新港西路 135 号李四21湖北武汉鲁磨路 388 号王五25江西南京中山路 216 号该 XML 文档所对应的 DTD 为:(2) DTD 文档类型定义(students.dtd)XML 文档本身并不包含显示信息,为了能用浏览器显示,可以用 XSLT 将其转换为HTML 格式:(3) XSLT 可扩展样单语言转换 1列表(mystyle1.xsl)中山大学学生信息性别: 年龄: 地址:省市转换结果与显示同 HTML 版。(4) XSLT 可扩展样单语言转换 2表格(mystyle2.xsl)中大学生信息学生花名册序号姓名 性别 年龄 地址 省份 城市 街道 显示为:作业1 实现上面的 HTML 和 XML 例子文档。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 专业基础教材

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报