




已阅读5页,还剩100页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
武汉理工大学硕士学位论文 摘要 近年来,电子政务基本得到了普及,越来越多的政府和事业单位通过网 络处理一些日常工作,对公文的处理也由手工处理转化为对电子公文处理。 网上办公透明度高、成本低廉、高效简便。但是,如果网上办公时信息的安 全性、保密性得不到保障,不但不能提高办事效率,反而会成为政务的一个 隐患。 由于网上办公是“无纸化”操作,所以与传统的办公模式相比,电子公 文的安全性、保密性显得更为重要。对于信息加密而言,有对称加密算法和 非对称加密算法可以选择,对称加密算法处理的速度相对非对称加密更快, 但是对于加密大量信息的时候,速度也是比较慢的。所幸的是,并不是整个 电子公文文档的都有必要加密,有时仅是需要加密文档中的一部分,这样不 仅会提高加密速度,而且文档没有加密的部分也便于检索、归类。而传统的 加密方式是对整个文档进行加密,所以部分加密对电子公文来说是一个需要 解决的问题。现实中,一份电子公文可能是由多入共同创建的( 也可能是多 个部门) 。如果是纸质文档,直接加盖多个章印即可。但是,对于电子公文而 言,怎么实现对同一份公文的多人签名( 即是对同一份文档进行多重签名) , 这是需要考虑的第二个问题。不同部门、单位用于创建电子公文的工具和平 台可能不同,这样造成电子公文的表现形式多样化,不便于统一管理。那么 如何实现不同平台中创建的公文能够相互之间统一显示,这是需要研究的第 三个问题。 论文首先分析了电子政务中电子公文文档交换存在的问题,提出了利用 x m l 表示电子公文的思想:接着分析了w o r d 内部结构,着重研究了x m l 签名、加密规范并提出了基于x m l 签名规范的多重签名思想;基于研究的 内容,提出一种基于x m l 的安全电子公文系统模型,并对该框架所涉及的 x m l 签名、加密原理和w o r d 与x m l 相互转换技术等进行了研究和探讨, 绘出了该框架应用实现的步骤;运用上述设计模型和原理、技术,开发出一 个基于安全电子公文模型的公文交换原型系统。原型系统很好地解决了上面 提到的三个问题。 关键字:电子政务,多重签名,x m l ,w o r d 文档,电子公文 武汉理工大学硕士学位论文 a b s t r a c t e - g o v e m m e n t i sp o p u l a rt h e s ey e a r s m o r ea n dm o r e g o v e r 衄e n t d e p a n m e n t sd e a lw i t hd a i l ya f r a i rt h r o u 曲n e t w o r k s a c c o r d i n g ly ,t h ew a yt o c o p ew i t ho m c ed o c u m e n t sb yh 锄dc h a n g e st oe l e c t r o n i c o 塌c ed o c u m e n t s t h e r ea r em 趾yb e n e f i t sf o rw o r kt h r o u g hn e t w o r k ,s u c ha s1 1 i g ht r a l l s p a r e n c y , l o wc o s t ,h i 曲e f f i c i e n c ya n dm o r ec o n v e l l i e n c e b u ti ft h es e c u r i t yc 趾n o tb e g u a r d e d ,n om e r i tc o m e sa n de - g o v e m m e n tw i l lc o l l a p s e t h es e c u r i t yo fe o m c ed o c 啪e n ti sm o r ei m p o r t a n tc o m p a r e dt ot h e t r a d i t i o n a lw o r ks t y l et h a tu s ep a p e rt ot r a n s m i ti n f o n n a t i o n h o wt or e a l i z e m u l t i s i 9 1 1 a t u r ea n de n c r y p t i o n f o re o f f i c ed o c u m e n ti s p r o b l e md e s e r v e d r e s e a r c h f o re n c r y p t i o n ,s y i n m e t r i c a le n c r ) ,p t i o na r i m m e t i ca n d1 1 1 l s y n l i i l e t r i c a l e n c r y p t i o n a r i t e t i ca r ea v a i l a b l e c o n t r a s tt ou n s y i i l i n e t r i c a l e n c 聊p t i o n 撕t h _ 1 1 e t i c ,t h es p e e do fs ”n m e t r i c a le n c r y p t i o na r i t h i n e t i ci sh i g h e r b u ti fi t u s e dt oe n c r y p tm a s sd a t a ,w es t i l lc a n tb e a rt l l es p e e d l u c “ly ,n oa uo ft h ed a t a n e e d se n c r y p t e d i n s t e a d ,p a r to f 廿1 ew h o l ee o m c ed o c 啪e n tn e e d se n c r y p t e d 1 f j u s te n c r y p tp a r to f 也ee o 街c ed o c u m e n t ,t h es p e e dw i l lb ea d v a i l c e d ,a n dt h e u n e n c r y p t e dd a t ai sc o n v e n i e n tf o rs e a r c h 髓ds o r t t h e r e f b r ep a r t i a le n c r y p t i o n f o re o f n c ed o c 啪e n tr e q u i r e su st os o l v e ,b e c a u s et h et r a d i t i o n a lw a yt oe n c r y p t i sf b rm ew h o l ed o c u m e n t i nr e “i t y ,t h es 撇ed o c u m e n tm a yb ec r e a t e db ym o r et h a no n ep e r s o no r d e p a r t m e n t f o rt h ep a p e rd o c 啪e n t ,t os e a l t h ed o c u m e n tw i t hd i 疗b r e n ts e a l si s o k b u tf o re - o 佑c ed o c u m e n t ,h o ww er e a l i z em es c e n et h 砒m a l l yp e o p l es i g n t h es a m ed o c u m e n t ? t h a ti s 1 es e c o n dp r o b l e mc o n s i d e r e di nm i sp a p e l d i f 话r e n td e p a n m e n tm a yu s ed i f f e r e n tt o o l st oe d i tt h ee o 伍c ed o c u m e n to n d i f f e r e n tp l a t f o m ,s ow es h o u l dt d k ei m oa c c o u n tt h a th o wt os h o wm ed o c u m e n t r e s u l tf r o md i f f e r e n tp l a t f o r i nw i mt h es a m ed i s p l a yu s a g e ? t h a ti sm em i r d p r o b l e mc o n s i d e r e di nt h i sp a p e r t h ep a p e ra 1 1 a l y s e st h ep r o b l e me x i s t i n gi ne - o m c ed o c u m e n tc o m m u t i n g , p r e 8 e n tt h ei d e au s i n gx m le x p r e s se - o 伍c ed o c u m e n t t h e ns t l l d yt h ew o r d 1 1 武汉理工大学硕士学位论文 i n n e rs t 兀l c t u r ea n dr e s e a r c ht 1 1 ex m le n c r ”t i o nc r i t e r i o na i l dx m ls i g n a t l l r e c r i t e r i o n ,a n e rt h a t ,c r e a t i v e l ya d v a n c eam o d e lf o rt r a i l s f e r r i n gt h ee - o m c e d o c u m e n ti ns e c u r i t yb a s e do nx m l ,p r o b ei n t ot h ep r i n c i p l ea n dt e c q u ea b o u t x m ls i g n m u r ea i l de n c r y p t i o na n dt 1 1 ec o n v e r s i o nm e t h o db e t w e e nx m la n d w | o r dd o c u m e n t ,a n dg i v et h es t e p sa b o u ti m p l e m e n t i n gt h em o d e l t h em o d e l c a ns o v et h ep r o b l e m sa sf 0 1 1 0 w s :矗r s t l y h o wt ot r a n s f e re o 铺e ed o c u m e n ti n s e c u r i t y t h a ti s t os a y ,g l i a m n t e em ea u t h e n t i c a t i o n ,i n t e g r a l i ty u n d e n j e da n d p r i v a c y ;s e c o n d ly ,h o wt ot r a n s f e re o 伍c ed o c u m e mb e t w e e nd i f f e r e n ts y s t e m p l a t f o r m ;t h i r d ly h o wt or e “i z eo n l yt h er e c e i v e ro w nt h es p e c i a lp r i v i l e g ec a n s e et h ec o n t e n t ;f o u r t h ly h o wt or e a l i z em u l t i - s i g i l 咖r eo nt h es 帅ee o 伍c e d o c u m e n t k e y w o r d s :e g o v e r m e m ,m u l t i - s i g 芏l a t u r e ,x m l ,w b r dd o c u m e n t ,e o 衔c e d o c u m e m i 武汉理工大学硕士毕业论文 1 1 课题背景 第1 章引言 1 手工管理公文的弊端 传统的手工管理公文存在以下的问题】: ( 1 ) 掌握信息不够完整 传统对公文的管理,由于人力和手段的局限,领导往往难以得到既简明 扼要又全面的有关公文办理情况的信息,从而影响办公质量。 ( 2 ) 掌握信息不够及时 由于信息生成点较为分散,信息传递途径不足,带来了及时查询公文办 理情况的因难。为了提高查询的时效,往往采用置备复印件的办法,如此不 仅增加了办公的成本,而且由于信息的大量冗余,增加了信息管理的因难。 ( 3 ) 对办文过程控制的手段不足 催办是管理人员对公文办理过程进行控制的主要手段,但在人工的系统 中,特别是在办公工作量急剧增加的情况下,管理人员往往难以确切掌握公 文的当前状态,如哪些公文需要催办,该公文当前正在哪一部门作何办理等, 从而削弱了管理人员对公文办理过程的控制。 ( 4 ) 大量的冗余信息和重复劳动 由于各部门都用掌握各自的收文情况,在信息难以共享的情况下,只能 是公文每流经一个部门,就由该部门对公文文号、公文名等进行簿式登记。 这样的大量重复劳动,实际并末增加信息或者使信息增值,相反、大量冗余 信息往往增加了管理上的麻烦,使工作人员无法从事更多的创造性的劳动。 ( 5 ) 对效率的监控缺乏定量依据 人工难以对数以万计的公文办理环节进行定量的统计,只能依赖直觉发 现效率的瓶颈,改善效率的入只能靠典型的实例,缺乏必要的定量分析,从 而影响了办公效率改善的速率和实效。 随着计算机技术的不断发展,用计算机管理公文来代替手工管理己经越 来越普及了,人们也渐渐从传统的公文管理模式中走出来。 2 电子公文的特点 武汉理工大学硕士毕业论文 电子公文是能够被计算机所操作、传输与处理的数字化文件。与传统纸 质公文有着截然的不同。概括而言,电子公文有如下特点 1 2 j : ( 1 ) 虚拟性 电子公文是数字化的、由比特构成的,看不见也摸不着的东西,因而是 虚拟的。在数字化的环境中,电子公文的格式是与相应的软件有关的,而与 传输与存储它的媒体是相分离的、无关的。对同一份电子公文,使用不同的 软件,其呈现出来的形式和格式可能是不相同的,并可能与最初的原始格式 完全不同。 ( 2 )易复制性 电子公文的复制产生十分容易,将电子数字文件从计算机存储器的一个 位置拷贝到另一个位置。 ( 3 ) 流动性 电子公文信息在单机内部是流动的,在计算机网络空间也是流动的。在 计算机网络中的流动,使它可以跨时间跨部门。所以,政府要控制这些流动 的公文,比如可以控制某些人有权获得有关信息,也可以控制另外一些人不 能获得某些信息,并可以设法知道信息来自何处。 ( 4 ) 难以持久性和不稳定性 由于i t 技术的更新速度很快,特别是软件的升级换代更快。办公自动化 的环境即公文生成与存储的环境也在不断发生变化,常常造成旧版本的公文 载体过时,技术被淘汰,电子公文信息的不稳定性则主要表现在它容易被篡 改、丢失与毁坏。 基于电子公文的上述特点,所以应规范电子公文的格式标准,这种格式 应是一种稳定的、不易被淘汰的、先进的格式。用x m l 来表示电子公文解 决公文格式问题。公文的另一个特点就是具有机密性,所以还应该解决x m l 格式公文的安全性问题。 1 2 课题来源 本课题来源于“湖北港航电子政务系统”中网上审批。 在本系统的子系统焊工管理系统、船员管理系统和验船师管理系统中都 涉及网上审批,对审批的安全性都有特别的要求,这里以焊工管理系统为例 介绍其安全性需求。每年焊工考试之后,焊工考试委员会向省船检处提交考 试成绩的信息在传输中即使被非法的第三方截获也不能看到关键的内容,如 武汉理_ 大学硕士毕业论文 果第三方修改了考试成绩信息,那么船检处在接收到信息之后能识别出接收 到的信息是否在途中被篡改。同时,还要保证焊工考试委员会不能否认传输 给省船检处的考试成绩信息。简而言之,即是在传输中需要保证信息的机密 性、完整性、身份的合法性( 也就是真实性) 和抗抵赖性。 1 3 课题研究的目的、意义 随着计算机技术和英特网的飞速发展,越来越多的事务采用电子化方式进 行处理,比如电子商务,电子银行,电子政务等等。而安全问题是这些应用能否 成功的核心问题。 目前中国政府正在大力推行政务电子化,其中四个个重要问题急待需要 解决:其一,如何安全的传输公文,保证公文的真实性、完整性、抗抵赖性 和机密性;其二,如何实现不同平台之间电子公文的流转;其三,怎么保证 不同的公文接收者看到的内容可能不同,即是同一公文不同的部分具有不同 的权限,只有满足特定权限的接收者才能看到特定的内容;其四,怎么实现 多人对同一公文签名。 本课题将试图使用x m l 表示电子公文,从而解决上述四个问题。 1 3 1 用x m l 表示电子公文的优点 x m l 由于其可扩展、结构化语义以及与传输协议无关的特性充分满足 i n t 啪e t 和分布式等异构环境的要求,成为了网络上数据传输的主要载体。 x m l 能够灵活地表示数据、简便的交换数据,它具有自描述性。这些特点完 全符合公文的需求。因此用x m l 来表示公文非常合适。 基于x m l 的公文可比较好的解决电子政务应用中所面临的问题【巧 :1 ) 大部分电子政务系统的信息孤岛;2 ) 不同的系统表示数据格式千差万别:3 ) 内部提取效率不高,需要进行数据再加工;4 ) 各个系统需要反复重新录入数 据。 基于x m l 技术的特性及相关的规范和协议,电子公文统一采用x m l 格 式后,目前所存在的问题,基本可以得到解决f 1 3 】 1 4 。 ( 1 ) x m l 已成为一种国际标准,且x m l 文档是纯文本文件。可读性 很强,既使不借助任何x m l 浏览工具,也能看懂其内容。另外,x m l 文档 格式良好,有严格的语法要求,也适合通过程序进行处理。这样,长期存档 武汉理工大学硕士毕业论文 的电子公文的再次利用便不再是一个问题。 ( 2 ) 通过定义公文的d t d 或s c h e m a 保证了公文项目的完整和规范。 如一篇公文必须有一个标题,通过定义,则可以约束公文起草人必须输入标 题。通过规定公文的d t d 或s c h e m a 后,再草拟公文就象填写固定的表格一 样,不会再多项或漏项。d t d 及s c h e m a 在下一节进行介绍。 ( 3 ) 通过定义公文的显示样式单,使得编缉公文时无需考虑的文字的 字体、大小、位置等显示格式,只需关注公文的内容。这也降低了对办公软 件熟练程度的要求。另外,针对x m l 文档可以定义多种样式单,使其具有 多种显示格式,适用于不同的场合。样式单在下一节介绍。 ( 4 ) x m l 自推出以来,尤其是在1 9 9 8 年2 月成为w 3 c 推荐标准以 来,受到了广泛的支持。各大软件厂商如国外的i b m 、m i c r o s o f t 、o r a c l e 、 s u n 和国内的金山软件公司等都积极支持并参与x m l 的研究和产品化工作, 先后推出了支持x m l 的产品或者将改造原有的产品以支持x m l 。这就使得 基于x m l 的电子公文的交流和共享变得非常容易。 ( 5 ) 基于x m l 的文档查询标准,利用x o l 语言,在x m l 文档中检 索,就象在数据库中使用s q l 语言一样方便。并且,大量的基于x m l 的电 子公文在i n t r a n e t 发布后,可以快速查询到更多所需要的信息。 1 3 2 电子公文的安全性要求 由于x m l 是纯文本的和自解释性的,所以网络上任何人都能读懂基 于x m l 的电子公文中的信息和比较容易地修改它,如何来保证基于x m l 的电子公文的安全传输和验证就变得十分重要。此外,在电子公文的批复等 处理的过程中,常常需要多个人对同一份电子公文进行签名,即多重签名。 数字签名只能保证文档的完整性,却不能保证文档的机密性,所以要对传输 的文档进行加密。 要保证公文的真实性、完整性、抗抵赖性和机密性,可以对公文进行签 名和加密来达到。一般来说,公文的签名和加密应该满足以下的几个基本要 求: ( 1 ) 因为公文( 包括公文的附件) 存储格式的多样性( 比如纯文本格 式,w p s 格式,w o r d 格式等) ,公文的签名和加密的实现方法就必须能灵活地 支持各种不同的公文存储格式。 ( 2 ) 公文流转过程中可能经历修改、批复、不同部门盖章批准等等处 4 武汉理工大学硕士毕业论文 理,因此公文的签名和加密实现方法必须有效的支持对公文的更改和多重签 名。 ( 3 ) 对公文的部分加密和签名。但是,现有的签名和加密方案,如整体 式签名和加密、s m i m e 、基于o l e 技术的方案等,都存在一些问题,并不 能很好地满足上述公文的基本安全性需求。 1 3 3 电子公文流转的跨平台性 通常,公文的发布者和接收者可能分布在不同的地方和单位,他们的系 统环境可能并不相同,因此对公文的处理应该支持跨平台。在0 币c e 2 0 0 0 w o r d 上编辑的公文可能在o m c e 2 0 0 3w o r d 上表现形式等会有差异,如果不同的操 作系统、不同的编辑软件上得到的文档差异可能会更大。 采用x m l 文档来进行数据传输则可以很好的解决跨平台性。采用x m l 作为公文流转的好处有:x m l 易于扩充,可以根据需要定义新的标记;x m l 是结构化的文档,易于检索分类;x m l 可以方便的和数据库交互:x m l 在 不同的平台上获得了广泛的支持,开发工具丰富。 l - 3 4 研究的意义 研究基于安全x m l 的电子公文流转很有意义,主要体现在: ( 1 ) 解决电子公文的加密,包括部分加密,即只对敏感信息进行加密, 一份公文中可能存在多处部分加密。与传统的加密相比,加密速度将会更快, 因为只对敏感的内容进行加密。 ( 2 ) 解决电子公文的多重签名。对纸质公文而言,只需要加上不同部 分公章章印即可表示多部门发起的公文。但对电子公文而言,实现多重签名 就不是一件容易的事。研究将公文转换成x m l ,进而对x m l 进行多重签名 则可以达到纸质公文加盖多个章印的效果。 ( 3 ) 解决电子公文的安全流转,统一表现形式。 本课题的研究为电子政务的安全电子公文流转提供了参考模型。事实上, 本课题的研究成果也可以广泛用于电子商务,电子银行等场合。 众所周知,x m l 有望在不久的将来成为广泛采用的通用标准。所以研究 基于安全x m l 的电子公文流转是很有意义的。 武汉理1 二大学硕士毕业论文 1 4 当前研究现状分析 原始的多重签名过程:( 1 ) 将相同的整个文档的拷贝发送至每个签名 者:( 2 ) 签名者利用签名算法进行签名:( 3 ) 参与签名者的签名连接起来作为 文档的多重签名。这种模式签名和验证的效率都比较低,因为签名的大小 与参与签名的人数成正比,验证签名的时间等于独立地验证所有参与签名 者个人的签名时间的总和。因此,传统的多重签名应用模式存在如下局限 性:( 1 ) 互操作性差:一方面传统的数字签名产生的值是一些b a s e 6 4 编码, 并没有附带上下文信息,验证方无法从签名值获得摘要和签名的方法,只 有与签名方事先进行约定,否则无法验证签名。另一方面签名方将原始消息 与签名值进行合并,验证方必须提前了解合并的格式,否则同样无法验证签 名。( 2 ) 签名的效率低:虽然验证效率与单个签名是一样的,但签名时,需要 每个签名者对整个文档进行签名,所以效率低。( 3 ) 灵活性差:虽然可以基于 某种平衡策略,将文档细分为子文档,但难于保证子文档真正有意义。 1 9 8 3 年,i t a k u r a 和n a k 黝u r a 基于扩展的r s a 模式提出第一个多重签名 方案,该方案克服了原始的多重签名的缺点,实现了多重签名的大小与签名 者的个数是独立的、无关的,并且与单个签名长度一致。从那以后,不同的 多重数字签名方案相继被提出。根据签名过程的不同,传统的多重签名可以 分为2 类:有序多重数字签名和广播多重数字签名。多重数字签名方案包括 消息发送者、消息签名者和消息验证者;广播签名方案还包括签名收集者。 2 0 0 1 年,t z o n gc h e nw u 提出使用文档分解实现授权多重签名模式,允许签 名者对他们负责任的子文档签名,提高了签名和通信的效率。由于在分解文 档时只是基于某些平衡策略和假设每个文档能被细分为子文档集,并没有利 用x m l 文档结构化特点,所以也就无法保证分解成的子文档是有意义的, 即该模式并不完全适合x m l 形式的电子公文。 而当前对文档部分加密的研究比较少,主要在多媒体图象处理时对图像 信息进行部分加密。 1 5 论文的体系结构 本论文内容的章节安排如下: 第1 章引言部分简介了手工公文和电子公文的特点、用x m l 表示公文 的优点、电子公文的安全性要性和跨平台要求。论述了安全x m l 的电子公 武汉理工大学硕士毕业论文 文流转的意义,及国内外对此研究的现状。 第2 章对x m l 作了比较全面的介绍,为论文后续阶段要用到x m l 作了 铺垫。 第3 章首先简介了j a v a 操作w o r d 的各种开发包,它们都是基于桥的方 式来操作w o r d 的。其次,介绍了v b a 技术,并将它与v b 进行了比较。接 着,介绍了怎么用v b a 操作w o r d 模型,并利用v b a 技术将w o r d 文档转 换为x m l 文档。最后,基于w o r d 2 0 0 3 对x m l 的支持,介绍了怎么根据自 定义的x m l 模式在w o r d 2 0 0 3 里创建自己的x m l 文档。 第4 章对信息安全基础做了一个简要的介绍,结合本论文要用到的知识 点,首先对x m l 安全的重要性做了简介,对比了x m l 签名加密与传统的签 名加密的不同;其次,对加密签名的基础作了较为全面的论述,介绍的各内 容都是在设计和实现模型时要用到的知识点。最后,介绍了j c e 基础,讲解 了在j a v a 平台里怎么注册新的安全提供者,以便使用安全提供者实现的安全 算法。 第5 章对x m l 签名加密规范做了详细的介绍,本章是实现x m l 签名加 密的理论来源。在讲述完蛆l 签名加密语法之后,对x m l 签名加密的处理 过程作了详细的说明。只有在深入学习和理解了本章的内容基础上,才可能 对x m l 签名加密有全面的理解。论文提出模型的实现用到的 a p a c h e x m l s e c u r i t y j1 2 1 开发包就是基于本章所讲的x m l 签名加密规范面 实现的开源包。 第6 章提出了安全公文系统模型,并对它进行了实现。实现主要分为四 个模块。第一模块是基于w o r d 2 0 0 3 创建x m l 公文,或者新建x m l 公文; 第二模块是对第一模块产生的x m l 公文进行部分或者多重签名加密,从而 来实现对公文的部分多重签名加密;第三模块是对第二模块中产生的x m l 密文进行签名验证和解密,得到x m l 明文,验证签名就可以知识验证的内 容是否来自于声称者;第四模块是对第三模块解密后的内容进行显示,也就 是将x m l 文档显示成、o r d 文档或者是h t m l 形式。本章还对x m l 的显示 做了介绍,特别是w o r d 形式的显示。 第7 章结论部分对论文工作作了总结和展望。 武汉理工大学硕士毕业论文 第2 章x m l 基础简介 本论文用x m l 来表示电子公文,涉及到对电子公文结构的定义、电子公 文的表示和对电子公文的操作,所用到的关于x m l 基础方面的知识在本章 将做简要的介绍。本章主要介绍x m l 的d t d 、s c h e m a 、样式单和x m l 应 用程序接口。对x m l 公文进行查询等操作时涉及到查找x m l 中某些符合条 件的节点,用x p 8 t h 能很好的解决。x p a t h 是一种用于寻址x m l 文档内容 的语言,在本章也将作简介。 2 1x m l 基础 x m l ( e x t e n s i b l em a r k u pl a n g u a g e ) 是由s g m l ( s t a i l d a r dg e n e r a l i z e d m a r k u pl a n g l l a g e ) 和h t m l ( h y p e n e x tm a r k u pl a i l g u a g e ) 二者派生的语言。 x m l 最重要的特征是:被标记的各个数据是保持其含义的,因此系统间交换 数据的可能性极大提高。x m l 最基本的概念是:结构化标记数据,实现了“文 档结构化”的语言规范。 x m l 自推出以来,尤其是在1 9 9 8 年2 月成为w 3 c 推荐标准以来,受到 了广泛的支持。各大软件厂商如i b m 、m i c r o s o n 、o r a c l e 、s u n 等都积极支 持并参与x m l 的研究和产品化工作,先后推出了支持x m l 的产品或者将改 造原有的产品以支持x m l ,w 3 c 也一直致力于完善x m l 的整个理论体系。 现在x m l 已经应用在很多的领域了,特别是应用在数据交换、w e b 服务、 内容管理、w e b 集成、各种配制文件方面。 本论文采用x m l 来表示电子公文,x m l 是将显示和数据分离的,x m l 文档应该出现什么标记、在哪里出现标记、标记的顺序怎样等都由x m l 的 语法规则来定义。语法规则文件有两种:d t d ( d o c u m e n tn 巾ed e f i n i t i o n 文 档类型声明) 或x m ls c h e m a 。x m l 文档的显示由x s l 或c s s 来定义。而 对x m l 文档的处理则是通过x m l 应用程序接口来实现的,对x m l 的处理 有两种应用程序接口:d o m 和s a x 。 武汉理工大学硕士毕业论文 2 2x m l 语法规则定义 定义x m l 语法规则有两种方法:种方法是使用文档类型定义 ( d o c u m e n tt y p ed e f i n i t i o n ) ,或简称d t d 。d t d 定义可以在x m l 文档 中出现的元素、这些元素出现的次序、它们可以如何相互嵌套以及x m l 文 档结构的其它详细信息。d t d 是最初的x m l 规范的一部分,与s g m l d t d 非常相似。另一种方法是使用x m ls c h e m a ( 模式) 。模式可以定义 能在d t d 中使用的所有文档结构,它还可以定义数据类型和比d t d 更复 杂的规则。w 3 c 在提出最初的x m l 规范的几年之后开发了x m ls c h e m a 规范。 2 2 1d t d d t d 的出现赋予了x m l 文档可扩展性、结构性和可验证性。正因为如 此,x m l 才一具备了类似于数据库的一些性质。d t d 并不是x m l 文档必须 的成份。具有d t d 的x m l 文档称作有效( v a l i d ) ,否则就是格式良好 ( w c l l f o m e d ) 。 随着x 】l 应用领域不断扩大,d t d 的一些不足也暴露 出来了。比如,x m l 和d t d 使用不同的语法;其语法不支持复杂的数据类 型和名称空间:用d t d 表示某些类型的文档结构困难等。 2 2 2x m ls c h e m a 使用x m l 模式,会有更多的能力来定义什么样的x m l 文档是有效 的。它们与d t d 相比有几个优势: ( 1 ) x m l 模式使用x m l 语法。换句话说,x m l 模式是一个x m l 文档。这意味着可以象处理任何其它文档一样处理模式。例如,可以编写 个x s l t 样式表,该样式表将x m l 模式转换成具有自动生成的j a v a s c r i d t 代码的w e b 表单,其中的j a v a s c r i p t 代码可以验证输入的数据。 ( 2 ) x m l 模式支持数据类型。尽管d t d 确实支持数据类型,但很 明显这些数据类型是从发布的角度开发的。x m l 模式支持d t d 中的所有 原始数据类型( 诸如标识和标识引用之类的类型) 。它们还支持整数、浮点 数、日期、时间、字符串、u r l 和其它对数据处理和验证有用的数据类型。 ( 3 )x m l 模式是可扩展的。除了x m l 模式规范中定义的数据类型 以外,还可以创建自己的数据类型,并且可以基于其它数据类型派生出新的 武汉理工大学硕士毕业论文 数据类型。 ( 4 ) x m l 模式有更强的表达能力。例如,可以用x m l 模式定义任 何 属性值不得超过2 个字符,或定义任何 元素的值 必须与正则表达式 o 9 】 5 ) ( 【0 9 】 4 ) ? 相匹配。但无法用d t d 做这些事。 2 _ 3x m l 显示规则定义 可扩展的样式语言( e x t e n s i b l es t y l el a i l g l l a g ex s l ) ,是专门用于x m l 文 档的样式语言。x s l 文档本身就是结构完整的x m l 文档。x s l t 是x s l 的 转换部分( x s lt r a n s f 0 h n a t i o n ,x s l t ) ,它主要用来识别x m l 文档,以便 使用样式。x s l t 的弹性相当大,允许进行大多数x m l 中的转换排序和组织 工作,而不需要编写自己的程序代码。一般根据元素显示的先后关系编写 x m l 的转换规则。x p a t h 是用来帮助x s l t 在x m l 源文档中查找定位信息 的语言。 相应为h t m l 设计的是c s s ( c a s c a d i n gs t y l es h e e t s ) 级联样式单。c s s 也 可以用于x m l 。它定义字号、字族、字重、段落缩进、段落对齐和其他样式 等格式化属性,这些属性都可以施加到个别的元素上。例如,c s s 允许h t m l 文档来指定所有的h l 元素,应该被格式化为3 2 磅、中间对齐的h e l v e t i c a 字体的粗体。单独的样式可以施加到大多数h t m l 标记上,它能够覆盖浏览 器的缺省设置。多个样式单可施加到一个文档上,而多个样式也可用于单个 元素上。样式根据特定的一套规则级联起来。 c s s 只能改变特定元素的格式,也只能以元素为基础。但x s l 样式单可 以重新排列元素,并对元素进行重排序。这种样式单可以隐藏一些元素,而 显示另外一些元素,更进一步说,还可以选择应用样式的标记。它不仅是基 于标记的,而且还基于标记的内容和特性、基于标记在文档中相对于其他元 素的位置以及基于各种其他的准则。 2 4x p a t h 介绍 x p a t h 是一种用于寻址x m l 文档内容的语言。x p a t h 可应用于不止一个 的标准,因此w 3 c 将其独立出来作为x s l t 的配套标准颁布,它是x s l t 以及 x p o i n t e t 的重要组成部分。 通过使用x p a t h 表达式,开发人员可以轻而易举地标识出x m l 文档中 1 0 武汉理工大学硕士毕业论文 的节点,以进行进一步的处理。这使得利用简单的声明表达式替换复杂的遍 历算法成为可能。例如,以下表达式将标识出所有为i n v o i c e 根元素后代且 s k u 属性值为1 2 3 的“n e i t e m 元素的子元素:i n v o i c e s k u l i n e n e m = ”1 2 3 ”1 + 。利用传统的x m l a p i 编写同样的逻辑,将是一项冗长乏味且充 满艰辛的工作。因此,x p a t h 通常会被作为如今各种a p i 实现( 如d o m 、 x p a t h n a v i 卫a t o r 、x a l a i l 、x p a t h a p i 等等) 中的层次服务而受到支持。例如, n o d e “s tc u rn o d e “s t = x p 砒a p i s e l c c t n o d e l i s t ( d o c ,”+ d e s = y n 表示得 到文档d o c 中所有属性值d e s 为y 的元素。 ,拙除了提供一套定位语法之外,还包括一些函数,它们提供基本的数 字运算、布尔运算和字符串处理功能。x p a t h 使用一个紧凑的、非x m l 的语 法来方便实现x p a t h 在x m l 属性值中的使用,它基于x m l 文档的逻辑结构, 在该结构中进行导航。除了用于定位,x p a t h 自身还有一个子集能用于进行 匹配,它能验证一个节点是否匹配某个模式。x p a t h 把一个x m l 文档看成一 个树或节点的模型。节点的类型可以有多种,包括元素节点、属性节点和文 本节点。 x p a t h 的基本语法由表达式构成。在计算表达式的值之后产生一个对象, 这种对象有以下四种基本类型:节点集合、布尔型、数字型和字符串型。表 达式的计算依据上下文的出现,x s l t 和x p o i n t e r 中分别规定了x p a t h 表达式 将在怎样的情况下出现。这些上下文的关系包括:节点、一对正整数( 表明位 置和大小) 、一套变量绑定集合、函数库以及规定表达式范围的名字空间域声 明。其中,变量绑定是从标量名称到变量值的映射。变量的值是一个对象, 可以是表达式可能得到的各种类型,也可以是其他没有规定的类型。在函数 库中,每个函数有零个或多个参数,并返回一个结果。x p a t h 定义了所有支持 工具都必须实现的核心函数库。其中的函数的参数和结果都是上面涉及的四 种基本类型。当然x s u 和x p o i n t e r 中还对x p a t h 的核心函数库进行了扩展, 有些函数的参数和返回结果数据类型超出了四种基本类型。 x p a t h 基本上和在文件系统中寻找文件类似,如果路径是以”开头的,就 表明该路径表示的是一个绝对路径,这和在u n i x 系统中关于文件路径的定义 是一致的。当然x p a m 本身有一套完整的语法说明,详细的语法介绍可以参考 h t t p :w w w w 3 o r g t r x p a t h 。 武汉理工大学硕士毕业论文 2 5x m l 应用程序的接口 为了将应用程序与x m l 文档结合在一起,w 3 c 和x m l d e v 邮件列表 成员分别提出的两个标准应用程序接口:d o m 和s a x 。图2 1 给出d o m 和s a x 在应用程序开发过程中所处地位的示意图。 , , 一一一。一i l 拭 l 、j 一苌沁 x m l 。# 爹 x m l ,5 ! 7 l 一 x m l ; 分析 h 、r j 文档 应用 一 = | 。s a 接口9 彭乡 罄 罗 女 程序 i i 图2 1d o m 和s a x 从图2 一l 中可以看出,应用程序不是直接对x m l 文档进行操作的,而 是首先由x m l 分析器对x m l 文档进行分析,然后,应用程序通过x m l 分 析器所提供的d o m 接口或s a x 接口对分析结果进行操作,从而间接地实现 了对x m l 文档的访问。 如前所述,之所以要制定一个接口标准,是为了给x m l 应用程序的开发 带来方便,使得应用程序可以根据需要随时选择、更换合适的分析器,同时 又无须对程序本身做大的改动。既然接口需要统一,为什么现在还有两个接 口标准共存呢? 这两个标准之间又存在什么关系呢? 事实上,d o m 和s a x 两个接口标准之所以能够并存,就是因为它们所要实现的目标不同。d o m 和 s a x 分析器在接口实现过程中分别侧重于不同的方面,二者各有长短,分别 满足了不同的应用需求。下面先分别对两种标准进行简要介绍。 2 5 1 文档对象模型d o m d o m 的全称是d o c u m e n to b j e c tm o d e l ,也即文档对象模型。在应用程序 中,基于d o m 的x m l 分析器将个x m l 文档转换成一个对象模型的集合 ( 通常称d o m 树) ,应用程序正是通过对这个对象模型的操作,来实现对 x m l 文档数据的操作。通过d o m 接口,应用程序可以在任何时候访问x m l 文档中的任何一部分数据,因此,这种利用d o m 接口的机制也被称作随机 访问机制。d o m 接口提供了一种通过分层对象模型来访问x m l 文档信息的 方式,这些分层对象模型依据x m l 的文档结构形成了一棵节点树。无论x m l 文档中所描述的是什么类型的信息,即便是制表数据、项目列表或一个文档, 武汉理工大学硕士毕业论文 利用d o m 所生成的模型都是节点树的形式。也就是说,d o m 强制使用树模 型来访问x m l 文档中的信息。由于x m l 本质上就是一种分层结构,所以这 种描述方法是相当有效的。 2 5 2x m l 简单应用程序接口 s a x 的全称是s i m p l ea p i s 颤x m l ,也即x m l 简单应用程序接口。与 d o m 不同,s a x 提供的访问模式是一种顺序模式,这是一种快速读写x m l 数据的方式。当使用s a x 分析器对l 文档进行分析时,会触发一系列事 件,并激活相应的事件处理函数,应
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 工作中如何提高专注力和时间利用率
- 工业自动化技术的前沿进展
- 工业自动化技术的发展及市场应用
- 工作中的决策能力与执行力培养
- 工业设备能效优化策略
- 工业领域安全防护系统设计
- 工作繁忙人士的健康膳食建议
- 工作流程优化及资源管理方法
- 工厂设备选型与采购策略培训
- 工程测量中的遥感技术应用分析
- 逻辑学七道试题及答案
- 2025年中国高压水除鳞系统行业市场现状及未来发展前景预测分析报告
- 积分落户劳动合同协议
- 辽宁沈阳副食集团所属企业招聘笔试题库2025
- 2024-2025湘美版六年级下册美术期末考试卷及答案
- AI助力市场营销自动化及优化策略研究
- 2025年湖北省中考生物模拟试题七
- 主扇风机操作员培训课件
- 2025年福建省龙岩市中考数学模拟卷(含答案)
- 高考英语读后续写:三大主题语境结尾金句
- 微信授权协议书范本
评论
0/150
提交评论