(计算机科学与技术专业论文)基于xml和xslt的信息发布平台.pdf_第1页
(计算机科学与技术专业论文)基于xml和xslt的信息发布平台.pdf_第2页
(计算机科学与技术专业论文)基于xml和xslt的信息发布平台.pdf_第3页
(计算机科学与技术专业论文)基于xml和xslt的信息发布平台.pdf_第4页
(计算机科学与技术专业论文)基于xml和xslt的信息发布平台.pdf_第5页
已阅读5页,还剩57页未读 继续免费阅读

(计算机科学与技术专业论文)基于xml和xslt的信息发布平台.pdf.pdf 免费下载

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

文档简介

浙江大学硕士学位论文摘要 摘要 报表作为一种信息组织和分析的手段,在企业级的信息管理过程中起着不可 或缺的作用,内容和形式也呈现多样性。任何企业都需要制作一定数量和格式的 报表。在当前的网络已经成为企业信息管理的主要平台和载体的情况下,报表的 生成和管理,常用的做法就是使用报表生成和管理程序;新建报表,并生成特定 格式的报表文档或转换成某种格式的文档,如p d f 文件格式;管理和维护已存在 的报表。 论文开发的报表系统主要有四部分组成,报表配置模块,报表数据抽取模块 和报表生成模块,报表发送模块,其中,报表配置模块和报表发送模块是已经开 发好的,可以进行模块复用。 报表系统使用f 1 e x 技术来开发前台的用户界面,后台报表引擎使用j 2 e e 平 台,数据以) ( m l 为载体,配合x s l t 的结构化信息,生成最终的报表,对于与已 开发报表相类似的报表,直接可以复用现有报表中的章节;对于与已开发的报表 相差很大的报表,需要新建模板和报表抽取器,以供今后复用。 论文首先介绍了报表系统涉及到的主要背景和技术,接着介绍了报表配置前 台界面的细节,然后介绍了报表抽取模块和报表生成模块商业需求,设计细节和 实现效果,最后本报表系统进行了总结和展望。 关键词:报表系统,) ( m l ,x s l t ,j 2 e e 浙江大学硕士学位论文a b s t r a c t a b s t r a c t r e p o r ti sas i g l l i f i c a n tm e t h o do fr e t r i e v i n ga j l da n g l i c i z i n gi n f 0 锄a t i o na i l di t p l a y s 锄i m p o nr o l eme n t e 印r i s el e v e l si 1 1 f o 册a t i o nm a n a g e m e n t a l s o ,r e p o r th a l s v 撕e so fc o n t e n to ff o m l a tf o md i 伍:r e n tc u s t o m s e v e 巧c u s t o m e r ,n o to i d yc o m p a i l y b u ti n d i v i d u a l 丽l ln e e dr e l ) o r tf o ri n v e s t i g a t i o n c 岫r e n t l y ,i n t e m e tb e c o m ee n t e r p d s e i n f o n n a t i o nm a n a g e m e n tm a i l l l yp l a t f o n n ,c r e a t i n ga 1 1 dm a n a g er e p o r ti st h ed u t yo f 曲b a l s e da p p l i c a t i o n n l ea p p l i c a t i o n 、v i i lc r e a t er e p o r ta u t o m a t i c a l l y ,a n da l s o m 锄a g ee x i s tr e p o r t sf b m b a s e c r e a t er e p o r t ,w i l lc r e a t ear c p o r t 厅o md a t ao r c o i e r te x i s to t h e rf o m a t sr e p o r tt 0c e i r t a i nf o m l a tr e p o n ,s u c ha sp d ff o r m a tw i l i c h i sp o p u l a rb e “旧e nc u s t o m e r m a n a g e m e n tr c p o n ,i t 、玑l lm o m t o re x i s tr e p o r ts t a t u s , c h a n g et h es t a _ t u si fn e c e s s m y r e p o n i n gs y s t e m m a i n l y c o i l s i s t so ff o u r c o m p o n e n t s :r e p o nc o n f i g u r e c o m p o n e n t ,r e p o r te x t i a c t o rc o m p o n e n t ,r e p o r tg e n e r a t o rc o i n p o n e n t ,r e p o r td e l i v e 可 c o m p o n e n t t l w oo ft h e m :r e p o i r tc o n f i g u r cc o m p o n e ma n dr e p o r td e l i v e r ) rc o m p o n e n t h a l s a l r e a d ye x i s ti nt l l e1 e g a c ys y s t e m ,a l l dc a i lb er e u s e di nt l l en e w l yr e p o n i n g s y s t e m r e p o n i n gs y s t e mi m p l e m e n t e df - r o n te n du i 、v i mf l e x ,a l l dr e p o r te n g i n ew i t h j 2 e e r e p o r tc o n t e n tu s e sx m l 硼i t sd e s c r i p t i o nl a i l g u a g e ,a n dx s l tt 0s t o r et h e r e p o r t1 a y o u ti 珂 o m a t i o n ,t 0g e n e r a t ef i n a lr e p o r t i fm ec u r r e n tr e p o r ti ss i m i l a rt o r e p o r td e s i g nb e f o r e ,t h e nu s et 1 1 e md i r e c t l y ,i ft h er e p o i r ti s 州d e l y 印a r t 行o mt 1 1 0 s e d e s i g n e db e f o r e ,t h e nc r e a t eaf e wn e wt e m p l a t e ss e c t i o n s ,n e wr e p o ne x t r a c t o ra n d n e ws e c t i o ne x t r a c t o r s 觞w e l l t h i st e m p l a t ei o m a t i o na r l dp a r a m e t e ri ss t o r e di n da _ 汕a s e t h et h e s i sf i r s t l yi n t r o d u c et 1 1 er 印o i r ts y s t e m sb a c k g r o u n da i l dt e c h n o l o g yu s e di n t h i ss y s t e m ,s e c o n d l yi n t r o d u c et i l e b a u c k g r o u n do fr e p o r t i n gc o n f i g u r a t i o nu i ,h e n b a s e do nb u s i n e s sr e q u i r e m e n tb a c k g r o u l l d ,d e s i g i l sa n di m p l e m e n t sm er e p o r t i n g s y s t e m se x t r a c t o ra n dg e n e r a t o rc o 1 p o n e n t ,a t1 a s ti ts u i i l i l l a r i z e st h er e p o r t i n gs y s t e m a n dd e s c r i b e si t sb r i 曲t 矗m l r e 浙江大学硕士学位论文 a b s t r a c t k e y w o r d s : r e p o r t i n gs y s t e m ,x m l ,x s l t ,j 2 e e 浙江大学硕士学位论文 图目录 图目录 图2 1c r s 架构图:5 图2 2 报表模板概述图6 图2 3 报表模块图7 图3 1r i a 应用模型图9 图3 2x s l 转换图1 1 图3 3d o c 啪e n t 啪存储文件结构图l l 图3 4c o r d a 架构图l l 图3 5j 2 e e 架构图1 l 图4 1 i m c 流程图1 1 图4 2i m c 步骤图1 1 图4 3i m c 主页面图1 1 图4 4i m c 报表模板配置图1 1 图4 5c a i m g o n i l 架构图1 1 图5 1 报表结构组成图1 1 图5 2 报表抽取器类组成图1 l 图5 3 抽取模块设计图1 1 图5 4 报表封面设计图1 1 图5 5 封面节抽取器类顺序图1 1 图5 6 封面节x s d 描述文件。1 1 图5 7 封面节x h t m l 文件流程图:1 1 图6 1 报表结构图1 l 图6 2 报表生成模块设计图1 1 图6 3 生成p d f 模块设计图1 1 图6 4 构建页眉设计图1 1 图6 5 构建页眉和目录设计图1 1 图6 6 构建含注释的报表设计图1 l 图6 7 构建i 沁p o r t d d x 文件设计图1 1 图6 8 生成报表样本图1 l i 浙江大学研究生学位论文独创性声明 本人声明所呈交的学位论文是本人在导师指导下进行的研究工作及取得的 研究成果。除了文中特别加以标注和致谢的地方外,论文中不包含其他人已经发 表或撰写过的研究成果,也不包含为获得浙江大学或其他教育机构的学位或 证书而使用过的材料。与我一同工作的同志对本研究所做的任何贡献均已在论文 二 中作了明确的说明并表示谢意。 姗签碱晰飙 学位论文版权使用授权书 年s 具( b 本学位论文作者完全了解浙江大学有权保留并向国家有关部门或机构 送交本论文的复印件和磁盘,允许论文被查阅和借阅。本人授权浙江大学可 以将学位论文的全部或部分内容编入有关数据库进行检索和传播,可以采用影 印、缩印或扫描等复制手段保存、汇编学位论文。 ( 保密的学位论文在解密后适用本授权书) 一签硼呼婶 签字日期:洲年6 月n 导师签名: ( 签字日期:年月 扫 浙江大学硕士学位论文第l 章绪论 第1 章绪论 1 1 课题背景 报表作为一种信息组织和分析的手段,在企业级的信息管理过程中起着不可 或缺的作用,内容和形式也呈现多样性。任何企业都需要制作一定数量和格式的 报表。在当前的网络已经成为企业信息管理的主要平台和载体的情况下,报表的 生成和管理,常用的做法就是使用报表生成和管理程序,新建报表,并生成特定 格式的报表文档或转换成某种格式的文档,如p d f 文件格式;管理和维护已存在 的报表。 传统的报表程序开发方式中都存在这样或者那样的问题,如下所述: 报表的开发程序的第一种方式:固定报表,报表的形式和内容都预先定义好, 在具体的程序代码中将报表程序相关代码全部编好,程序编译后执行即可得到所 需要的报表,但是这种开发方式耗费的人力在这些技术性不高的代码上,一旦报 表有所调整则所有的已经编写好的代码都只能重新改写后再次编译。这种方式对 于固定报表最合适,但对于频繁改动的报表则不能适应。 报表程序开发的第二种方式:动态报表,报表的内容和格式在一定范围内定 制,如在参考文献心1 中所示,将报表形式和内容划分为三个部分,依次为:表头 区,表格线区,域区,报表数据区。用户可以单独定制其中的每一个部分,用户 定制完毕后有系统解释翻译执行该报表,最后将生成的最终报表展示给用户,完 成系统的功能。这种方式灵活程度高,但是用户报表的定制需要一定的技巧,如 果每次输出报表都需要定制的话,反而成为用户的重复工作,另外这种方式只考 虑了报表作为输出的实现而不能实现报表作为输入的功能。 报表程序开发的其他方式:介于固定报表和动态报表之间,例如可以预先定 义好简单的报表,然后让用户来组织这些简单的报表成为用户所需要的报表,但 是这样用户不仅需要设计报表,还要设计报表之间的组合方式,增加了用户的工 作量。 浙江大学硕士学位论文 第l 章绪论 本文论述的客户报表系统( c l i e n tr e p o r ts y s t e m c r s ) 是一种介于固定 报表和动态报表之间的独特的报表系统。从需求上来看,面对的客户众多,但是 每个客户要求生成的月表或者季表,从结构上看,都非常的相似。主要有一些基 本的章节( s e c t i o n ) 组成,将这些章节经过定的顺序组合,就生成了符合不 同客户需求的不同报表,从这点看来,c r s 系统的报表将基于章节进行开发和维 护。 1 2 论文的主要工作 c r s 系统是一个正在开发的系统,其中,关于c r s 的前台报表配置、监控模 块一信息管理中心( i n f o r m a t i o nm a n a g e m e n tc e n t e r i m c ) 已经开发完毕,这 次我们将在c r s 系统中,对报表的抽取模块和报表的生成模块进行需求的分析, 并实现报表数据的抽取,并且生成p d f 文件格式的报表。 报表的抽取模块,利用了x m l 语言的规范,设计数据库的接口,将来自不 同数据来源的数据,通过存储过程( s t o r e dp r o c e d u r e ) 将数据抽取出来,返回在 一个集合中,然后根据客户数据方面的需求,对集合内的数据进行筛选,组合, 计算,最后生成相对应的x m l 文件,同时,根据客户对报表结构的需求,将x m l 文件结合x s l t 文件,生成出符合要求的x h t m l 格式的报表文件,存储在数据 库中,以备报表的生成模块调用。 报表的生成模块,利用数据库中已经生成的x h t m l 格式的报表,先从中抽 取出生成页眉需要的数据,然后和x h t m l 格式的报表分别生成p d f 格式文件, 通过报表的整合器,根据客户对报表尺寸的要求先分页,然后将页眉,页脚,封 面,目录,注释同时整合到p d f 格式的报表中去,生成一份最终的p d f 文档, 展现给最终的用户。 1 3 论文结构和内容 本文分7 章 第一章介绍了本文的课题背景、所要作的主要工作和内容的组织形式。 2 浙江大学硕士学位论文 第1 章绪论 第二章分析了现有报表系统的不足和改进的方案。 第三章介绍了本文的体系结构,包括关键技术的选择和开发平台介绍,已经 系统的整体架构。 第四章介绍了系统的前端用户配置报表的图形接口。 第五章介绍了系统报表数据抽取模块的设计和具体实现。 第六章介绍了系统报表数生成模块的设计和具体实现。 第七章是对工作的总结和将来开发工作的展望。 1 4 本章小结 本章主要介绍了本文的课题背景、所做的主要工作和内容的组织形式。 浙江大学硕士学位论文第2 章用户报表系统需求和功能分析 第2 章用户报表系统需求和功能分析 2 1 系统功能需求 2 1 1 现有系统的不足 在本系统开发之前,在银行的内部信息管理中,发送报表存在着以下一些多 样性: 1 在银行内部有多个部门使用各自的报表系统,基金管理部,投资决策部, 客户服务部,客户报表管理部,开发的系统年代不同,彼此间没有规范的接口可 以相互传输数据。这些部门同时也各自维护着自己不同的客户列表,造成客户数 据的冗余和不同步。 2 发送手段多样,通过邮政,e m a i l 或者网络生成各自的报表,定期或者不 定期手动的发送给用户。特别是通过邮政发送,中间出现了传送的延误,没有专 门的银行内部员工负责,重新发送给客户。 3 通过网络和e m a i l 发送的报表也各有不同,有不同的布局,不同的配色, 也有不同的格式,包括我们常用的e x c e l 格式,p d f 格式,p o w e r p o i n t 格式以及 其他一些系统之间定义的格式。 在某些程度上,造成了一定的沟通难度,并且数据冗余,在其中相同的数据 发生改变时,如客户资料的改变,可能造成两个系统的客户资料不同步。 2 1 2 基本改进思想 本系统支持对现有的任何数据生成报表给用户。可以替代现有的多个报表系 统共存的局面。 c r s 系统将通过存储过程从数据库中取出需要的数据,生成x m l 格式的文 件,通过指定的x s l t 将x m l 格式化成x h t m l ,然后通过第三方的p d f 生成 软件,将x h t m l 格式的报表转换成p d f 格式的报表,将生成的p d f 文件存储 在文件系统中,通过一个报表发送模块( 已开发完毕) 发送给最终的用户。至于 4 浙江大学硕士学位论文第2 章用户报表系统需求和功能分析 报表的配置,通过一个外部的w r e b 接口( i m c ) ,对具体的报表模板进行配置。 根据i m c 中配置的具体报表类型( 月表或者季表) ,后台的自动批处理程序 ( a u t o s y s ) 将在每个月或者每个季度开始的时间,调用对应的报表抽取模块 ( r e p o ne x t r a c t o r ) ,报表生成模块( r e p o r tg e n e r a t o r ) 生成报表。 下图2 1 黄色背景的显示了c r s 系统的几个主要模块( 详细介绍见后续章 节) : 图2 1c r s 架构图 浙江太学碰l 学* 女犯2 用p m 表系章目n d * 女 2 2 报表模板概述 l h22 报表模扳概述阿 图22 显示了报丧模块的流程,分为以f 几个模块: 1 ) 报袤模板( r e p o nt e m p l a t e ) : 报表模板是存在数据库模扳表中的条已录,他已录了模板所使用的章节 名称,元数据信息,以及其他参数的默认配置,这些参数的种类名称,将在下一 章节详细描述 2 ) 报表实现( r 。p 。ni m p l e m e n b t j o n ) 报表实现:通过w e b 界面i m c 控制台,内部用户为特定的撤表客户选择一个 报表模板,对晕面模板的默认参数重新配置赋值,对其他一些模板不能殴定默认 值的参数也进行赋值。 3 ) 报表实例( r 。p o ni n s t a n c e ) 系统后台的自动定时代理程序根据报表实现内的参数,根据时间的变化,实 例化一个报表实现,将具体的报表需要产生的f i 期和刘应的值传递给报表实现, 就生成了一份撤表实例,撤衷数据抽取模块,报表生成模块根据撤表实例内配置 的参数从数据库抽取数据成为x h t m l 文件然后生成磁后的报表,存储到 d o c u m e n t u m 里面。 2 3 基本模块概述 在c r s 报表系统中,主要分为以下几个模块 一习一 m 大学碰l 学位论文第2 章用户报袁系统搿求功能分析 1 ) 报衷配簧模块:报表配置模块有f l e x 技术实现,是一个、b 方式的控制 界面,在界面里面实现了一下几个功能: 新建报表模板,配置报表模板参数 预览报表,审核批准报表 编辑已经存在的报表模板 2 ) 报表数据抽取模块: r e p e x ”a c t o r e “g i n e 负责报表数据的抽取,根据报表配置的不同,定 时的每月或者每个季度从数据库中抽取数据,进行一定的逻辑计算和数据 包装,将生成的x h t m l 格式的数据存储在数据库中。 3 ) 报表生成模块: r 。p o n0 e n e f a 的re n g i n e 负责p d f 报表的生成,从数据库里取出x h l 格式的文件,通过第三方软件的p d f 生成软件,转化成最终格式的p d f 报表, 存入文件系统中,以便报表发送模块的发送调用。 4 1 报表发送模块: r e p o nd e l i v e r ye n 舀n c 负责将生成的p d f 格式报表发送给最终用户,通 过e m i l 和邮寄两种方式发送。 如图23 所示; “。勰“ 自m 图23 报表模块崮 浙江大学硕士学位论文 第2 章用户报表系统需求和功能分析 2 4 本章小结 本章节主要分析了现有银行内部报表系统的不足,并从这些不足中提出该改 进,根据软件重用的思想,最大程度的重用已有软件模块,提出了整合报表的初 步想法,并做了些基本模块的划分设计。 8 浙江大学硕士学位论文 第3 章客户报表系统总体解决方案 第3 章客户报表系统总体解决方案 3 1 系统的体系结构 本系统采用的是基于w c b 浏览器富客户端的b s 架构叫i a 【3 】 图3 1 就是姒的应用程序模型: 囤3 。lr 以应用模型图 酣a 是集桌面应用程序的最佳用户界面功能与w 曲应用程序的普遍采用和 快速、低成本部署以及互动多媒体通信的实时快捷予一体的新一代网络应用程 序。a 中的硒c hc l i e n t ( 富客户端) 提供可承载已编译客户端应用程序( 以文 件形式,阁h 订p 传递) 的运行环境,客户端应用程序使用异步客户,服务器架构 连接现有的后端应用服务器,这是种安全、可升级、具有良好适应性的新的面 向服务模型,这种模型由采用的w e b 服务所驱动。结合了声音、视频和实时对话 的综合通信技术使剐a 具有前所未有的网上用户体验 a 具有的桌面应用程序的特点包括:在消息确认和格式编排方面提供互动 用户界面;在无刷新页面之下提供快捷的界面响应时间;提供通用的用户界面特 性如拖放式( d m g 剃d r o p ) 以及在线和离线操作能力。弛具有的w r e b 应用程 序的特点包括如:立即部署、跨平台、采用逐步下载来检索内容和数据以及可以 9 浙江大学硕士学位论文第3 章客户报表系统总体解决方案 充分利用被广泛采纳的互联网标准。i u a 具有通信的特点则包括实时互动的声音 和图像。 客户机在r j a 中的作用不仅是展示页面,它可以在幕后与用户请求异步地进 行计算、传送和检索数据、显示集成的用户界面和综合使用声音和图像,这一切 都可以在不依靠客户机连接的服务器或后端的情况下进行。 对于企业来说,部署对a 的好处在于: 1 ) 黜a 可以继续使用现有的应用程序模型( 包括j 2 e e 和n e t ) ,因而无需 大规模替换现有的w r e b 应用程序。通过融c hc l i e n t 技术,可以轻松构建更为直观、 易于使用、反应更迅速并且可以脱机使用的应用程序。 2 ) 黜a 可以帮助企业提供多元化的重要业务效益,包括产品提高销量、提 高品牌忠诚度、延长网站逗留时间、较频繁的重复访问、减少带宽成本、减少支 持求助以及增强客户关系等。 3 2 关键技术选择 3 2 1 也和x s l l 简介帕 x m l 【5 6 1 和h t m l 一样来自于s g m l ( s t a l l d a r dg e n e r a l i z e dm 矾m pl a i l g u a g e , 标准化通用标记性语言) ,全称为e x t e n s i b l em 咖l a i i g u a g e ( 可扩展标记语言) 。 x m l 是为了用来对信息进行自我描述而设计的一种新语言,正如其名字指出的 那样,它是一种标记语言。在这点上,它类似于h t m l ,但x m l 关注的不是数 据在浏览器上如何布局和显示,而是关注如何描述数据内容的组织和结构以便在 网络上进行交流和处理。 x m l 起源于s g m l ,s g m l 是用于定义怎样描述不同种类的电子文档的数 据的结构和内容的一种语言标准,由国际标准化组织负责制定和管理。x m l 是 s g m l 的子集,它去除了s g m l 中一些非常复杂而很少使用的特性,具有s g m l 的灵活性,但复杂性比s g m l 低得多,从而更适合在网络环境下使用。 x m l 强调的是描述数据内容的组织。通过这些组织结构信息,可以引导不 l o 浙江大学硕士学位论文第3 章客户报表系统总体解决方案 同的数据使用者将其关心的数据内容提取出来并用于各自的目的。x m l 能够成 功的一个关键就是其将数据内容和应用分开从而提高效率的思想。当初数据库提 出的思想就是为了将数据独立于使用目的的方式存放,以达到被不同的应用程序 使用的效果。可以看到,x m l 与数据库有着异曲同工之处,只不过x m l 是应用 在提高网络上的数据可复用性和数据交换的效率方面。 x m l 包含一组规则,任何人都可以根据这组规则创建标记语言,这组规则 确保了使用一个简洁的程序解析器就能够处理这些新语言。 x i l 定义了文档结构,但未定义浏览器应该怎样解释一个文档。这给w 曲 开发者带来了极大的灵活性,它改变了浏览器显示、组织、检索信息的方式。x m l 与h t m l 相比,主要有可扩展性、结构性、合法性检查等三个方面的特点。在简 单模式下,一篇l 文档中数据存放的组织和顺序是不受限制的。这样虽然简 单灵活,但会使得数据的组织不够规整,数据查找效率不高。为此,x m l 文档 还有另一种模式,即带文档类型定义( d t d ,d o c u m e mt 卯ed e f i n i t i o n ) 的x m l 文档。所谓文档类型定义就是一段关于该文档中数据的组织存放结构的说明。它 不但严格定义了某项数据应该在哪里出现,而且规定了各种数据项之间的关系。 所以可以将一种文档类型定义理解未对一种数据文件组织方式进行的描述。通过 建立各种不同的文档类型定义,就用了不同的数据文件。 l 规范定义了如何创建一个d t d ,就是说不同格式的数据文件的d t d 都 是按照一定的标准给出的。这样即使遇到一种未知格式但带有d t d 的数据文件, 也可以通过分析它的d t d 来知道数据在文件中的组织结构,进而提取数据。 x m l 和h t m l 最大的不同是:x m l 是一种元语言,因而它不再有标准的 d t d ,而只提供默认的d t d 。用户可以利用w 3 c 提供的x s l ( e x t c n s i b l es t y l e l a n g u a g e ,可扩展样式语言) 定义自己的文档标记及其属性,并把x s l 定义内容 先于x m l 文档传给客户端。客户端浏览器利用x s l 并结合默认d t d 来解释x m l 文档。 x m l 主要有以下优点1 】: 1 x m l 提供了一种功能强大、灵活高效的表达数据内容的方法; 浙江大学硕士学位论文第3 章客户报表系统总体解决方案 2 x m l 具有很强的可扩展性( 通过定义新的d t d ) 3 x m l 中的数据内容与具体应用无关,这使得使用它表示的数据具有很好 的使用效率和可复用性,这一点在通过网络交换数据时表现得更为明显; 4 x m l 通过d t d 使得所包含的数据具有自解释性,可被不同程序用于不 同目的: 5 ) ( 1 l 文档是纯文本,因此可用纯文本编辑器创建和编辑,这使得程序更 简单; 6 可格式化,在显示形式很重要的时候,x s l 可制定如何显示数据。由于 数据和显示是分离的,甚至可以为同一数据指定不同的样式表用于不同的输出, 并很容易在将来使用新的格式进行显示; 7 具有很强的链接能力,可以定义双向链接、多目标链接、扩展链接和两 个文档间的链接; 8 易于处理。x m l 对格式的定义更为严格,并具有层次结构,处理起来更 加容易。它是与厂商无关的标准,可以任选一个解析器来处理。 随着x m l 的推广和i n t e m e t 上越来越多的信息采用特定行业的) ( m l 标签作 标记,人们寻找所需要的信息会变得更加容易,w 曲的响应时间将大大加快。目 前,连接在w e b 上的计算设备所能做的不过是获取表单,填写后返回给w 曲服 务器,直到完成一项任务。但是,随着x m l 中增加的结构化和语义化的信息, 这些设备将可以在客户端进行大量的处理。这不仅能减轻w r e b 服务器的许多负 债,而且会极大地减少网络流量。 x m l 在使用简单、柔性的标准化格式表达和应用程序键交换数据方面迈出 了一大步。可以任务,h t m l 提出了查看数据的方法,x m l 则提供了直接在数 据上工作的通用方法。x m l 的威力在于将用户界面和结构化相分离,允许不同 来源的数据无缝集成以及对同一数据的多重处理。从数据描述语言的角度看, x m l 是灵活的、可扩展的,有良好的结构和约束:从数据处理的角度来看,x m l 是天然的异构数据的交换方式【1 2 。1 3 】。 1 2 浙江大学硕士学位论文第3 章客户报表系统总体解决方案 x s l 简介n 钉 x s l 是扩展风格表单( e x t e n s i b l es t y l e s h e e tl a i l g u a g e ) 由三种语言组成。这三 种语言负责把l 文档转化为其他格式。x m lf o ( x m l 格式化对象:x s l f o 肌a t t i n go b j e c t s ) 说明可视的文档格式化,而x p a m 则访问x m l 文档的特定不 发。但是x s l t ( x s lt r 趾s f o 肿a t i o n s ) 才是把某一x m l 文档转化为其他格式的 实际语言。本系统采用的即为x s l t 语言,但那是为了本论文的同一与易懂性, 所以在本论文中的所有x s l 文件即为x s l t 文俐1 5 j x s l t 是x i l 技术家族中的一项重要的技术,是一种定义样式表,对x m l 文档进行转换的语言。x s l t 可以将x m l 文档转换称其他结构( 包括x m l 结构) 的文档,比如h t m l 文档,纯文本文档等等,在转换过程中,一般会对数据进行 过滤、排序、计算等操作。 x s l t 文档本身是一个格式符合的x m l 文档,它将被链接到需要转换的x m l 文档,通过x s l t 处理器进行处理,实现对x m l 文档进行转换。使用x s l t 处 理器的便捷方法是用i e 浏览器直接显示链接了x s l t 文档的x m l 文档,将i e 内置的x s l t 处理器会对x s l t 文档进行处理,转换x m l 文档,将转换结果显 示出来。 x s l t 将要处理的x m l 文档视为一个节点树,称为源树。将转换结果也视为 一个节点树,称为结果数,如图3 2 所示。结果树和源树是分离的,结果树的结 构可以和源树完全不同。创建结果树时,来自源树的元素可以被过滤和重排序, 并可以添加任意结构。对节点树的基本约束与x p a t l l 一致,可参见x p a t h 有关文 档。【1 6 l 浙江大学硕士学位论文第3 章客户报表系统总体解决方案 图3 2 x s l 转换图 x s l t 文档可以包括由x s l t 定义的元素和不由x s l t 定义的元素,x s l t 定 义的元素属于一个特殊的x m l 命名空间( n a m e s p a c e ) ,称为x s l ,tn a i i l e s p a c e 。 在本文中,使用命名空间前缀“x s l ”来引用x s l t n 锄e s p a c e 中的元素,不由x s l t 定义的元素,或者说不在x s l t 命名空间中的元素称为原义元素( l i t e r a le l e m e n t ) 。 因为x s l t 元素指示x s l t 处理器如何操作,因此有时也称x s l t 元素为指令。 在x s l t 中,转换被称为样式表( s t ) r l e s h e e t ) ,样式表定义了一套将元素转换 为结果树的规则,称为模板规则( t e m p l a t em l e ) 。样式表通过x s l t 文档中的x s l : 啊l e s h e e t 元素定义,其内容一般为多个模板规则。 一个模板规则分两个不发:模式( p a 仕e m s ) 用来匹配源树中的元素,使用 x p a t l l 语法定义;模板( t e m p a l t e ) 用来指示如何创建结果树的一部分。模板规则由 x s l :t e m p l a t e 元素定义,其m a t c h 属性就是一个模式,用来匹配源树中的元素;其 内容就是模板。 x s l t 按以下规则对源树进行处理,以最终得到结果树。 1 )源树中的每一个节点都有可能经处理用来创建结果树片段,此过程 是通过模板规则实现的。 2 ) 对源节点列表中的节点按顺序进行处理,产生的结果树片段附加到 已产生的结果树中。在创建结果树时,从包含源树根节点的节点列 1 4 浙江大学硕士学位论文第3 章客户报表系统总体解决方案 表开始处理 3 ) 节点的处理需要找到所有匹配的本节点的模板,然后按一定的规则 从中选择一个最佳的模板,被选中的模板将本节点作为当前节点、 源节点列表作为当前节点列表进行处理。 4 ) 模板一般通过一个指令来选择一个新的源节点列表继续处理。由于 此动作由一个指令完成,因此选择新的源节点列表以及继续处理是 不可分的一个步骤。 5 ) 匹配、处理和选择是不断递归地执行,知道没有选择任何新的源节 点。 按照这个规则,x s l t 从源树的根节点开始,选择合适的模板来处理根节点。 此时根节点被视为当前节点( c u 仃e n tn o d e ) 。如果此模板中选择了一个源节点列 表并继续应用模板,则对此源节点列表中的每个节点顺序处理,重新选择合适的 模板来处理此节点,此节点被视为当前节点,此源节点列表被称为当前节点列表 ( c l 】r r e n tn o d e1 i s t ) 。如此递归处理下去,直到没有任何新的源节点被选择。 在x s l t 规范中,定义了一套内置模板规则( b u i l t i nt e m p l a t er u l e s ) ,内置 模板规则遍历源树,输出每个结点的值。这样,即使在x s l t 文档中没有定义任 何模板规则,也会有结果输出。在选择模板规则时,x s l t 文档中用户定义的模 板规则优先选用【1 7 1 。 模板为特定的源元素创建部分结果树。就模板本身而言,它具有相当的能力: 可以创建任何复杂的结构;可以从源树任何位置获得字符串值:可以重复创建结 构。模板创建结果树的方法有两种: 1 ) 通过来自x s l t 命名空间的元素用来指示如何创建结果树片断。 2 ) 可以通过包含原义元素直接指定结果树结构。 利用相应的x s l t 元素可以创建元素、属性、文本、处理指令、注释到各种 节点;在需要的时候,可以通过x s l :c o p y 元素快速拷贝当前节点到结果树;利 用x s l :v a l u e o f 元素可以对源树节点进行任意计算,将结果输出到结果树。在模板 中使用的原义元素将被直接输出到结果树中。比如,我们需要将x m l 文档转换 浙江大学硕士学位论文第3 章客户报表系统总体解决方案 成h t m l 文档,则可以在模板中直接使用h t m l 元素,创建h t m l 节点,十分 方便。 : 3 2 2d o c 岫e n t u m d o c 啪e n n n 是e m c 公司开发的一种文件系统,在c r s 中主要用于存放文 件,主要有以下几种: p d f 格式报表 c s v 格式报表 报表的附件 存放的路径以及文件命名规则如图3 3 所示: 口 曰自 ! j r 印o n 絮高田帮。u 恻! 一书删n 一小m 岬由u i o l 朋r u m o n l ;一一l r n n a m l f m p c o d u i 叫;一书e p o n n 帅l p m p j o d e u i d l v e r u m o n 】 : :j v e r l 附o n l: ;删能¥珊簿仙d l ;一书印o n 帅小m l 删嗍j v e r u m 洲i j v e r u m o l ”唧叫1 一u ” 图3 3d o c u m e n t l l m 存储文件结构图 3 2 3a s s e m b l e r l i f e c y c l ea s s e m b l e r 是a d o b e 公司的企业级产品。他的作用是将传入的各个 1 6 口口口 量白 浙江大学硕士学位论文 第3 章客户报表系统总体解决方案 p d f 文件按照d d x 配置文件里面的描述整合出一份新的p d f 文档。l i f e c y c l e 是作为一个独立的j 2 e e 应用程序进行部署的 3 2 4c o r d a c o r d ah i 曲w i r e 是c o r d a 软件公司的一个产品,主要用途是转换生成p d f 格 式文件,优点在于: 实时的按需将x m l 或者h t m l 转换成p d f 。 可以非常容易的处理c s s ( c a s c a d i n gs t y l es h e e t s ) 文件以及嵌套的表格。 如图3 4 所示就是c o 池的一个典型应用: ,j 。j o ; :? ;们_ 广一一 i :;i ;i 芒厂一亡j e b 卜p t c t o u - ac o o e h e e c o i d l e v e j ; d t eo 矗o t h i d t o u r l x 图3 4 c o 池架构图 在c r s 系统中,使用c o 池公司的h i 曲诵r e 组件,他的功能是将传入的 1 7 啦十;一 : 一” 浙江大学硕士学位论文 第3 章客户报表系统总体解决方案 t m l 格式文件转换为p d f 格式。 在服务器端,c o 池将作为一个j 趾包部署在w 曲l o g i c 服务器下作为一个应 用程序而存在。他的部署和整合器不同,由于先有的一些未知的错误,在c r s 系统中,不能单独将它作为一个独立的j 2 e e 应用程序部署。将它打包成j a r 文件 部署在w 曲l o g i c 下是当前c o 池m 曲谢r e 组件的一个折中方法,在未来如果出现 c o r d ah i 曲砸r e 的升级,将尝试着将他作为一个独立的j 2 e e 程序部署。 3 3 系统开发平台 本系统的开发平台采用了j 2 e e 为架构的企业级解决方案的开发、部署的体 系结构。对于前台报表配置的图形界面,采用了a d o b e 公司最新推出的f l e x 2 , 实现了界面的展示。 j 2 e e 是一种利用j a v a2 平台来简化企业解决方案的开发、部署和管理相关的 复杂问题的体系结构。j 2 e e 技术的基础就是核心j a v a 平台或j a v a2 平台的标准 版,j 2 e e 布局不仅巩固了标准版中的许多优点,例如“编写一次,随处运行”的 特性、方便存储数据库的j d b ca p i 、c o i 出a 技术以及能够在i n t e r n e t 应用中保 持数据的安全模式等等,同时还提供对e j b ( e n t e 印r i s ej a v a b e a l l ) 、j a v as e r v l e t s a p i 、j s p ( j a v as e e rp a g e s ) 以及x m l 技术的全面支持。其最终目的就是成为一 个能够使企业开发者大幅缩短投放市场时间的体系结构。 j 2 e e 使用多层的分布式应用模型,应用逻辑按功能划分为组件,各个应用组 件根据他们所在的层分布在不同的机器上。通过基于标准的、模块化的组件技术, j 2 e e 提供一组完备的服务以大大简化企业级应用的开发。由于容器提供了丰富的 支持功能,应用开发者只须将精力集中于业务实现逻辑而无需考虑其他复杂功能 的实现细节【1 引。 下图3 5 就是j 2 e e 的应用模型: 1 8 学$ li 学位论文

温馨提示

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

评论

0/150

提交评论