(计算机应用技术专业论文)基于xml的web智能报表的研究与应用.pdf_第1页
(计算机应用技术专业论文)基于xml的web智能报表的研究与应用.pdf_第2页
(计算机应用技术专业论文)基于xml的web智能报表的研究与应用.pdf_第3页
(计算机应用技术专业论文)基于xml的web智能报表的研究与应用.pdf_第4页
(计算机应用技术专业论文)基于xml的web智能报表的研究与应用.pdf_第5页
已阅读5页,还剩56页未读 继续免费阅读

(计算机应用技术专业论文)基于xml的web智能报表的研究与应用.pdf.pdf 免费下载

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

文档简介

华北电力大学硕士学位论文 摘要 随着企业信息系统集成与企业电子商务系统建设的兴起,基于i n t e r n e t 的数据 共享、格式化、个性化及传输日益成为业界研究的热点。报表作为一种重要的信息 载体在系统中有着极其重要的作用,而报表生成系统作为应用系统的重要组成部分 也越来越为软件开发者关注与研究。 本文在研究了大量的报表系统的基础上,提出了一个面向w e b 的智能报表系统。 系统以x m l 为基础,重点解决了报表的两个核心问题:数据采集和报表输出。 系统提出了两种x m l 标记语言,上报数据定义语言x d d l 和报表数据语言 x d r l 。x d d l 实现了上报数据表单样式、数据映射等的语法定义。系统通过对表 单样式定义文档的解释,产生表单页面文档,处理上报数据;x d r l 实现了报表数 据源s q l 、数据问的运算、报表条件、合计等语法定义。数据解释器采用d o m 解 析报表数据定义文件,生成报表数据文件。 关键词:x m l ,报表,x s l ,x d d l ,x r d l a b s t r a c t w i t ht h er i s i n go ft h ei n t e g r a t i o no fc o r p o r a t i o ni n f o r m a t i o ns y s t e ma n dt h e c o n s t r u c t i o no fc o r p o r a t i o ne l e c t r o n i c sb u s i n e s s ,t h ed a t ac o m m u n i c a t i o n 、f o r m a t t i n g 、 i n d i v i d u a t i o na n dt r a n s p o r t a t i o n ,w h i c ha r eb a s e do nt h ei n t e r n e t ,h a sb e c o m eah o tp o i n t r e p o r ts e r v e sa sa ni m p o r t a n ti n f o r m a t i o nc a r r i e ri nt h es y s t e m ,h a sav e r yi m p o r t a n t e f f e c t f u r t h e r m o r e ,r e p o r tf o r m e ds y s t e m sa r eb e i n gp a i dm o r ea n d m o r ea t t e n t i o na n d a n a l y s i sb ys o f t w a r e t h i sa r t i c l ed os o m ed e t a i l e da n a l y s i s 。c o n t r a s tw i t ht h ec u r r e n tr e p o r tf o r m e d s y s t e m ,a n di tp u tf o r w a r daw e bi n t e l l i g e n tr e p o r ts y s t e m t h es y s t e m ,b a s e do nx m l , e m p h a s i z e so nt h et w ok e r n e lp r o b l e m so fr e p o r t :d a t ai n p u ta n dr e p o r tf o r m a t t h i sa r t i c l eg i v e st w os y n t a xl a n g u a g e s :x d d la n dx r d l ,w h i c ha r eb a s e do n x m l x d d li m p l e m e n t st h es y n t a xd e f i n i t i o n ,s u c ha sf o r ms t y l ea n dd a t am a p p i n g t h es y s t e mp a r s e st h ef o r md e f i n i t i o n ,c r e a t e st h ef o r mf i l e sa n dd e a l sw i t ht h ed a t a c o m i n gf r o mu s e r s ;x r d li m p l e m e m st h es y n t a xd e f i n i t i o n ,s u c ha sr e p o r td a t as o u r c e s q l 、o p e r a t i o n sb e t w e e nd a t aa n dr e p o r tc o n d i t i o n se t c t h er e p o r td a t af i l e sc a nb e g o t t e na f t e rt h ed a t ap a r s e rp a r s e st h er e p o r td a t ad e f i n i t i o nf i l ew i t hd o m j i a ny a n b i n ( c o m p u t e ra p p l i e dt e c h n o l o g y ) d i r e c t e db yp r o f q il i n h a i k e y w o r d s :x m l ,r e p o r t ,x s l ,x d d l ,x r d l 华北电力大学硕士学位论文 摘要 随着企业信息系统集成与企业电子商务系统建设的兴起,基于i n t e r n e t 的数据 共享、格式化、个性化及传输日益成为业界研究的热点。报表作为一种重要的信息 载体在系统中有着极其重要的作用,而报表生成系统作为应用系统的重要组成部分 也越来越为软件开发者关注与研究。 本文在研究了大量的报表系统的基础上,提出了一个面向w e b 的智能报表系统。 系统以x m l 为基础,重点解决了报表的两个核心问题:数据采集和报表输出。 系统提出了两种x m l 标记语言,上报数据定义语言x d d l 和报表数据语言 x d r l 。x d d l 实现了上报数据表单样式、数据映射等的语法定义。系统通过对表 单样式定义文档的解释,产生表单页面文档,处理上报数据;x d r l 实现了报表数 据源s q l 、数据问的运算、报表条件、合计等语法定义。数据解释器采用d o m 解 析报表数据定义文件,生成报表数据文件。 关键词:x m l ,报表,x s l ,x d d l ,x r d l a b s t r a c t w i t ht h er i s i n go ft h ei n t e g r a t i o no fc o r p o r a t i o ni n f o r m a t i o ns y s t e ma n dt h e c o n s t r u c t i o no fc o r p o r a t i o ne l e c t r o n i c sb u s i n e s s ,t h ed a t ac o m m u n i c a t i o n 、f o r m a t t i n g 、 i n d i v i d u a t i o na n dt r a n s p o r t a t i o n ,w h i c ha r eb a s e do nt h ei n t e r n e t ,h a sb e c o m eah o tp o i n t r e p o r ts e r v e sa sa ni m p o r t a n ti n f o r m a t i o nc a r r i e ri nt h es y s t e m ,h a sav e r yi m p o r t a n t e f f e c t f u r t h e r m o r e ,r e p o r tf o r m e ds y s t e m sa r eb e i n gp a i dm o r ea n d m o r ea t t e n t i o na n d a n a l y s i sb ys o f t w a r e t h i sa r t i c l ed os o m ed e t a i l e da n a l y s i s ,c o n t r a s tw i t ht h ec u r r e n tr e p o r tf o r m e d s y s t e m ,a n di tp u tf o r w a r daw e bi n t e l l i g e n tr e p o r ts y s t e m t h es y s t e m ,b a s e do nx m l , e m p h a s i z e so nt h et w ok e r n e lp r o b l e m so fr e p o r t :d a t ai n p u ta n dr e p o r tf o r m a t t h i sa r t i c l eg i v e st w os y n t a xl a n g u a g e s :x d d la n dx r d l ,w h i c ha r eb a s e do n x m l x d d li m p l e m e n t st h es y n t a xd e f i n i t i o n ,s u c ha sf o r ms t y l ea n dd a t am a p p i n g t h es y s t e mp a r s e st h ef o r md e f i n i t i o n ,c r e a t e st h ef o r mf i l e sa n dd e a l sw i t ht h ed a t a c o m i n gf r o mu s e r s ;x r d li m p l e m e m st h es y n t a xd e f i n i t i o n ,s u c ha sr e p o r td a t as o u r c e s q l 、o p e r a t i o n sb e t w e e nd a t aa n dr e p o r tc o n d i t i o n se t c t h er e p o r td a t af i l e sc a nb e g o t t e na f t e rt h ed a t ap a r s e rp a r s e st h er e p o r td a t ad e f i n i t i o nf i l ew i t hd o m j i a ny a n b i n ( c o m p u t e ra p p l i e dt e c h n o l o g y ) d i r e c t e db yp r o f q il i n h a i k e y w o r d s :x m l ,r e p o r t ,x s l ,x d d l ,x r d l 声明 y8 6 7 8 7 6 本人郑重声明:此处所提交的硕士学位论文基于x m l 的w e b 智能报表的研 究与应用,是本人在华北电力大学攻读硕士学位期间,在导师指导下进行的研 究工作和取得的研究成果。掘本人所知,除了文中特别加以标注和致谢之处外, 论文中不包含其他人已经发表或撰写过的研究成果,也不包含为获得华北电力大 学或其他教育机构的学位或证书而使用过的材料。与我一同工作的同志对本研究 所做的任何贡献均已在论文中作了明确的说明并表示了谢意。 学位论文作者签名:耋参逝 日期: 2 业6 :王:! j 关于学位论文使用授权的说明 本人完全了解华北电力大学有关保留、使用学位论文的规定,即:学校有 权保管、并向有关部门送交学位论文的原件与复印件;学校可以采用影印、缩 印或其它复制手段复制并保存学位论文;学校可允许学位论文被查阅或借阅; 学校可以学术交流为目的,复制赠送和交换学位论文:同意学校可以用不同 方式在不同媒体上发表、传播学位论文的全部或部分内容。 ( 涉密的学位论文在解密后遵守此规定) 作者签名:垒刍垃 导师签名: 杀稗伽 日 期:盗:i :f 日 期:迎:! : 华北电力大学硕士学位论文 1 1 课题的研究背景 第一章引言 当今世界最大的特征是信息时代的到来,更确切的说是网络时代的到来。 i n t e r n e t 给全球企业带来了前所未有的影响,电子政务、电子商务及企业e r p ( e n t e r p r i s er e s o u r c ep l a n n i n g 企业资源计划) 得到迅猛发展,这时数据的采集、 传输、展示、交互、安全等问题显得越来越重要。报表作为一种信息组织和展示的 有力手段,是企业信息系统的重要组成部分。报表生成系统在各行各业中都有很广 泛的用途,是进行信息浏览、分析、打印的有利工具。 目前,传统的报表生成系统有较大的局限性,主要体现在: 生成报表的种类固定,使用方便,但增加报表种类必须改写应用系统代码, 带来系统扩充困难、成本大的问题。 报表保存格式不统一,且保存格式理解困难,即便保存为流行的电子表格 格式,由于电子表格文档格式本身也很复杂,并且一般为二进制格式,因 此,只有特定的程序才可以生成和管理报表,报表保存格式的通用性较差, 虽然也有支持h t m l ( h y p e r t e x tm a r k u pl a n g u a g e 超文本链接标示语占1 格 式的报表,但是由于其在表现形式上的局限性,使它不能得到广泛的应用。 对报表格式或数据的微小改动均需要调用报表管理系统,效率不高。 报表管理软件通常是按c s ( c l i e n w s e r v e r 客户端服务器) 模式结构丌发, 程序的升级维护困难,同时还存在通信和安全等问题。 随着w w w ( w o r l dw i d ew e b 万维网) 技术的发展,企业信息系统从传统的客户 j 1 日务器结构逐步向i n t e r n e t 转移,企业信息系统也f 向基于w e b 的信息系统进行转 变,越来越多的报表应用将在w e b 环境下开发与运行。因此,研制w e b 报表的智 能化生成系统,对于提高w e b 报表的开发效率和软件质量,具有实际的研究意义。 1 2 论文的主要工作 设计一个运行于w e b 环境下智能化的报表系统,实现数据采集和报表样式的用 户自定义化。 数据采集,提出了数据采集的x m l ( e x t e n s i b l e m a r k u p l a n g u a g e 可扩展标记语 言) 语言规范。用户可以利用系统生成数据采集的表单样式文档,白定义数据采集的 样式。系统通过对数据采集样式文档的解析,产生上报数据的表单页面h t h l 文档, 用户通过w e b 的方式实现数据的上报工作,从而实现数据采集的任务。 报表生成,提出了报表样式的x m l 语言规范,其中包括报表数据的定义,报 华北电力大学硕十学位论文 表样式的定义。用户可以利用系统生成报表数据的定义文档和报表样式的定义文 档。系统通过这两种文档从数据库中提取采集到的数据,合成为w e b 可识别的h t m l 文档,展现给用户。 1 3 论文结构 第一章:介绍了课题的研究背景和论文的主要工作。 第二章:介绍了x m l 技术的基本知识,包括x m l 产生背景、x m l 的有效性 和验证技术、x m l 的显示技术、x m l 的搜索技术、当前x m l 技术的应用情况等。 第三章:首先介绍了报表的基本知识、报表的任务及特点:其次介绍了报表系 统的分类、功能;重点围绕报表数据及格式两方面展开讨论。 第四章:介绍了系统的设计思路和系统的各个组成部分,各个部分的功能和实 现原理。 第五章:介绍了x m l 技术在系统中的应用,包括数据采集语言x d d l 和报表 数据语言x r d l 的语法规则,两种语言的验证文档、两种语言在系统中的应用等。 第六章:论文的总结部分,提出了系统还存在的不足之处以及今后工作的重点。 2 华北电力大学硕士学位论文 第二章x m l 技术介绍 在信息处理技术的发展历史中,x m l 是有关文档语法最重要的发展之一。近年 来,x m l 已经广泛应用于各个领域,如,法律、艺术、软件设计等。x m l 已经成 为集合跨越所有应用的新文档格式的精选语法。可用于l i n u x 、w i n d o w s 、m a c i n t o s h 以及其他计算机平台上,在w 3 c ( w o r l dw i d ew e b 协会) 的推动下,x m l 以其自 身的优势,逐渐成为网络世界的“国际语言”。 2 1x m l 产生的背景 x m l 同h t m l 一样,都来自s t a n d a r dg e n e r a l i z e dm a r k u pl a n g u a g e ,即标准通 用标记语言,简称s g m l 。s g m l 是一种用标记描述文档资料的通用语言,它包含 了一系列的文档类型定义( 即d t d ) ,d t d 中定义标记的含义,因而s g m l 的语法 足可以扩展的。s g m l 十分庞大,既不容易学,又不容易使用,在计算机上实现也 十分困难。由于这些原因,欧洲核子物理研究中心的研究人员,提出了h t m l 语言。 h t m l 只使用s g m l 中很小的一部分标记。为了便于在计算机上实现,h t m l 规定的标记是固定的,即h t m l 语法是不可扩展的,它不需要d t d 。正是由于h t m l 的简单性,使得w e b 技术快速在i n t e r n e t 上发展。 近年来,随着w e b 的应用越来越广泛和深入,h t m l 的局限性越来越明显。 h t m l 过于简单的语法严重的阻碍了用它表示复杂的形式,满足不了不断增长的需 求。另一方面,随着计算机技术的发展,开发一种新的w e b 页面语言成为可能。在 这种形式下,w e b 标准化组w 3 c 建议使用一种简单的s g m l 版本,即x m l 。 2 2 什么是x m l x m l ,可扩展标记语言( e x t e n s i b l em a k e u pl a n g u a g e ) ,是w 3 c 认可的一种新 的文档标记语言。它是一套定义语义标记的规则,这些标记将文档分成许多部件并 对这些部件加以标识,故x m l 也是元标记语言。 x m l 是一个精简的s g m l ,它将s g m l 的丰富功能与h t m l 的易用性结合到 w e b 应用中。x m l 保留了s g m l 的可扩展功能,这使x m l 从根本上有别于h t m l , x m l 比h t m l 强大得多,它不再是固定的标记,而是允许定义数量不限的标记柬 描述文档中的资料,允许嵌套的信息结构。h t m l 只是w e b 显示数据的通用方法, 而x m l 提供了一个直接处理w e b 数据的通用方法,h t m l 着重描述w e b 页面的显 示格式,而x m l 着重描述的是文档的内容。x m l 可以用来创造类别文档的格式定 义,也就是在x m l 之中创造出不同的标记语言,用来定义不同的文档类别。 华北电力大学硕十学位论文 例如,下面的x m l 文档表示企业的人员数据。 张三 软件工程师 5 8 8 2 3 4 5 1 z h a n g s a n 1 6 3 c o m 北京市学院路2 3 号 2 3x m l 相关技术 x m l 并不是孤立使用的,如果将x m l 文档用于不只是一种数据格式的话,就 需要与多种相关的技术相互作用。这些技术包括d t d ( d o c u m e n t t y p e d e f i n i t i o n , 文档类型定义) 、x m ls c h e m a 、c s s ( c a s c a d i n gs t y l es h e e t ,级联样式单) 、x s l ( e x t e n s i b l es t y l el a n g u a g e s ,可扩展样式语言) 、x p a t h 和u n i c o d e 字符集等。 2 3 1x m l 有效性验证技术( d t d 和s c h e m a ) x m l 是可扩展的,其精髓是允许文档的编写者制定基本信息描述,体现数据之 间逻辑关系的自定义标记语言,确保文档具有较强的可读性、清晰的语义和易检索 性。所以一个x m l 文档不仅是“格式良好”的,而且还应是“有效”的。 当前存在两种验证x m l 文档有效性的技术:d t d 、x m ls c h e m a 。 文档类型定义d t d 是一套关于标记符的语法规则,它提供了一个x m l 文档中元 素、标记、属性、实体的清单以及它们之问的关系,一个有效的x m l 文档必须遵循 d t d 已声明的种种规定,简言之,d t d 就是一个标记语言的语法和词汇表。 例如:存在三个元素,学生、姓名、学号,其中姓名、学号为学生的子元素, 且为字符串文本元素,其d t d 片断: 对应的x m l 文档片断: 张- i 012 3 4 x m l s c h e m a 是在d t d 的基础上发展起来的,功能比d t d 更强大:可以定义 4 华北电力大学硕士学位论文 每个元素的实际数据类型;从其它模式继承语法;创建简单和复杂的数据类型;定 义元素可能出现次数的最多值和最小值。 s c h e m a 是一种比d t d 更有效的文档验证语法,s c h e m a 用x m l 语言编写,其 实质是一种x m l 应用。由于s c h e m a 继承了x m l 的自描述性和可扩展性,因此更 具有可读性和灵活性。另外x m l 支持命名空间和比d t d 更多的数据类型,可以满 足文档的可理解性和数据的需要,也可以有效的描述数据库。 但,x m ls c h e m a 过于复杂,一个普通的模式文档的长度是相同d t d 的数倍, 且支持x m l 模式的解析器较少。 2 3 2x m l 样式表( c s s 和x s l ) 什么是样式表? 样式表是一个样式规则的列表,附属于一个文档,用来指示如 何显示文档中的元素。x m l 是一种基于数据的语言,允许开发者定义自己的元素, 但它自身未定义显示格式。因此如果希望在浏览器中显示自己创建的元素,必须以 某种方式告诉浏览器如何显示。如果在浏览器上展示定义的标记,这就是样式表所 作的工作。有两种常用样式表:层叠式样式表c s s 、可扩展样式语言x s l 。 层叠样式表( c a s c a d i n gs t y l es h e e t ,c s s ) ,对每个元素指定格式、创建格式类、 设定字体和颜色,指定颜色在元素中的位置。c s s 从根元素开始遍历x m l 文档树, 显示整个文档,它按元素在树中出现的顺序遍历该树。浏览器根据c s s 设定的元素 显示方式遍历展现整个x m l 文档。c s s 现在已经被主流的浏览器所广泛支持,尽 管开发c s s 是用于h t m l 的,但它在x m l 中工作的更好。 例如: t i t l e d i s p l a y :b l o c k ;f o n t s i z e :2 4 p t ;f o n t w e i g h t :b o l d ;t e x t a l i g n :c e n t e r ;t e x t - d e c o r a t i o n :u n d e r l i n e ) 上述样式定义了t i t l e 元素的显示方式,块显示,字体大小为2 4 p t ,粗体,居中 显示,带下划线。 可扩展样式语言( e x t e n s i b l es t y l el a n g u a g e ,x s l ) 分为两部分:变换语言x s l t ( t r a n s f o r m a t i o nl a n g u a g e ) 和格式化语言( f o r m a t t i n gl a n g u a g e ) 。 格式化语言定义了一些格式化对象:r o o t 、b l o c k 、c h a r a c t e r 等,它们支持不同 的属性,使用这些预定义的对象,可以精确的指定文档的格式。 变换语言用于将x m l 文档变换成另一个不同的格式,通常是将x m l 变换成浏 览器可以识别显示的h t m l 文档。文本中提到的x s l 均指变换语言,变换成h t m l 文档。 与c s s 不同,x s l 可以更改文档中元素的顺序、完全地改变它们、显示一部分 且隐藏一部分、基于元素本身和元素属性选择样式、根据元素位置选择样式,这要 华北电力大学硕士学位论文 归功于x m l 路径语言( x p a t h ,x m lp a t hl a n g u a g e ) 。 2 3 3x p a t h 搜索技术 x p a t h 为了在匹配x m l 文档结构树时能够准确地找到某一个节点元素而提出 的。可以把x p a t h 比作文件管理路径:通过文件管理路径,可以按照定的规则查 找到所需要的文件;同样,依据x p a t h 所制定的规则,也可以很方便地找到x m l 结构文档树中的任何一个节点。 在x p a t h 中,将x m l 文档节点树节点划分为七种节点类型: 根节点( r o o tn o d e ) 元素节点( e l e m e n t n o d e s ) 文本节点( t e x t n o d e s ) 属性节点( a t t r i b u t en o d e s ) 命名空间节点( n a m e s p a c en o d e s ) 处理指令节点( p r o c e s s i n gi n s t r u c t i o nn o d e s ) 注释节点( c o m m e n tn o d e s ) 下面是一些x p a t h 中节点匹配的基本方法,想要对x p a t h 技术有更深入的了解 请参考具体的技术文档。 代表根目录。 n o d e 代表根目录下名称为n o d e 的子节点。 + 代表所有元素。 p a r e n t c h i l d 代表所有本身为c h i l d 父亲为p a r e n t 的元素。 n o d e * 根目录下n o d e 节点的所有子元素。 * * n o d e 第三层的节点名称必须为n o d e 。 【】代表元素的顺序, 代表属性。 n o d e + 】选择n o d e 元素,有任意属性。 n o d e n a m e 】选择具有n a m e 属性的n o d e 。 + 【 n a m e = ”a b e ”】所有元素中n a m e 属性等于a b e 的。 2 4x m la p i 应用程序必须处理x m l 文档及文档的各个部分。在大量的w e b 应用体现结构 中,客户创建请求,而服务器解析这些请求,构造新的请求,并进行响应。如何解 析x m l 文档,有两种a p i :s a x 、d o m 。 华北电力大学硕士学位论文 2 4 1x m l 简单a p i 在使用x m l 文档时,一个重要的a p i 是x m l 简单a p l ( s i m p l ea p if o rx m l , s a x ) 。s a x 并非是一个标准组织的产品。它是早期x m l 开发过程中,许多x m l 开发者为了寻求一种有效的a p i 而创造出来的产品。s a x 至今依然流行的原因是因 为它简单高效。 s a x 并不把应用程序的注意力集中在整个文档的树状图上,而是在解析时提供 事件驱动。事件的内容往往是这样的形式,“这里是一个起始标记;这罩有一个元素 内容;这里是一个结束标记”,等等。兼容s a x 的解析器并不保留文档,而是在使 用它的应用程序处理文档的每个部分时发出通知。对一个事件所做出的反映取决于 使用解析器的程序。一个程序对文档状态的维护要承当全部责任。这样一来,解析 器会相当短小精悍,对系统资源要求甚少。对于处理大的x m l 文档来说会非常理 想。 常见的事件包括: s t a r t d o c u m e n t 文档开始的回调。 e n d d o c u m e n t 文档结束的回调。 s t a r t e l e m e n t 元素开始的回调。 e n d e l e m e n t 元素结束的回调。 c h a r a c t e r s 用于元素内容字符数据的回调。 e r r o r 用于可恢复解析错误的回调。 p r o c e s s i n g i n s t r u c t i o n 用于操作指令的回调。 s a x 的优点: 可以解析任意大小的文档,s a x 不需要把整个文档加载至内存。 适合小信息子集,可以忽略不感兴趣的数据信息。 简单快速。 s a x 的缺点: 不能对文档作随机存取。因为文档未加载至内存,所以必须按照数据提交 的次序进行处理。 难以实现复杂的检索,必须自己维护文档内部复杂的数据结构,语义性强、 层次关系的元素交由s a x 解析是困难的。 s a x 是只读的。无法通过简捷方法修改原文档。 2 4 2 文档对象模型d o m 我们知道,x m l 文档作为标记组成的文档,其自身构成文档树;文档的根元素 只能有一个,且为其它元素的祖先结点:同一个元素的子元素构成兄弟关系;元素 7 华北电力大学硕士学位论文 与其子元素构成父子关系。元素携带的数据信息固然重要,其在文档树中所处的上 下文位置也表示了相应的数据关系。 文档对象模型( d o c u m e n to b j e c tm o d e l ,d o m ) ,正是针对x m l 树的概念,由 w 3 c 标准组织提出且受到广泛支持的一个x m l 应用程序接口。它首先解析文档, 将文档分解为独立的元素、属性和注释等。然后它以节点树的形式( 在内存中) 创 建x m l 文档的表示。此后,可以通过节点树来访问文档的内容,并根据需要修改 文档。 简单介绍x m lj a v a 类一一o r g w 3 c ,d o m 类,它支持w 3 cd o m 接口,其d o m 解析器是o r g a p a c h e x e r c e s p a i 彩s d o m p a r s e r 。 d o c u m e n t 接口代表x m l 文档结点。通过d o c u m e n t 结点可以进一步获得文档 内部元素。 e l e m e n tg e t d o c u m e n t e l e m e n t 获得文档的根元素 e l e m e n tg e t e l e m e n t b y l d ( j a v a 1 a n g s t r i n ge l e m e n t l d ) 获得给定i d 的元素。 n o d e l i s tg e t e l e m e n t b y t a g n a m e ( j a v a 1 a n g s t r i n gt a g n a m e ) 返回一个带给定 标记名称的所有元素的n o d e l i s t 对象。 n o d e l i s t 接口支持一个结点的有序集,可以通过使用索引在这样的集合中访 问某个结点。 i n tg e t l e n g t h ( ) 获取某个清单中的结点数。 n o d ei t e m ( i n ti n d e x ) 获取集合中指定的索引值对应的项目。 n o d e 接口支持w 3 cn o d e 对象。结点对象在文档树中代表一个结点。 n a m e d n o d e m a pg e t a t t r i b u t e s ( ) 获取元素属性的n a m e d n o d e m a p 对象。 j a v a 1 a n g s t r i n gg e t n o d e n a m e ( ) 获取这个结点的名称。 n o d e l i s tg e t c h i l d n o d e s o 获取这个结点所有子结点的n o d e l i s t 对象。 n o d eg e t f i r s t c h i l d ( ) 获取这个结点的第一个子结点。 n o d eg e t l a s t c h i l d o 获取这个结点的最后一个子结点。 n o d eg e t n e x t s i b l i n g ( ) 获取这个结点的下一个兄弟结点。 n o d eg e t p r e v i o u s s i b l i n g ( ) 获取这个结点的前一个兄弟结点。 b o o l e a nh a s c h i l d n o d e s ( ) 如果这个结点有子结点,则为真,否则为假。 使用d o m 有以下几个优越性: d o m 能够从语法中提出内容,由d o m 创建的结点树是x m l 文档内容的 逻辑表示一一它显示了文档提供的信息,以及它们之间的关系。无需再纠 缠于语法规范,d o m 显然适合于解析带有复杂语义的文档。 d o m 能够简化内部文档操作,就读取x m l 文档而言,使用d o m 比使用 传统文档操作机制更加简单。定位文档局部信息简单明了。 d o m 最大的缺点在于消耗资源多,处理相对费时,它一次性将整个文档载入内 r 华北电力大学硕士学位论文 存,构造结点树。对于大数据量的x m l 文档,这显然是辣手的问题。 2 5x m l 的应用 应用于客户需要与不同的数据源进行交互时。数据可以来自不同的数据库,他 们都有各自不同的复杂格式。但客户与这些数据库间只通过x m l 进行交互。由于 x m l 的自定义性和可扩展性,他足以表达各种类型的数据。客户收到数据后进行处 理,也可以在不同数据库问进行传递。总之,x m l 可以提供数据的统一接口。x m l 通过在数据中附加标记来表达数据的逻辑意义和含义。 应用于大量负荷分稚的客户端,即客户可根据自己的需求选择和制作不同的应 用程序以处理数据。而服务器只需发送同一x m l 文档。如在传统的客户,服务器模 式中,客户向服务器发送不同的请求,服务器分别予以响应,这不仅加重了服务器 本身的负荷,而且网络管理者还必须事先调查不同的用户请求以做出不同的程序。 应用x m l 则可以将处理数据的主动权交给客户,服务器所作的只是尽可能完善, 准确的将数据封装进x m l 文档中。x m l 的自解释性使客户端在接收数据的同时也 可以理解数据的逻辑结构与含义,从而使通用的分布式计算成为可能。 应用于将同一数据以不同的面貌显示给不同的客户。类似于同一剧本,我们可 以用电视剧、电影、话剧等不同的形式表现出来。 9 华北电力大学硕士学位论文 3 1 报表 3 1 1 报表定义 第三章报表分析 报表,就其实质而言,是信息的发布,包括内容和形式两方面。形式方面:报 表是“表格”,具有“统一规定的格式形式”一一报表内容要按照一定格式组织。内容 方面:报表要“报告情况”,“反映经营成果和财务状况”一一报表内容是各种各样有 用的数据,同时,报表是“数据处理系统所预备好的”的输出文档,是“总结性文 档”一一报表中的数据是经过处理的数据。报表系统要代替人完成报表的编制,就必 须解决这两个主要问题:一是报表的内容,即报表数据;二是报表的形式,即报表 格式。 3 1 2 报表分类 报表系统种类繁多,按照使用方式划分,可以分为以下几类: 独立报表系统。这类系统可以独立运行,设计、浏览,打印报表,生成的 报表一般保存为私有格式,这类工具的典型代表有p l a t i u n m 公司的 i n f o r e p o r t s ,以及许多大型数据库厂商提供的报表系统。 嵌入式报表系统。指能够嵌入在其它开发环境中使用的报表系统。这类系 统一般能封装成构件或类,不能独立运行,只能在其它的编程环境中使用。 复合报表系统。这类系统既可以单独使用,也可嵌入在其它丌发环境中, 他们一般提供了可运行的报表系统,同时也将报表功能封装成构件形式, 供其它系统使用。 目前,在实际应用中,比较流行的是第二和第三类报表系统,他们可以灵活的 和其它应用开发工具结合使用,开发出功能丰富的报表应用子系统。而第一来类系 统,由于使用上的局限性,无法和其它应用结合,这不符合当前报表应用和系统开 发的集成化潮流。 另外,与一般报表系统不同,电子表格系统是一种比较特殊的报表系统。电子 表是一种“纯粹”的报表系统,实际上,各种表处理都可通过电子表格系统实现。同 样,电子表格系统可以用来方便地编制各种表格。典型的电子表格系统包括e x c e l l o t u s 等。电子表格系统大多为可视化界面,每张表根据行和列划分成许多单元格, 在单元格中定义数据和显示格式,使用方便。 1 0 华北电力大学硕士学位论文 3 1 3 报表特点 不同系统中的报表特点不同,主要差别体现在: 1 报表的交互型 一是报表生成前的交互,用户是否可以根据条件定向报表内容的输出;其次是 报表生成后的交互,某些报表系统,生成报表后,报表是“活动”的,用户可以对数 据,格式作修改。例如:在e x c e l 中,可以按交互方式或非交互方式保持数据,如 果数据按交互方式,用户可以对生成的报表作如下操作:筛选,输入新值或汇总分 析数据。 2 数据流动方向 报表一般是从数据库中提取某些数据经过一些数据运算,最终以特定的格式呈 现给用户。数据流动是单向的,即从数据库到报表。可是,在某些报表系统中,数 据流动是双向的,还存在着另一方向上的数据流动,从报表至数据库一报表可以更 新数据库中的数据。 3 ,报表的输出 手工编制的报表不需要考虑输出问题,编制好的报表往往是纸质的,可以直接 使用:报表系统则必须考虑报表的输出,支持报表的打印,屏幕上的浏览等,也可 以说,报表系统不但要生成报表,还可以能够按照使用者的要求输出报表,供人们 使用。 3 2 报表数据 报表的核心内容是数据,报表来源多种多样,可以取自数据库;可能来自数据 文档:可能有用户输入;还可能来自其它系统。同时,报表中的数据不是简单的拷 贝原始数据,大量数据需要经过加工处理,是计算结果,也就是说,报表数据是经 过处理的数据。 报表中的数据受以下因素制约: 1 数据源中的数据 报表的大部分数据最终来自外部数据源,主要是各种数据库,因而收到数据源 中包含的数据范围限制。例如:若数据源中不存在历史数掘,则无法在报表中对历 史数据检索。 2 报表系统支持的数据源 原始数据可能存在于多种形式的数据源:数据库,数据文档等。数据库有不同 的访问接口,数据文档有不同的形式。报表系统所能访问的数据源种类是有限的, 因而限制了报表的数据来源。 3 报表系统的数据处理能力 1 1 华北电力大学硕士学位论文 报表系统的数据处理能力,决定报表数据的抽象层次。报表数据越抽象,需要 的处理越复杂。比如,要支持统计分析报表,就要求报表系统具有数据的统计分析 能力。 4 报表系统的实现 一些实现因素也限制了报表系统的能力。例如,报表系统所支持的数据规模就 受到程序实现的限制。同时,支持报表系统运行的操作系统,也可能限制报表的能 力。 3 3 报表格式 除了报表数据,报表的另一个重要方面是报表格式,报表中的数据必须按照一 定的格式组织。报表格式包括报表布局和报表数据格式两个方面。 3 3 1 报表布局 报表布局是指报表结构的安排,或者说是报表各部分内容出现位置。报表系统 的习惯做法是将报表分解,规定各个部分的出现位置,用户通过指定各部分的内容 来控制报表的布局。 常用的报表系统,如a c c e s s ,将报表分为以下多个部分,各个部分称为小节 ( s e c t i o n ) ,是指一组控件的集合,不管处理还是打印,均作为一个不可分割的整体。 1 报表页眉r e p o r t h e a d e r 报表页眉在报表的开始处出现。它通常用于打印报表标题,概括表,或指示报 表功能的总结性文字等信息。一般报表页眉只在报表第一页出现;若报表页眉数据 复杂,跨越多页,在它的内容中插入分页控制即可。 2 报表页尾r e p o r t f o o t e r 报表页尾在整个报表的结束处出现。它通常用于打印报表的总结性内容,总计、 报表总页数、报表处理时间、或报表的结束处需要处理的信息。 3 页面页眉p a g e h e a d e r 页面页眉在报表每页的顶端出现( 第一页在报表页眉的后面) 。它用于打印列名, 页标题,当前页眉等信息。 4 报表页尾p a g e f o o t e r 页面页尾在报表每页的底部出现( 最后一页出现在报表页尾的上面) 。它用于打 印页小计、页码等信息。 5 分组页眉g r o u p h e a d e r 报表数据可以分组,组可以嵌套。同一组的数据用于相同的组头数据,分组后, 复杂报表层次更清晰。分组页眉在每一组的明细节前出现,用于打印组头数据。 华北电力大学硕士学位论文 6 分组页尾g r o u p f o o t e r 分组页尾在每一组的细节明细节后出现,用于输出组末信息。 7 明细节( 主体) d e t a i l 明细节是报表的主体部分,记载报表的数据细节,通常用循环来处理明细节记 录行。 如果

温馨提示

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

评论

0/150

提交评论