(计算机应用技术专业论文)基于svg的图像信息实时发布模式.pdf_第1页
(计算机应用技术专业论文)基于svg的图像信息实时发布模式.pdf_第2页
(计算机应用技术专业论文)基于svg的图像信息实时发布模式.pdf_第3页
(计算机应用技术专业论文)基于svg的图像信息实时发布模式.pdf_第4页
(计算机应用技术专业论文)基于svg的图像信息实时发布模式.pdf_第5页
已阅读5页,还剩55页未读 继续免费阅读

(计算机应用技术专业论文)基于svg的图像信息实时发布模式.pdf.pdf 免费下载

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

摘要 近年来网络技术迅速发展,网络在信息发布方面的应用越来越广泛。随着网络中异 构数据量的增大,网络信息发布面临着两大问题:第一,如何实现异构数据的获取和转 化;第二,如何表现数据的动态效果,使客户能够准确、快速、形象的获取数据信息。 论文提出了基于s v g ( s c a l a b l ev e c t o rg r a p l l i c ,可扩展矢量图形) 的网络信息实时发 布模型,模型利用一种全新的二维矢量图形格式一s v g 有效的解决了上述问题:将异构 数据转化为标准交换数据格式- x m l ;基于s v g 的矢量图形格式设计客户端,使其具有 良好的交互性。s v g 在网络信息图形发布中具有极大的优势,它比g i f 和j p e g 图像格 式文件更小,占用空间小,优化了浏览器的使用,更适合在网络上应用。 论文中详细分析了基于皿的s v g 规范,将x m u s v g 与w 如信息发布技术相 结合,提出了一个基于b s ( b m w 8 e r ,s e n 倌r 模式) 多层模式下的分布式实时w 曲系统, 并对数据库端,中间层服务器端和浏览器的关键技术及其解决方案分别进行了详细剖 析。 对于数据动态发布而言,很关键的一点是如何表现动态效果。s v g 虽然是基于数据 的,但就它本身丽言,只是一个静态的文件而已,无法取得实时数据,必须借助予其它 技术。s v g 与数据发布技术相结合,利用x s l 得到w 曲实时信息发布是一个良好的解 决方案。该方案最大特点是效果清晰,响应速度快。 笔者对s v g 技术做了大量的理论与实践的探讨,系统模型集成了咀。、s v g 、j a v a 等先进技术,所应用技术手段具有响应速度快,通用性好,客户端要求较低,便于系统 维护与更新的特点。模型设计不仅节省网络传输带宽,减少传输延迟时间,而且图像能 够根据后台传统数据库中数据的更新,图像发生相应的变化,实现了实时信息的可视化 发布。 关键词;s v g ;矢量图形:实时信息发布;x m l ;x s l 独创性声明 本人声明所呈交的学位论文是本人在导师指导下进行的研究 工作及取得的研究成果。据我所知,除了文中特别加以标注和致 谢的地方外,论文中不包含其他人已经发表或撰写过的研究成果, 也不包含为获得东北师范大学或其他教育机构的学位或证书而使 用过的材料。与我一同工作的同志对本研究所做的任何贡献均已 在论文中作了明确的说明并表示谢意。 学位论文作者签名:。:鱼芏 ,rd 日期:醴虹j 3 学位论文版权使用授权书 本学位论文作者完全了解东北师范大学有关保留、使用学位 论文的规定,即:东北师范大学有权保留并向国家有关部门或机 构送交学位论文的复印件和磁盘,允许论文被查阅和借阅。本人 授权东北师范大学可以将学位论文的全部或部分内容编入有关数 据库进行检索,可以采用影印、缩印或其它复制手段保存、汇编 学位论文。 ( 保密的学位论文在解密后适用本授权书) 学位论文作者签名; 日 期: 学位论文作者毕业后去向: 工作单位: 通讯地址: 指导教师签名:彳! ,二查! 竺 日 期:浏,: 电话: 邮编: 引言 2 l 世纪是信息的时代也是网络的时代。互联网络的迅速崛起和在全球范围内的飞速发 展,使万维网( w 矾dw d ew 曲简称w w w 或w 曲) 成为高效的全球性信息发布渠道。 当人们在日常的生活中需要对各种空间信息进行查询、分析、显示时,这些操作很多情 况下是依靠互联网来实现的。利用网络以图形的方式直观的向多个用户提供并发的实时 空间数据信息服务成为网络信息发布研究的热点之一。 可扩展矢量图形一s v g 的出现给这项热点问题带来了一场新的革命,它有效的解决 了网络带宽的严重不足,无论是对从事网络信息系统开发的工作者,还是对于网络用户 来说,都无疑带来了极大的便利。s v g 从产生到广泛的应用都有着深刻的时代背景和应 用基础,社会的进_ 步创造了它发展的环境,应用的需求为它提供了发展的源动力。科学 理论和技术的进步保证了它发展的可持续性。 从“数据化”到“图形化”概念的提出,一个以h l t e r n e t 网络为基础的、开放式的 网络信息平台。在全球范围正在逐步形成。空间数据跨越了地域和时间的限制以图形 的方式成为全球共享的资源。 二十一世纪是信息的时代,以网络为核心的信息技术的发展,使我们享受到极大的 信息资源。网络正逐渐成为国家甚至全球信息流通的重要组成部分,成为当今社会最基 本的信息服务之一。 1 1 网络图形格式的发展 第一章绪论 随着h n e m e t 的迅猛发展,近年来网络技术日新月异,其中图形技术发挥着至关重 要的作用。目前。网络的图形技术主要包括:g i f ( g r a p h i c s ,图形交换格式) 、j p e g ( j o i n t p h o t o g r a p l l i ce x p e r t sg r o u p ,联合图像专家组) 、p n g o r t a b l en e t w o r kg r a p l l i c ,可移植 网络图形) 、p g m l ( p r e c i s i o n g 蛐i c s m 砌唧l 锄g i 墙,g e ,精确图形标记语言) 、v m l ( v e c t o r m 酞u p ,矢量标记语言) 【i ,2 1 。 1 1 1 位图 当前主流的位图图形格式主要存在以下几种;g i f ( g 擅p h i c s ,图形交换格式) 、 j p e g ( j 0 i mp h o t o 鲫l l i ce x p e n sg u p ,联合图形专家组) 、p n g ( p o r t a m en e 嘶r k g m p h i c ,可移植网络图形) 。 1 、g i f ( ( h p h i c s ,图形交换格式) 随着h 埔衄1 e t 的普及,g i f 成了网络图形标准之一。这种格式是由c o 珊p u s e n r e r 公 司设计的,g 瑾分为8 7 a 和8 9 a 两种版本,存储格式为1 到8 位【引。g i f 是经过压缩的 格式,占用磁盘空间较小,所以该格式曾被广泛应用。 2 、j p e g ( j o i n tp h o t 0 辨l p h i ce x p e r t sg r o u p ,联合图形专家组) j p e g 是按j o i n tp h o t o g r a p l l i ce x p e n sg t o u p 制定的压缩标准而产生的压缩格式,属 于j - p e gi n t e r c h 趾g ef o n n a t ,它可以用不同的压缩比例对文件进行压缩,其压缩技术十 分先进,对图形的质量影响较小,是主流的图形格式【4 l 。 3 、p n g o r t a b l en e 咐o r kg r a p h i c ,可移植网络图形) p n g 是专门针对w 曲开发的一种无损压缩图形,结合了j p e g 和g i f 两种图形格 式的优点,它的压缩比大,超过l z w 等传统的图形无损压缩算法,它还支持透明背景 和动态效果。 g i f 、j p e g 、p n g 都属于位图格式,即它们都是像素的排列,都存在着以下不足: 如果改变图形的大小,将导致操作位图时产生锯齿状的线条;另外,由于位图的尺寸都 很大,如果要迅速传送到用户的系统上,必须使用压缩和调色板技术【5 】即使使用压缩 技术,由于图形文件的大小和用户的连接速度较慢,下载图形的速度仍然较慢;并且, 如果没有图形工具的支持,你是无法徒手作图的【6 】。 2 总之,点阵图形的优点在于处理简单直观,能够有效的表现自然直观图,而且可以 直接用于多种输出设备,它的不足之处主要是:图形数据量大;图形中只存储了像素信 息,无法直接得到图形中各个元素的信息。这两点缺点限制了点阵图形在i m e m e t 上的 应用,尤其是远程传输中的应用。由于数据量大,传输时间必定很长,虽然人们为了减 小数据量而设计出一些压缩格式,但在具体应用中又需要一定的时间进行解压缩;在对 点阵图形进行缩放、旋转等特殊交换时,会产生变形。 由此可见,在网络多媒体中应用点阵图,无论制作效率还是使用效率都会受到影响。 1 1 2 矢量图 矢量图形克服了位图的缺点,它可以无限制的缩放,一个源文件可以按照任意的比 例进行缩放和渲染,由于矢量图形是基于数据公式的命令来控制线条的粗细、颜色和图 形的,所以在文件压缩方面具有很大的优势。 矢量图形主要有以下几种格式: l 、f l a s h 文件格式 f 1 幽h 的输出文件格式是s w f ,由美国著名多媒体厂商m a c r o m e d i a 开发的图形格式 即:互动矢量动画格式,它借助f l a s l l 的强大动画能力,很快占据了人们的视野。但s w f 存在以下不足: ( 1 ) s w f 是一种非开放标准,这就意味着该技术掌握在个体手中,技术的发展受 至b 各方面的限制。并且,s w f 和其他开放标准没有完整的融合方案。尽管目前s w f 已 经提供了对订l 的支持,但这种支持是单方面的,随着订l 和其他开放服务标准的 扩展,s w f 的不协调性将越来越显著。 ( 2 ) s w f 的可编辑性差。s w f 作为最终的动画生成格式,其创作过程封装在s w f 文件中,几乎无法再作二次编辑。 2 、基于m 。的矢量图 近几年,) ( 1 皿。作为在i n t e n l e t ,i | l t e m n e t 上进行数据浏览和数据交换的主要文件格式, 为网络技术的服务发挥巨大的作用。各大软件厂商和组织基于x m l 规范纷纷推出自己 的矢量图形规范。其主要代表有a d o b es y s t e m s h l c 制定的p g m l 和m a c r 0 m e d i a 、微软 等提出的v m l 。 由于) 叫l 尚在不断的完善中,因此,虽然p g m l 和v m l 是基于x m l 的图形标 准,但是缺乏对d l 相关标准的完整集成。另外,一些公司开发出自己的插件用来支 持图形的浏览,但使用这些插件缺乏跨平台的支持;再者这些矢量图形格式没有较好的 配套编辑工具,因而未能得到在网络上的广泛应用。 1 1 3 可扩展矢量图形( s v g ) 基于以上讨论,为了统一标准,w 3 c 组织融合各家之长,推出了用于描述二维矢 量图形和矢量、点阵混合图形的标识语言s v g 。 s v g 由w 3 c 联盟进行开发的,严格来说应该是一种开放标准的矢量图形语言。它 是新一代具有突破性的、用于计算机的图形、动画技术。它使设计人员能够迅速的创建 装载w e b 图形,并在w e b 浏览器、手持设备或移动电话上进行显示。 作为标准开放的s v g ,意味着它并不属于任何个体的专利,而是一个工业标准,一 个通过协作开发的标准。正因为这点,将使得s v g 得到更迅速的开发和应用。 1 2 本文的主要工作 “基于s v g 的网络信息实时发布系统模型”是通过对最新图形技术s v g 的研究, 并结合实际应用一天气信息,来实现模型的应用价值。 平台是以s v g 标准为基础,结合讧l 和w 曲开发技术,选择纯j a 、,a 语言作为 开发方式来完成系统的实现。它为用户提供了一个简单、快捷,能够展现生动图形的信 息发布平台。 本文研究设计工作主要体现了以下几个方面: l 、深入研究w 3 c 组织最新提出的矢量图形技术一s v g 的语法标准,同时通过分 析现有的矢量图形编辑器的优缺点和信息发布的合理流程,提出开发基于s v g 网络信 息实时发布系统软件的构想,并进行了系统分析、设计、实现。 2 、分析设计如何获取不同类型的数据资源并对这些数据资源进行融合,应用先进 的编程语言j a v a ,提供图形文件所需的统一数据资源_ x m l 数据,采用j a v a 语言实 现数据的获取,是因为j a v a 是完全面向对象的语言,与平台无关,拥有真正的可移植性, 能够更好地应用于h 鹏m e t 及w w w 上。 3 、实现了讧l 数据向s v g 格式转化,输出动态s v 0 文件。动态s v g 文件形成 的方法很多,为了能够使各项技术具备较好的兼容性,系统采用x m l 标准体系中的x s l 技术来实现咀,数据到s v g 图形的转换。 1 。3 论文的组织结构 鉴于当前在万维网中进行信息发布时出现的主要问题,文章从异构的空间二维关系 数据入手,以互联网信息系统的主流结构b s ( b 嘣惦e r ,s e n ,e r 模式,简称b ,s ) 作 为系统的核心结构来实现一个基于s v g 的跨越平台的、图形化的信息服务平台。 文章共分六个主要部分,论文结构图如图l : 4 圈1 论文结构图 其中: 第一章绪论部分介绍了网络图形格式发展现状,并说明了文章的主要内容。 第二章首先对s v g 规范标准进行详细的分析,其次对s v g 的开发工具进行了简 介,最后对s v g 技术的应用范围及发展前景进行了展望。 第三章阐述了平台模型设计的关键技术,包括x m l 技术及w 曲服务器端开发结 构、数据接口技术、w 曲系统实现技术。 第四章提出了系统开发的总体框架,并对系统框架的工作流程进行的简要说明。 第五章对系统平台框架中的各功能模块进行了具体实现,其中包括数据库的存储 与设计、异构数据库的统一,服务接口实现和客户端可视化功能的实现。 第六章对本文的主要研究成果进行了的总结,同时指明了下一步的研究主要研究 方向。 第二章基于s v g 技术规范的分析 本章首先对s v g 产生的背景作了阐述,其次对s v g 的语法进行了详细分析,最后 对s v g 的应用价值和发展前景进行了展望。 2 1s v g 产生的背景 随着网络技术不断的发展和完善,网络已成为信息传播的主要媒介。传统的图形格 式( j p e 啷) 文件在网络传输中占有空间大,经常引起网络拥塞,从而影响了信息发 布的速度和质量,并与日益增长的网络信息发布需求形成了矛盾。为了解决这个矛盾, 形成一种短小灵活的矢量图形标准成为网络信息方向的一个首要任务。 1 9 9 8 年4 月,a d o b e i b m 向w 3 c ( 国际互联网标准组织) 提出了矢量图形的基本标 准p g l m 精度图像标记语言,接着微软联合m a c r o m e d i a 等公司又向w 3 c 提出了 v m i ,- 一矢量标记语言,两者有许多相似之处,但v m l 比较适合普遍矢量图形。而p g m l 适合专业设计和出版的图形。 为了进一步促进网络图形的发展,w 3 c 成立了s v g 工作组,这个工作组综合了v m l 和p g m l 的优势,于1 9 9 9 年2 月1 1 日发布了第一个工作草案,接着又连续发布了九个 工作草案,最终于2 0 0 0 年8 月2 日提出了新的矢量图形格式s v g ( s c a l a b l ev e c t o r 掣a p l l i c s ) 可扩展矢量图形【7 j 。 2 2 s v g 规范概述 s v g ( s c a l a b kv e c t o rg m p h i c s ) 是国际w w w 委员会( w 3 c ) 组织为适应h 1 :c e r n e t 上w 曲应用的快速发展需要而制定的一套基于) 咖l ( e x l e n s i b i em a r k u pl a n g u a g e ) 标 准的可扩展矢量图形语言描述规范。 s v g 标准形成的主要目的是用来描述二维矢量图形和矢量点阵混合图形的置标语 言一全称为可扩展矢量图形规范,其中可扩展( s c a l a b l e ) 在图形技术中指的是不局限 于固定分辨率的大小,可在不同分辨率的屏幕上以相同的大小显示,也可以在同一个网 页上以不同的大小显示,或观全局,或观细节:而在网络技术上,由是指这一规范能够 与其他规范相融合,可以满足更广泛用户需求,适合更广泛的应用方式;矢量( v 曲c o r ) 是指直线、曲线形状等几何图形如何按指令绘制的而无需逐个像素进行描述;图形 ( g 均p l l i c s ) 是指它提供了对矢量、矢量栅格混合图形的描述,填补了大多数基于讧l 6 的标记语言规范对复杂图形描述的空白【3 j 。 w 3 c 对s v g 的解释是:s v g 是一种使用咀,来描述二维图形的语言。它允许3 种形式的图形对象存在:矢量图形、点阵图像和文本,各种图形对象能够组合、变换、 并且修改其样式,也能够定义成预处理对象。文本是订l 名字空间中的有效字符,这 些字符能被作为s v g 图形的关键字而存留在搜索引擎中。s v g 的功能包括嵌套变换、 路径剪裁、透明度处理、滤镜效果以及其它扩展;同时,s v g 图形支持动画和交互,也 支持完整的m 。d o m 接口,任何一种s v g 图形元素都能使用脚本来处理类似鼠标单 击、双击以及键盘输入等事件,并且因为同w 曲标准兼容的缘故,s v o 还能够在同一 个w 曲页面里凭着继承) 0 订l 的名字空间等特性来完成一系列交互操作。 根据功能不同,s v g 的主要对象可归为基本要素对象和页面描述或能对象两大类, 如图2 所示【9 】: 2 3 s v g 的特征 图2 基本要素对象 1 、基于订l 标准 咀一是公认的拥有无穷生命力的下一代网络标记语言【1 0 1 。s v g 在语法和结构都是 基于x m l 而设计,它继承了x m l 的跨平台性和可扩展性以及作为网络开发语言的所 有优越性。 首先,s v g 图形完全由元素和属性等标记组成,能够描述任意复杂图形;再者在 s v g 中可开发出更多的网络服务:制作智能化的数据图形,图形中的数据可以根据需要, 由应用程序读取、修改和统计;最终数据信息在图形中显示,这些都是其它图形技术远 不可及的。 2 、矢量图形 矢量图形是近几年流行起来的图形流派,之所以说是流派,是因为矢量图形还没有 一个统一的格式标准【1 1 】。这些矢量图形是计算机根据矢量数据计算后,由一系列的“计 算机命令”来生成图形的,因此矢量图形是由一系列几何形体,如:点、线、面等,所 描绘和存储的是线条和色块信息组成,这与点阵图形( 也称光栅图形) 那样把每一点的 颜色都记录下来的存储方式不同,所以才具有不失真缩放和体积小的优点,这类图像= 形是由线框和填充构成。 s v g 作为一种矢量图形相对于位图图形具有特点:文件的大小与矢量程序有关, 而与图形的具体尺寸无关:图形的尺寸可以无级缩放,变化后不影响图形的质量,所 以在图形复杂程度不大的情况下,矢量图形具有文件量小、可无级缩放的优点。它可 以对图形元素精确定位;文字状态依然保留:文字在s v g 图形中保窝了可编辑和可 搜寻的状态,没有字体的限制,用户将会看到和它们制作完全相同的画面:超级颜色 控制:s v g 提供一个1 6 m 颜色的调板。支持i c c 颜色描述文件、r 1 3 b 、渐变、蒙版以 及添加各种滤镜效果。 值得注意的是,矢量图形描绘的只是一种中间格式的数据,无论是在网络上或是在 实际的应用中,最后这个图形都必须转换成点阵图形来处理。其转换效果的好坏直接影 响到矢量图形的使用,s v g 在这方面有着灵活的处理手段,例如:可以设置防锯齿功能 以及其它的美化效果等,这种转换的工作可以由服务器承担,也可以交给客户端去处理, 当然大多数是后者,否则,s v g 体积小的优点就没有了;s v g 的严格定义使得图形处 理人员从点阵图形到矢量图形的移植过程中,用不着担心会不会失真:再者,s v g 定义 的滤镜功能可以在转换后重现各种复杂的特效,这一系列优点将使矢量图形的应用越来 越广泛。 3 、由文本构成图形 s v g 最精妙之处在于它是一种文本格式的图形,它可能不用任何图形处理工具,可 以用记事本或写字板就可编写1 1 2 1 ,也可以方便的由程序语言来动态的生成,例如:g g i 、 a s p 、j a v a 编程语言。s v g 图形中所有的描述语句都可以直接观察到,所以也非常容易 进行二次修改与更新。作为基于文本的格式,s v g 图形中的文字还可以直接被网络搜索 引擎所搜寻( 这样可以制作自由的图像搜索引擎) ,从而实现对w 曲图形的检索。 4 、灵活的文件格式 s v g 具有可升级的特性,它的这种特点表现在多个方面,其中就包括灵活的文件格 式。 在以前的图形格式中,文本都作为位图而保存于图形中,图形形成以后不能单独对 文本进行修改,在p n g 格式中这一点有所改进,即:文本可作为一个独立的层存在。 s v g 灵活地扩展了图形的文件格式,它由三个部分组成:矢量图形、位图和文字。 这样s v g 不仅仅可以应用矢量图形和文字对象,同样可以纳入位图,可以制作出任何 其它格式图形所能达到的效果。由于文件格式是文本形式的,可以很容易在以后任何时 候进行修改,而且在页面运行的过程中,也可以对很多部分作即时的修改,其中的图形 描述还可以重复使用【1 3l 。 5 、支持交互性 路径相同的特性,也可以进行勾边、填色或作为剪切路径使用。 1 、圆形 一个原点在指定点,半径为制定长度的标准圆形。如图3 所示。圆形代码: 妣眈l e 2 、椭圆 定义了中心点和长短轴长度的椭圆。如图4 所示。椭圆代码: 3 、矩形 指定了左上角坐标点,宽度和高度的矩形。如图5 所示。矩形代码: - r e c tx _ ”2 0 ”y = ”7 0 ”谢删忙“1 5 0 ”h e i 曲产”7 5 ”s t y l e = ”m l :撑0 9 0 ”胁 l 削3 图4 图5 4 、直线 指定了起始点和终止点的直线。如图6 所示。线的代码: l i n e x 1 5 0 ”y 1 刽5 0 ”x 2 刽3 0 0 ”y 2 9 5 0 ”s t y l e = ”s 订d k e :捍f o o ;s 仃0 k c 耐d t l l :2 d xr 修 5 、折线 由一系列指定点连接而成的折线。如图7 所示。折线代码: 6 、多边形 由指定的一系列点相连 x 径使用,也可能把这三者进行组合。 路径是通过“当前点”的概念来描述的。这很象用笔在纸上画图,当前点就是笔的 位置,随着笔在纸上移动,一条“路径”就被画出来了。使用路径,可以定义任何想要 的图形。 用来定义路径的主要动作有: 夺m o v c t 0 :定一个新的当前点 夺l i n e t o :一条直线 夺c u r v e t o :一条b e 五e r 曲线 a r c :圆弧或椭圆弧 夺c l o s e 口a m :当前点连一条直线到起始点,闭合当前路径 将多条独立的路径组合起来,就形成了组合路径,可以描述更加复杂的图形。以下 是几个简单的路径例子,如图9 。路径图形代码: p a 血d = ”m4 0 ,1 3 0l1 0 0 ,1 6 0l6 0 ,1 2 0z ”s t y l e = ”f m :拌e e e ;s t r o k e :拌0 0 f ; s t r o k e 硒d m :2 p x ” p a t hd = ”m1 9 0 ,1 2 0c + o ,+ o ,+ 3 0 ,+ 3 0 ,一6 0 ,+ 3 0z ”s t y l e ;”f i u :捍f f c ;s 缸d k e :群0 0 f ; s 仃o k e 诵d m :2 p x ”胁 m t m “m m i t _ 亡= 图1 5x s l 转化过程 x s l t 处理器是将x m l 文档转换成其它类型( 比如x m l 、s v g 、h t m l ) 文档的 语言。x s l t ( e ) c t e n s b l es c y i e s h e e tl a n g u a g et _ r a n s f o r n l a t i o n ,x s l 转换) 基于x s l , 是x s l 的一个子集,来完成一个x m l 格式的文档转换成另一种文档。 x s l t 继承了x s l 语言的一些特性,它们都是表达一种格式良好的x m l 文档的语 言,它主要应用于数据源根据转换规则转换数据。 4 、x p a t h ,x q u e r y 查询语言 x p a t h ( x m lp a t hl a n g u a g e ,路径描述语言) 是w 3 c 推荐的针对表示x m l 文件 内各组成单元所使用的路径表示语言,可以将它分为绝对路径与相对路径两种表示法, 在寻找路径时可适时加入测试条件以便我到所要的结点。 在x s l 中,使用了x p a t h 来表示路径。在x s l 转换中,x p a l h 用来对应x m l 文件 的各个部位,选择文件中的构成元件( 如元素、属性、文字内容等) ,然后把找到的元 素根据x s l t 样式表转换成相应格式。x p a t h 除了提供一套对应语法之外,还包括了一 些函数,提供基本的数学运算和字符处理功能。 x q l i l e r y 更像一种编程语言,它主要来源于一种q u j l t 的x m l 查询语言,支持循环、 分组、排序、连接等逻辑。相对于传统数据库标准s q l 语句,x q u e r y 在对x m l 数据 的查询方面,是一种功能更强大、更易于编程的方法。 5 、x m l 链接机制x l l n k 它是一种用x m l 元素向) m 几文档中加入链接的机制,它提供比h t m l 更灵活的 链接机制,不仅支持单向链接,而且支持多目的、多方向的链接,甚至允许单独提出来 存放在数据库中,或单独文档中。它进一步扩展了w 曲上已存在的简单链接。 6 、x m l 解析 x m l 文件的解析是x m l 技术中最重要的一个部分,我们将分别讲解一下主流x m l 解析方法、开发的解析器。 ( 1 ) 解析的方法 解析器分析v f i ,文档大致采用两种模型:线性模型和树模型。 线性模型构造过程自顶向下,分析树的顶层是主要元素,下一层包括属性,然后是 内容。它们的出现次序取决于选择哪种模型;在树状模型中,解析器从x m l 文档的第 一个元素开始分析,然后跟着它面对的每个分支形成的路径,最终浏览整个 x 解析器) 、d o m ( d o c u m e n to b j e dm o d e i ,文档对象模型) 。 s a x ( s i m d i ea p lf o rx m l ) 解析器,它是以事件驱动来读取解析文件。当解析器 发现标签时告知程序它发现的标签。s a x ( s i m p l ea p i sf o r ) ( i l ,咀。简单应月j 接口 解析器) 是实现线性模型的典型解析器。 s a x 解析器实现简单,对内存要求比较低,对于那些只需要访问) m i l 文档中的数 据而不对文档进行更改的应用程序来说,s a x 解析器比较合适。 d o m ( d o c u m e n to b i e c im o d e i ,文档对象模型) 是一个典型的树型模型,它一次 性将整个文档全部读入内存中,并将结果数据以树的形式保存。它是一种独立于语言平 台的一套a p i ,它同时定义了文件的逻辑结构、访问及操作方法。它没有提供特定的实 现,实际上,它能够用任何编程语言实现。使用d o m 对x m l 文本文件进行操作时, 它首先要解析文件,将文件分解为独立的元素、属性和注释等。然后,它以节点树的形 式( 在内存) 创建x m l 文件的表示。此后,开发人员可以通过节点树的形式来访问文 档的内容,并根据需要修改文档,图1 6 所示【2 7 】。 - i t 嘲口t 捌l 士 d d 埔i n j 等困 图1 6d o m 工作过程 d o m 树所提供随机访问给应用程序的开发带来了很大的灵活性,它可以任意地控 制整个沮。文档中的内容。然而,由于d o m 解析器把整个x m l 文档转化成d o m 树 后再放入内存中。因此,当文档比较大或结构比较复杂,对内存的需求比较高时,对于 结构复杂的树的遍历是一项耗时的操作。所以,d o m 解析器对机器性能的要求比较高, 实现效率不十分理想。不过,由于d o m 解析器所采用的树结构思想与咀。文档的结 构相吻合。同时鉴于随机访问所带来的方便,因此,d o m 解析器还是有很广泛的使用 价值。 综上所述,d o m 和s a x 解析器在接口实现过程中分别侧重于不同的方面,二者各 有长短。使用者应在分析) 龇l 文档的组成结构,在实现对文档中内容的访问时,要根 据不同的应用需求选择相应解析模型的v f i ,解析器。 当前企业界开发的拥有广泛支持的主流x m lp a r s e r : a p a c h ex e r c e s :它是最早的x m lp a 瞎e r 之一,它来源于l b m 推出的x m l p a r s er ,之后i b m 将它的x m lp a 瞎e r 提供给了a p a c h e 。目前,a p a c h e 正在开发第二 代a p a c h ex e r c e s 。 m i c r o s 矾的m s x m l 3 和m s x m l 4t e c h n o i o g yp 怆v i d w :微软是最早支持x m l 的 大型技术开发商之一,它的i n t e m e te ) ( p l o 悖r 5 就支持x m l 配合x s l 显示。 o r a c l ex m lt o o l k t :作为0 阻c i e 的核心产品,o 陌c i ex m lp a 惜e r 是o 怕c i e x m l d e v e i o p e r sk i t 的集成部件之一。 j a v ax s l t 处理器:x a i a nj a v a 是一种来自a p a c h eg r o u p 的x s l t 处理器,它 原先是基于i b m 的x m l 4 j ) ( s l t 处理器。x a i a n 完全支持最新的标准并且使用x e r s x m l 解析器来读取样式表和验证样式表的有效性。 x a l a n 解析器的组件分为几个包,每个包提供一套特殊的功能。在转换时,不一 定需要所有的x a i a n 包,某些包会间接使用到【2 8 】: x s l t p r o c e s s o r f a c i o r y 类:这个类的任务是创建x s l t p n o c e s s o r 类接口的实现一 旦创建完成,就可使用x s l t p r o s s o r 接口执行转达换。 x s l t p r o c e s s o r 类:这个接口类表示x s l t p r o s s o r 本身。使用该接口的方法可 以创造x s l t p r o c e s s o r 的实例,以便执行转换或者输入样式表类:它也可以设置样式 表参数。x s l t i n p u t s o u r c e :该类表示转达换处理器的输入。该输入可以是字符流形式 的源) 【h i l 文档,也可以是d o m 结点。 x s l t r e s u l l t a r g e t 类:该类表示转换处理的目标或结果。如果要将转换结果放入 另一处,该类是惟一可以使用的类,该类的任务就是指定转换结果的目标。 7 、基于x m l 的声音文件、,o i c e x m l v b i c e x m l ( 语音扩展标记语言) 是基于w 3 c 的语音浏览器工作组为语音交互应用 制定的一种基于x m l 的用户语音界面文法描述语言标准。它是一个新的x m l s c h

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论