(计算机应用技术专业论文)基于xml的文档处理技术研究.pdf_第1页
(计算机应用技术专业论文)基于xml的文档处理技术研究.pdf_第2页
(计算机应用技术专业论文)基于xml的文档处理技术研究.pdf_第3页
(计算机应用技术专业论文)基于xml的文档处理技术研究.pdf_第4页
(计算机应用技术专业论文)基于xml的文档处理技术研究.pdf_第5页
已阅读5页,还剩84页未读 继续免费阅读

下载本文档

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

文档简介

摘要 摘要 本文主要探讨基于x m l 的字处理文档格式转换技术。由于x m l 本身具有 开放性和扩展性的特点,越来越多办公文档格式逐渐采用x m l 来描述,如u o f 和o p e n x m l 等。文档信息要能够正确交换,保证文档的安全性和可靠性,文档 格式的转换成为亟待解决的问题。本课题主要研究u o f 与o p e n x m l 格式之间 字处理部分的相互转换。 本文首先分析了u o f 和o p e n x m l 格式的相同点和异同点。根据u o f 和 o p e n x m l 格式的特点,综合考虑各类文档转换方法的优缺点,设计并实现了一 个u o f 和o p e n x m l 格式转换器。转换器采用四层体系结构,基于n e t 平台和 x s l t 转换语言,提供u o f 与o p e n x m l 格式的字处理文档之间的双向转换。 根据两种格式的结构差异,在转换器的核心组件设计方面,本文提出了采取预 处理、主转换和后继处理相结合的转换思路,并成功实现了此转换器。 本课题的转换器为u o f 与o p e n x m l 格式文档的相互转换提供了一条有效 途径,用户能够自由选择文档的格式,有助于保障文档的安全性和可靠性,同 时有利于中文办公软件文档格式标准的应用推广。 。 关键字:u o f ;o p e nx m l ;字处理文档格式;格式转换 a b s t r a c t a b s t r a c t t h e p a p e r d i s c u s s e st h e t r a n s f o r m a t i o n t e c h n o l o g y o fx m l b a s e d w o r d p r o c e s s i n gd o c u m e n tf o r m a t s w i t hm a n ya d v a n t a g e st h a tx m lh a s ,s u c ha s o p e n n e s sa n de x t e n s i v e n e s s ,m o r ea n dm o r ew o r d p r o c e s s i n gd o c u m e n tf o r m a t sa l e b a s e do nx m l ,e g ,u o f , o p e nx m la n do d e i no r d e rt oe x c h a n g ed o c u m e n ti n f o r m a t i o nc o r r e c t l ya n dt oe n s u r et h es e c u r i t y a n dr e l i a b i l i t yo ft h ed o c u m e n t s ,t r a n s f o r m a t i o no fd i f f e r e n td o c u m e n tf o r m a t s b e c o m e sn e c e s s a r y t h i sr e s e a r c hf o c u s e so nt h eb i - d i r e c t i o n a lt r a n s f o r m a t i o n b e t w e e nu o fa n do p e nx m lf o r m a t f i r s t ,t h ea n a l y s i so fu o fa n do p e nx m l f o r m a th a sb e e nm a d e ,i n c l u d i n gt h e s i m i l a r i t i e sa n dd i f f e r e n c e sb e t w e e nt h et w of o r m a t si nt h e i rs t r u c t u r ea n df u n c t i o n s a f t e ri n v e s t i g a t i n gi n t ot h ex m lt r a n s f o r m a t i o nt e c h n o l o g yc u r r e n t l yu s e d ,a n u o f o p e nx m l t r a n s l a t o ri s i m p l e m e n t e d ,w h i c hc a np e r f o r mt h eb i d i r e c t i o n a l t r a n s f o r n lb e t w e e nu o fa n do p e nx m lf o r m a t t h et r a n s l a t o ri sc o n s i s t so ff o u r p a r t s :e x t e r n a ll i b r a r i e s ,c o m m o nl i b r a r i e s ,e n du s e rp r o g r a m sa n ds e t u pp r o g r a m s b a s e do nt h es t r u c t u r a ld i f f e r e n c e sb e t w e e nu o fa n do p e nx m l ,at r a n s f o r m m e t h o dw h i c hi su s e dt oc o n s t r u c tt h ec o r ec o m p o n e n ti sp r o p o s e di nt h i sp a p e r , i n c l u d i n gt h et h r e es t a g e s ,i e ,p r e p r o c e s s i n g ,m a i np r o c e s s i n ga n dp o s t p r o c e s s i n g t h et r a n s l a t o rp r o v i d e st h eu s e r sac o n v e n i e n tw a yt ot r a n s f o r mt h ed o c u m e n t si n b o t hu o fa n do p e nx m lf o r m a t t h e r e f o r eu s e r sc o u l dc h o o s ea r b i t r a r yf o r m a t s ,b y t h i sw a yt h es e c u r i t ya n dr e l i a b i l i t yo ft h e i rd o c u m e n t sc a nb em a i n t a i n e d m e a n w h i l e , t h er e s e a r c hr e s u l tc o u l db ev e r yh e l p f u lt ow i d e l ya d o p t i o no fu o fs t a n d a r d k e yw o r d s :u o f ;o f f i c eo p e nx m l ;w o r d - p r o c e s s i n g ;d o c u m e n t f o r m a t t r a n s f o r m a t i o n i i 学位论文版权使用授权书 本人完全了解北京机械工业学院关于收集、保存、使用学位论文 的规定,同意如下各项内容:按照学校要求提交学位论文的印刷本和 电子版本;学校有权保存学位论文的印刷本和电子版,并采用影印、 缩印、扫描、数字化或其它手段保存论文;学校有权提供目录检索以 及提供本学位论文全文或者部分的阅览服务;学校有权按有关规定向 国家有关部门或者机构送交论文的复印件和电子版;在不以赢利为目 的的前提下,学校可以适当复制论文的部分或全部内容用于学术活动。 学位论文作者签名:南务垒 譬年1 月 垆日 ( 注:非保密论文无需签字) 经指导教师同意,本学位论文属于保密,在年解密后适用 本授权书。 指导教师签名:学位论文作者签名: 年月日年月日 硕士学位论文原创性声明 本人郑重声明:所呈交的学位论文,是本人在导师指导下,进行 研究工作所取得的成果。除文中已经注明引用的内容外,本学位论文 的研究成果不包含任何他人创作的、己公开发表或者没有公开发表的 作品的内容。对本论文所涉及的研究工作做出贡献的其他个人和集体, 均已在文中以明确方式标明。本学位论文原创性声明的法律责任由本 人承担。 签名:7 j 槛 柳墨年1 月 第1 章引言 1 1 选题背景 第1 章引言 随着微型计算机的普及和办公自动化的发展,纸质文档都在逐步地向电子 文档迁移。目前日常办公常用的电子文档有字处理、电子表格和演示文稿三类, 其中字处理文档使用尤为广泛。字处理文档种类很多,从采用二进制格式描述 的文档如w o r d t l 】到基于x m l 语言描述的文档如o d f 2 1 ,从批处理编辑系统生 成的文档如t e x t s n 可视化编辑系统生成的文档如e i o 4 1 ,文档格式在描述信息 的数量上和描述的方式上都得到了丰富和发展。对字处理文档格式的相关研究 已经在很多领域得到开展【5 ,6 1 ,然而,随着用户对字处理文档的扩展性、安全性 和文档的智能化方面的要求,字处理文档格式还有许多值得研究探讨的地方 7 q o j , 如对未来文档格式的研科1 1 】等。本课题主要针对字处理文档之间的可转换性进 行研究。 过去字处理文档通常是具体文档编辑系统的产物,保存用户编辑的数据以 及显示效果。文档的格式由系统开发人员根据系统需求定义,格式的具体内容 不对外公布。以微软的字处理软件w o r d 为例,从微软公司1 9 9 0 年推出第一 个版本的w o r d 至今历经若干个版本的变迁,直到现在广泛使用的w o r d 2 0 0 3 , 除了w o r d 2 0 0 3 支持的部分w o r d m l 格式【1 2 】之外,其余格式没有对外公开过。 同样,国内办公软件厂商也都采用内部定义的文档格式描述自己产品生成的文 档,这些文档格式同样都未对外公开。封闭的文档格式给文档的安全带来了如 下隐患: 首先,文档信息的可靠性无法保证。用户无从判断文档保存的信息是否就 是自己真正保存的内容;文档信息可能在软件版本更替时产生解析不一致的问 题,导致用户信息的失真,用户无法挽回其中的损失。其次,文档的兼容能力 差,文档格式的私有性导致其余软件对文档的解析准确性无法把握,存在解析 错误的风险。再者,文档的保存周期短,文档的生命周期受到格式制定组织的 制约,一旦这个组织不再支持此格式,文档的信息面临无法解析的困境。因此, 文档格式走向开放成为广大用户的共识。 第1 章引言 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 ) 语言【1 3 】的出现使得文档格式的开放成 为可能。x m l 是由w 3 c 制定的可扩展置标语言,通过一系列可以自定义的标 记描述用户数据。x m l 语言具有开放、可扩展的特点,标记的名称、含义和结 构都可以由用户根据自己的需求来定义。x m l 语言不仅支持用户数据的灵活表 述,同时在数据表现方面也具有多样性,用户数据可以通过转换的方式1 1 4 j 产生 多种表现形式。 用x m l 语言描述字处理文档格式有很多优点。首先,x m l 语言是国际标 准,其语法规则为世人所知,且简单易懂。其次,x m l 语言的扩展功能能够支 持办公文档复杂多样的格式信息,用户可以根据自己的方式定义文档格式的结 构和具体的元素,只要符合基本的x m l 语法结构。其次,x m ld t d 和s c h e m a 1 5 j 规范可以保证数据有效性,对数据的结构、元素内容和属性取值进行有效性验 证。再者,x m l 语言可以通过转换语言或者解析的方式做到不同x m l 文档之 间的转换,不同格式的文档可以通过这种方式实现文档信息的相互交换1 1 6 1 。目 前,已有许多文档格式采用x m l 语言描述。 o f f i c eo p e nx m l ( o p e n x m l ) 格式【l7 j 是微软向欧洲计算机制造联合会 ( e c m a ) 提交的基于x m l 语言描述和z i p 打包规范【l 8 】的文档格式规范,目前已 经提交给国际标准组织( i s o ) 准备申请成为国际标准。格式规定一个文档容器 由多个部件组成,每个部件描述了文档的不同部分,除了少数代表图形的二进 制文件或内嵌o l e 对象,大多数部件采用x m l 文件形式,包含了客户数据信 息,这些部件相互之间通过关系协同工作【1 9 1 。o f f i c eo p e nx m l 格式基本上覆盖 了o f f i c e2 0 0 7 的各个基本功能,如w o r d 的w o r d p r o c e s s i n g m l 、e x c e l 的 s p r e a d s h e e t m l 、p o w e r p o i n t 的p r e s e n t a t i o n m l 等,同时也增加了用于矢量图形 ( d r a w i n g m l 和v m l ) 、文件属性、参考资料、数学元素、自定义x m l 数据属 性等的支持包【2 0 】。o 岱c eo p e nx m l 已成为微软o f f i c e2 0 0 7 的默认格式。 统一办公文档格式( u n i f o r mo 街c e d o c u m e n tf o r m a t ,u o f ) 是由国家标准 制订部门联合国内著名办公软件厂商、研究机构和高校,共同制定的自主产权 的中文办公软件文档格式规范。u o f 文档格式标准定义了基于x m l 的中文办公 文档格式规范【2 ,目前主要描述了办公文档的文字处理、电子表格和演示文稿 三个部分【2 2 】。u o f 将这三个部分集成在一个x m l 文件中,它们有共同的元数 据描述了文档的属性信息,通过式样集描述这三个部分中用到的字体式样,旬 式样,段落式样和对象式样等可共享的式样。其后u o f 分别描述了文字处理, 2 第1 章引言 电子表格和演示文稿的结构。其中文字处理部分定义了文字处理的公用规则与 主体部分。公用处理规则记录了文档的视图、缩放等文档的设置信息、用户信 息集、还有对文档的修订和批注信息。主体部分描述了文字处理的分节、逻辑 章节、段落和文字表信息。u o f 数字签名部分用于支持文档的安全性;扩展区 用于办公软件对u o f 格式的扩展。 文档格式除了微软o f f i c eo p e nx m l 格式和u o f 格式之外,影响比较大的 还有国际标准办公应用程序开放文档格式( o p e nd o c u m e n tf o r m a tf o ro f f i c e a p p l i c a t i o n s ,o d f ) 格式【2 】。o d f 基于x m l 语言和o p e n o f f i c e o r g 的文档格式, 主要用来存储和转换可编辑的办公文档,包括文本文档、电子数据表格、图表 以及陈述文件等。o d f 文档可以采用单文档或多文档两种形式存储,多文档形 式同o p e n x m l 类似基于z i p 打包压缩规范。 x s l f o ( e x t e n s i b l es t y l e s h e e tl a n g u a g ef o r m a t t i n go b j e c t s ,可扩展式样表 语言格式化对象) 瞄】是一种使用x m l 定义的表示语言,是x s l 的一部分,定 义了x m l 转换与格式。x s l f o 文档包括两个重要的部分,一是列出页面布局 的细节,二是以置标语言描述的文档数据,根据不同的页面布局确定如何在不 同的页面上摆放内容。同时,x s l f o 还能处理多栏、列表、表格和文本方向控 制等功能。 基于x m l 语言描述的文档格式种类的不断增加,有力验证了x m l 语言的 在文档格式描述上的可行性,可以满足用户对文档格式信息公开的要求,长期 以来文档格式的相互封闭的情况将得到改善。同时,基于x m l 的开放文档格式 规范为中文办公软件的发展提供了契机。基于x m l 的开放文档格式规范有助于 提高办公软件互操作能力,办公软件厂商可以采用u o f 作为文档的默认格式, 或者各厂商采用u o f 格式作为中间格式,通过u o f 实现各厂商格式之间的相 互转换。 但是,微软o f f i c e 是世界范围内普遍使用的办公软件之一,具有广泛的使 用人群和使用基础,它的界面和操作模式为世人所熟知,已成为一个事实上的 标准,日前,o f f i c e 2 0 0 7 所采用的格式o p e n x m l 正在申请成为i s o 国际标准。 这样就带来了u o f 与微软办公软件文档格式的相互转换的要求。 3 第1 章引言 1 2 课题主要工作及意义 本课题首先调研国内外字处理文档格式的发展现状,以及相关系统应用; 同时,了解与本课题相关的x m l 转换技术的发展以及目前已出现的一些应用。 接下来重点分析u o f 格式和o p e n x m l 格式的描述结构,找出它们之间的异同; 根据两者结构的差异,制定双向转换的解决方案。根据选择的方案进行需求分 析,设计转换器系统结构,重点实现关键功能点的转换。为方便格式的分析比 较,还提出了一套形式化描述的适合文字处理的文档模型。 通过本课题对u o f 与o p e n x m l 格式之间的转换关系的研究,可以实现文 档格式的互联互通。目前,除了o p e n x m l 正在申请成为国际标准,o d f 开放 文档格式已经成为了国际标准。o d f 与o p e n x m l 格式之间的转换已经成为现 实,另外由i b m 资助的u o f 与o d f 格式的转换已由北京大学计算机学院实现。 如果现实了u o f 与o p e n x m l 的转换,那么这三个格式上的转换将全部实现, 用户可以直接转换这三种格式的文档,实现了真正意义上的互联互通。如图1 1 所示。 图1 1 文档格式之间的互联互通 u o f 与o p e n x m l 格式之间转换不仅可以使用户已有的微软o f f i c e 文档以 国家标准的方法保留下来,不必担心由于办公软件的更替而带来的文件信息丢 失或无法打开等问题;还解决了国内办公文档格式与o p e r i x m l 格式之间的转换 问题,为国内办公文档格式与o p e n x m l 格式的交换建立了一座可靠的桥梁。它 也将推动中文办公文档格式标准的推广实施。 4 第1 章引言 1 3 论文结构安排 论文首先以文档格式发展为背景,介绍几种主要的基于x m l 语言的文档格 式,阐述文档格式之间的相互交换的重要性和迫切性。其次,介绍目前相关文 档格式转换技术和相关项目,论述文档格式交换的可行性。再者,分析u o f 和 o p e n x m l 的结构,总结归纳两者的异同,选取适合的转换方式,并详细论述转 换项目的整体结构,核心转换以及具体功能的转换模块。最后在附录中介绍字 处理文档模型以及u o f 和o p e n x m l 的模型描述形式,辅助两者格式的分析研 究。 1 4 创新 本项目创新点包括: 1 ) 针对u o f 和o p e n x m l 格式整体结构差异,提出了有效的预处理、主转 换和后继处理相结合的整体转换思路和方法,并成功实现了整体结构的 转换。 2 ) 针对u o f 和o p e n x m l 格式结构差异较大的功能点,提出了有效的转换 思路与实现方法,首次成功实现了字处理关键功能点的转换。 3 ) 与同类项目相比,本课题研制的转换器在转换能力和转换效率上取得了 较好的结果。 4 ) 提出了一种适用于字处理文档的模型。通过形式化描述,可以比较准确 地反映不同文档描述结构的共同点和差异性,可作为文档格式分析的基 础。 5 第2 章基于x m l 的文档处理相关技术研究 第2 章基于x m 的文档处理相关技术研究 2 1 文档格式研究 早期的文档主要用于保存用户的私有数据,不涉及文档排版,其格式也是 通用的格式。可视化操作系统的出现带来了文档编辑的可视化要求,越来越多 的用户开始注重文档格式的编排,因此,文档格式除了描述用户数据信息,还 需要记录文档的排版信息。文档内容、排版信息的表述具有层次性:内容信息 的描述主要记录用户数据;版面信息的描述主要从段落、节、表格等格式上描 述格式数据;页面信息的描述主要记录信息在页面上的排版方式。一篇文档从 添加用户数据到用户数据的格式化过程再到页面排版打印这一流程正好符合上 面的层次描述的过程。文档的版面描述主要采用面向逻辑内容的描述方式,如 节、段、句、列表、脚注和文字表等;文档的页面描述主要采用面向显现式样 的描述方式,如页边距、分栏、页眉页脚和行距字距等。文档的版面描述到页 面描述存在某种对应关系,目前已有许多文献对其相关性进行研究【2 4 】。本课题 所研究的文档格式主要从文档的逻辑结构着手,重点考察文档内容和格式的排 版结构。 目前,文档信息的描述有多种形式。t x t 纯文本格式是只保存文本内容。 没有任何格式信息的纯a s c i i 码文本格式,用于数据在不同平台之间的传输。 r t f 格式【2 5 l 是早期微软提出的一种字处理格式,由控制字、控制字符和无格式 的纯文本构成。r t f 文件头记录了文本的字体,表格风格等格式化信息,同时 文本正文可以通过直接嵌入或o l e 对象链接两种方式插入图片。o d i f l 2 6 j 是办公 文档交换格式的简称,是o d a 开放文档体系结构中表示文档交换的数据流格式, 描述了文档的逻辑客体和布局客体等数据流交换规则。d o c b o o k l 2 7 】是基于 s g m l 2 8 x m l 语言的文档格式,此格式只描述了文档的结构信息,支持图片、 超级链接、索引等功能,适合编写文章、书籍、技术文档和用户手册等。 2 2 文档格式与办公软件 6 第2 章基于x m l 的文档处理相关技术研究 用户编辑或保存采用某种格式描述的字处理文档一般采用自动化文档处理 软件来实现,这类软件一般被称为办公软件。办公软件通常可以支持一种或多 种文档格式,这些文档格式可以是国际通用的文档格式,也可以是基于软件本 身描述的专有格式。 通用文档格式独立于办公软件存在,这类文档格式由于其开放的特点,在 许多领域广泛使用,一般办公软件都会实现对其支持,如t x t 、h t m l 等。专 有文档格式则与办公软件紧密结合,通常专有格式与某类办公软件一一对应, 是专为这类办公软件描述的文档格式。如d o c 格式就是微软针对其字处理文档 w o r d 的专有格式。 目前文档格式的种类多种多样,这些不同格式的字处理文档如果想要实现 互联互通,可以有两种实现方式。一种方式是建立一种通用的字处理文档格式, 所有的文档都采用这种标准的字处理文档格式来描述。这种方式需要将目前已 有文档重新用新的格式保存,耗费大量的时间和精力,只能在某个局部范围内 实现,统一所有字处理文档格式的做法不够现实。另一种方式是对主流文档格 式进行转换,通过文档之间的格式转换实现文档的互联互通。这种方式通过转 换器实现文档格式的交换,在保证用户已有文档不需要全部重新保存的情况下, 灵活地转换到其他文档格式,增加了文档的可交换性。这也是本课题的目标。 2 3 文档转换的一般方法 目前国内外对x m l 文档之间的转换使用比较广泛的方法有以下三种: ( 1 ) 利用s a x 解析器实现 s a x ( s i m p l e a p if o rx m l ) 解析器口9 1 采用的是基于事件的模型,通过一系 列事件访问x m l 文档中的信息。s a x 在解析开始之前,向x m l r e a d e l 注册一 个c o n t e n t h a n d l e r ,相当于一个事件监听器。解析时,s a x 解析器遍历整个x m l 文档,将当前遍历到的数据调入内存,当x m l r e a d e r 读到需要处理的内容,就 会抛出相应的事件,并把这个事件的处理权代理给c o n t e n t h a n d l e r ,调用相应的 方法进行响应。使用s a x 解析器的优势在于处理速度快,分析文档的过程就是 处理文档的过程,对于不需要深入解析和处理的文档而言,是个很好的选择。 s a x 解析器的顺序处理方式使得随机存取无法进行;另外,s a x 解析器的分层 7 第2 章基于x m l 的文档处理相关技术研究 访问机制限制了它访问当前元素的兄弟元素,灵活性不够。 采用s a x 解析x m l 办公文档处理速度快,占用内存少,但是访问当前节 点的同时无法访问前面已经访问过的节点,灵活性低。 ( 2 ) 利用d o m 解析器实现 d o m ( d o c u m e n to b j e c tm o d e l ) 2 9 】是文档对象模型的缩写。d o m 解析器首 先将整个x m l 文档装载入内存并进行解析,在内存中建立逻辑上的树形结构模 型,树的节点是一个个对象,包括元素、属性、注释、处理指令和文本。然后 遍历树形结构,对这些对象进行存取,从而得到x m l 文档的所有内容。d o m 解析的优势在于能够灵活地处理文档,对文档的内容和结构进行直接修改,且 由于d o m 将整个文档树放入内存,更适合对文档进行随机存取。然而,采用 d o m 的缺点在于占用内存资源大,当文档比较大时,处理速度将大大降低。 采用d o m 解析x m l 文档需要在内存存放整个d o m 树,遇到数据量巨大 或者结构复杂的文档占用内存资源过多。 ( 3 ) x s l t 式样单转换 x s l t ( e x t e n s i b l es t y l e s h e e tl a n g u a g et r a n s f o r m a t i o n ,可扩展样式单语言转换) p o 】可将源x m l 文档的内容转换为另一种格式或结构不同的文档。x s l t 定义了 一组转换规则,实现从一个输入产生一个输出。一个x s l t 式样单由一系列模板 组成,模板包含一个表达式,用于描述某些x m l 片段的形式,还包含一个或多 个元素,如果这个形式和源文档的内容匹配,那么这些元素就会被输出。这些 表达式采用x p a t h 技术帮助x s l t 在x m l 源文档中查找定位信息,通过路径定 位文档中需要表示的节点。x p a _ t l l 本质上是与具有层次结构的x m l 数据模型相 匹配的查询语言,可以匹配x m l 文档的任何元素与属性,还包括用于基本字符 串处理、数字计算和布尔运算的工具。 x s l t 同过程语言不同,它侧重于数据而非代码主体,它在数据内移动,直 到找到需要的内容,并且在找到后根据需要进行相关的处理。 2 4 相关研究项目 基于x m l 格式办公文档的转换本质上属于两个符合不同x m ls c h e m a 规范 的x m l 文档之间的转换。x m l 文档转换方式同样适用于两种办公文档格式转 换。 8 第2 章基于x m l 的文档处理相关技术研究 目前有关文档格式转换的项目主要有: ( 1 ) o d f - - - o p e nx m l 格式转换 2 0 0 6 年1 0 月,一个开源项目o d f a d d i n 。f o r - w o r d 2 0 0 7 1 3 1 1 推出了测试版, 其主要功能是帮助微软o f f i c e 2 0 0 7 用户打开o d f 格式文档,或将w o r d 文档 另存为o d f 格式。该转换器主要实现了o d f 与o p e n x m l 文档之间格式转换。 壁 图2 10 d f 转换器的整体结构 - 1 iex | e r i l a 产l i l ) la l i e s j i i l l e u h l i i b i a l i e s 【e n d i i s e - p i 0 9 r a n i s j 1 - s e t u p l l r o g l i n s j o d f 转换器的整体结构如图2 1 所示,是一个四层体系结构。其中z l i b 组 件提供了基本的z i p 包读写功能。o d fz i pu t i l s 组件提供了更高层次的处理z i p 文件的a p i ,并且提供了打包x m l 片段和外部二进制数据的方法。o d fc o n v e r t e r l i b r a r y 组件是转换器的核心部件,实现了o d f 的x m l 文件流到o p e n x m l 的 x m l 文件流的转换。该组件由一系列x s l t 转换式样单构成,实现了符合o d f 或o p e n x m l 格式的文档之间元素和属性的映射转换。o d fw o r d 2 0 0 7a d d i n 组 件为o d f 转换器提供了用户接口,在微软o f f i c e 菜单中添加转换相关的菜单和 对话框。o d fc o n v e r t e rt e s t 组件提供了转换o d f 文件和验证结果x m l 文件有 效性的命令行。o d fw o r d2 0 0 7s e t u p 组件实现了o d fa d d i nf o rw o r d2 0 0 7 插 件的安装。 ( 2 ) u o f - - o d f 文档格式转换 u o f o d f 转换器【3 2 】的目标是实现国家标准u o f 和国际标准o d f 文档格式 9 第2 章基于x m l 的文档处理相关技术研究 之间的双向转换,由北京大学实现。此转换器主要采用j a v a 语言中对x m l 文档 按s a x 方式进行处理,通过多轮s a x 解析实现文档格式的转换3 3 , 3 4 。图2 2 是 o d f 到u o f 方向解析流程。 图2 2o d f - u o f 转换结构图 以o d f - u o f 方向的转换为例,解析过程中将格式元素分为可直接转换、 可间接转换、不可转换三类,针对不同类型元素做不同处理;第一类元素直接 转换,第二类元素通过几轮解析获得必要信息进行转换,第三类元素写入扩展 区。 o d f 一 u o f 转换时,c o n v e r t e r 类四次调用转换h a n d l e r 进行文档格式解析。 第一步,c o n v e r t e r 类调用f i r s tc o n v h a n d l e r 对s o u r c ef i l e 文件解析,提取第二 步解析所需的信息,存储到s t o r e dd a t a ;第二步,c o n v e r t e r 类调用 s e c o n dc o n v h a n d l e r 对s o u r c ef i l e 文件解析,对可直接转换的第一类元素进行 直接转换,对第二类可间接转换的元素,结合s t o r e dd a t a 中的信息进行转换, 结果写入t e m p x m l ;第三步,c o n v e r t e r 类调用t h i r dc o n v h a n d l e r 对s o u r c ef i l e 文件解析,将第三类不可转换的元素写入t e m p x m l 扩展区;第四部,c o n v e r t e r 类调用t h i r d c o n v h a n d l e r ,为t e m p x m l 文件补充其他必要元素或属性。 ( 3 ) u o f _ x s l f o 转换器i 跖j u o f 格式是描述了面向逻辑内容的文档格式信息,而x s l f o 定义了打印 1 0 第2 章基于x m l 的文档处理相关技术研究 所需要页面信息。从u o f 向x s l f o 转换是文档从逻辑内容描述转向页面显现 描述的过程,转换的结果可以通过f o p 文档排版软件转换成p d f 格式,形成最 终用于排版或打印的文档。 图2 3u o f - ) x s l - f 0 转换结构 如图2 3 所示,u o f 到x s l f o 的转换采用x s l t 式样单转换的方式实现。 首先分析比对面向逻辑内容的u o f 格式以及面向页面显现的x s l f o 格式,找 出u o f 格式信息在x s l f o 中对应的表述形式,建立两者格式的相互对应关系。 根据对应关系,通过一系列处理不同功能的式样单对u o f 文档进行转换,得到 对应的x s l f o 文档。这些x s l f o 文档可以通过f o p 处理器中转换为p d f 格 式,用来验证转换的正确性。 基于x m l 的文档转换方法为本课题提供了可选择的转换途径,目前已出现 的格式转换项目所采用的技术路线为本课题的转换提供了方法参考。接下来, 本课题需要对文档格式进行具体分析,从而选取合适的转换路径。 2 5 小结 本章介绍了目前已有的一些文档格式以及文档格式与办公软件之间的关系, 并介绍了文档格式转换的一般方法,以及目前有关格式转换的项目。下一章将 分析u o f 和o p e n x m l 格式,为它们之间的转换做准备。 第3 章u o f 与o p e n x m l 格式分析 第3 章u o f 与o p e n x m k 格式分析 上一章讨论了与文档转换相关的技术和项目。这一章将对u o f 与o p e n x m l 两种格式字处理部分进行深入分析研究。 3 1u o f 与o p e n x m l 格式相同点 u o f 与o p e n x m l 格式都基于x m l 置标语言描述。u o f 格式除了图片等 采用二进制数据描述外,其余均以x m l 语言描述。o p e n x m l 格式同样除了部 分多媒体数据采用二进制数据描述外,其余皆采用x m l 语言描述。u o f 与 o p e n x m l 格式都描述了办公文档的基本内容。办公文档目前使用广泛的有文字 处理、电子表格和演示文稿,两者格式都详细描述了这三种类型的文档格式信 息。 u o f 图3 1u o f 与o p e n x l l 格式整体结构相同点 如图3 1 所示,u o f 与o p e n x m l 格式在字处理方面主要描述的功能点大致 相同。u o f 的元数据和o p e n x m l 的d o c p r o p s 都描述了便于文档检索的元数据 信息。u o f 书签集和链接集信息都能在o p e n x m l 的主体d o c u m e n t 文档中找到 对应部分。u o f 的式样集与o p e n x m l 的s t y l e s 和n u m b e r i n g 都描述了文档的式 1 2 第3 章u o f 与o p e n x m l 格式分析 样信息。u o f 对象集内描述的图形信息能在o p e n x m l 的d o c u m e n t 文档中找到 对应部分。公用处理规则中的批注集和用户集信息对应于o p e n x m l 的c o m m e n t s 的内容。u o f 的主体对应o p e n x m l 的d o c u m e n t 主文档内容。 u o f o p e n x m l 图3 2i j o f 与o p e n x m l 格式主体结构相同点 如图3 2 所示,u o f 与o p e n x m l 格式描述文字处理的主体结构时都采用了 分节、段落和文字表的方式。u o f 段落和o p e n x m l 的p 都描述了主体段落信 息。u o f 段落属性和o p e n x m l 的p p r 都描述了段落的属性信息,如段间距等。 u o f 句和o p e n x m l 的r 都表示段落的子元素句子,其中文本串和t 都描述了文 档的文本信息。u o f 的文字表和o p e n x m l 的t b l 都描述了文档中的文字表格, 文字表属性和t b l p r 都描述了文字表的表格属性,如文字表的宽度和填充等。u o f 文字表又可以细分为行,在o p e n x m l 中t r 与之对应;u o f 行由单元格组成, o p e n x m l 中有t c 与之对应;单元格内又都有段落或者嵌套文字表构成。 3 2u o f 与o p e n x m l 格式不同点 u o f 与o p e n x m l 格式虽然在基本功能点的需求上基本一致,但是两者在 具体格式的表述方式上存在很多不一致的地方。接下来从以下几个方面详细描 1 3 第3 章u o f 与o p e n x m l 格式分析 述。 3 2 1 文档结构 u o f 格式的文档采用单一x m l 文件形式描述。除了多媒体信息可独立于 x m l 文档单独存储外,文档的数据和格式信息都在同一x m l 文档内描述。u o f 文档内部根据描述内容的不同分块表述。u o f 主体部分描述文档的主体内容, 通过分节描述了文档的页面排版格式,段落和表格描述了主体包含的内容和格 式信息。u o f 除了描述主体内容外,同样描述了同主体相关的其它附属文档信 息,如用于定位的书签,用于链接到外部位置的超级链接等。这些与主体相关 的附属信息并没有直接嵌入到主体内部,而是根据信息的用途分类,独立于主 体外分别描述。这些信息通过本身的标识符和主体内对其标识符的引用直接建 立联系。这种方式既清晰地描述了主体以及其必要的附属信息,又有效地将附 属信息同主体分离,同时便于附属信息内容的更改和统一管理。 o p e n x m l 格式基于压缩z i p 文件格式规范。z i p 文件被看作一个容器,每 个容器由多个部件组成,每个部件描述了文档的不同部分,除了少数代表图形 的二进制文件或内嵌o l e 对象,大多数部件采用x m l 文件形式,包含了的客 户内容信息和文档格式信息;另外,容器中还包含了描述部件之间关系的关系 部件,当部件组成o p e n x m l 格式文档时,关系将描述这些部件如何协同工作。 部件的关系部件描述了该部件与其它部件之间的联系,在o p e n x m l 格式中 有两种关系的表述方式。一是直接联系,通过源对目标的标识符的直接引用建 立联系,源对应关系部件描述目标部件的位置。二是间接联系,通过源对应的 关系部件间接引用目标从而建立源与目标的联系。主体对式样的引用一般采用 直接引用的方式,主体对超级链接或图片的引用一般采用间接引用的方式。见 图3 3 。 1 4 第3 章u o f 与o p e n x m l 格式分析 -一0磊蔫二丙ji- 一一一一一一:一一一二 图3 30 p e n x m l 格式整体结构 d o c u m e n t x m l r e l s : f o o t n o t e s x m l r e l s : e n d n o t e s x m l r e l s : h e a d e r l x m l r e l s : f o o t e r l x m l r e l s : h e a d e r 2 x m l r e l s : f o o t e r 2 x m l r e l s : 一个最精简的o p e n x m l 字处理文档包含三个文件:r e l s , c o n t e n tt y p e s x m l 和d o c u m e n t x m l ;r e l s 包含基于起始部件的关系, c o n t e n t t y p e s x m l 提供包含在包中的其他部件的内容类型的列表, d o c u m e n t x m l 是字处理文档的主文件,包含了文档中的用户数据和式样等信息。 新建两个文件夹r e l s 和w o r d 分别存储r e l s 和d o c u m e n t x m l 文件,将这两个文中 夹同 c o n t e n tt y p e s x m l 文件进行z i p 包压缩即可构成一个符合o p e n x m l 格虱 的文档。通常文档的内容不只有这三个文件,还有描述其他逻辑内容的部件, 下图为o p e n x m l 格式的字处理文档结构的一个例子。这个文件中除了 d o c u m e n t x m l 主文件之外,还有其他逻辑部件如脚注、尾注、页眉、页脚和式 样等部件,这些部件与主文件的关系通过w o r d 部件内r e l s 关系部件的 d o c u m e n t x m l r e l s 关系部件描述。每个逻辑部件如果与其他部件或者外部资源相 关联,都需要在这个部件对应的关系部件中将它们之间的关系描述清楚。如 f o o t n o t e s x m l 中有超级链接链接到外部网址,那就需要在对应的 f o o t n o t e s x m l r e l s 关系部件中描述脚注和这个超级链接之间的关系。 3 2 2 主体结构 1 5 第3 章u o f 与o p e n x m l 格式分析 文字处理文档格式的主体一般主要描述了文档中所包含的段落、表格以及 描述了若干连续的段落或表格共同页面版式的分节。分节与段落、表格的关系 可以表述为文档主体由若干顺序排列的段落表格组成,若干连续的段落、表格 组成了一个分节,它们有共同的页面排版即节属性,每个文档默认有一个分节。 分节在这些顺序

温馨提示

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

评论

0/150

提交评论