一种不兼容数据的处理方法和装置的制作方法

文档序号:6331236阅读:174来源:国知局
专利名称:一种不兼容数据的处理方法和装置的制作方法
技术领域
本发明涉及文档处理技术,具体涉及一种不兼容数据的处理方法和装置。
背景技术
在文档处理软件领域中,各个厂商与开发者都在自己的软件中尽力处理文档格式 标准中的数据元素,但是对于不可解析与处理的元素不是置之不理就是随意抛弃,造成了 文档在不同的处理软件中交互应用时的数据丢失。而且,至今为止,还没有一种实用的方法 可以在异种文档数据格式中保留不可兼容数据进而恢复原有文档格式。

发明内容
有鉴于此,本发明的主要目的在于提供一种不兼容数据的处理方法和装置,以对 不兼容数据实现维护,避免文档在不同的处理软件中交互应用时的数据丢失。为达到上述目的,本发明的技术方案是这样实现的一种不兼容数据的处理方法,该方法包括载入基于XML描述的文档格式时,识别其中的不兼容数据并生成不兼容数据针对 文档的关联信息;将识别出的不兼容数据和生成的关联信息转换为内嵌对象。该方法进一步包括当存储已载入的所述文档时,针对要存储的文档类型是否为之前打开文档时的类 型进行对应的后续保存处理。所述保存处理包括当要存储的文档类型是之前打开文档时的类型时,分析内嵌对象中的关联信息, 再根据分析出的关联信息确定数据还原位置的有效性;并在数据还原位置有效时,将内嵌 对象中所封装的不兼容数据保存到指定位置;当要存储的文档类型不是之前打开文档时的类型时,利用通用的内嵌对象格式, 直接应用对内嵌对象的存储格式保留不兼容数据。所述保存处理以建立扩展节点的方式实现。所述文档为基于XML文档标准的UOF、ODF或OOXML格式的文档。一种不兼容数据的处理装置,该装置包括不兼容数据解析单元、内嵌对象装载单 元;其中,所述不兼容数据解析单元,用于在载入基于XML的文档时,识别其中的不兼容数 据并生成不兼容数据针对文档的关联信息;所述内嵌对象装载单元,用于将不兼容数据解析单元识别出的不兼容数据和生成 的关联信息转换为内嵌对象。该装置进一步包括不兼容数据保存单元,用于当存储已载入的所述文档时,针对要存储的文档类型是否为之前打开文档时的类
3型进行对应的后续保存处理。所述不兼容数据保存单元进行所述保存处理时,用于当要存储的文档类型是之前打开文档时的类型时,分析内嵌对象中的关联信息, 再根据分析出的关联信息确定数据还原位置的有效性;并在数据还原位置有效时,将内嵌 对象中所封装的不兼容数据保存到指定位置;当要存储的文档类型不是之前打开文档时的类型时,利用通用的内嵌对象格式, 直接应用对内嵌对象的存储格式保留不兼容数据。所述保存处理以建立扩展节点的方式实现。所述文档为基于XML文档标准描述的包含内嵌对象定义的UOF、ODF或OOXML格式的文档。本发明方法和装置避免文档在不同的处理软件中交互应用时的数据丢失,进而提 高了文档的兼容性。


图1为本发明一实施例的不兼容数据处理原理示意图;图2为本发明一实施例的文档载入时的不兼容数据处理流程图;图3为本发明一实施例的文档存储时的不兼容数据处理流程图;图4为本发明的不兼容数据处理流程简图;图5为本发明一实施例的不兼容数据处理装置图。
具体实施例方式目前,基于XML的开放文档格式提供了 XML标签化描述的处理技术,可支持在XML 文档中加入扩展对象而不影响原有解释处理程序的运行。总体而言,可以利用统一的方法在UOF、ODF、OOXML等文档格式标准间实现文档格 式转换过程中或文档处理过程中,利用扩展数据对象保留当前文档无法正确解析或处理的 文档元素,以保证文档的电子数据完成性。被保留的扩展数据对象可以用于其他处理软件 恢复不兼容数据进行再处理,或文档内容审核过程。目前比较流行的办公软件基本都支持基于XML标准的文档格式00XML、ODF以及 U0F。但是在功能不是完全相同的情况下,不同的办公软件之间进行数据转换时会有不兼容 数据丢失,因此,需要解决以XML格式为基准的文档格式转换中的数据保留问题。如果在一种文档处理软件中(假设为软件A)在读取文件格式时,例如00XML格 式,将能够转换的数据转换为文档格式A自身内部处理结构后,可以利用支持内嵌对象的 装置创建内嵌对象来存储不能够兼容数据,当用户用文档处理软件A对文档修改以后,继 续保存为OOXML格式的文档,将之前不能处理的数据还原为原有的格式,并写入生成的文 档中去。当需要存储为其他格式,例如U0F或0DF,则利用UOF或ODF格式中支持的内嵌对 象描述格式将内嵌对象保存于文档中。那么对于文档处理软件A来说,对于OOXML标准的 文档格式不会由于设计不同而造成文档数据丢失。上述操作方式的主要特点就是在原文档的基础上添加内嵌对象以保证原文档中 的数据完整性。可以利用XPath与XPoint等索引方法及版本保证不兼容数据与文档的对应关系。并提供标准转换模块对保留的数据在转换过程中进行针对目标格式的处理。当然,上述专门保存的扩展数据不会被其他的软件通过正常的情况进行修改,这 样虽然在不同的软件读取文档时仍然会有些显示上的差异,但是文档数据却不会由于不同 软件之间的操作而遭到破坏。在这种情况下,不同的软件在打开非自身完全支持的XML格 式文档时,只需提供自身软件支持的格式表并且通过过滤器过滤掉自身无法解析的数据, 就可以得到自身可以解析的数据,而同时可以对过滤掉的数据进行需要的处理。对于00XML、UOF、ODF这三种文档格式而言,在其标准制定时都考虑到了数据的扩 展性;换言之,这三种文档格式都不同程度的支持在各自的文档中添加可能不具备实际意 义的扩展数据。在此基础上,在文档格式B打开ODF文档时,如果遇到无法支持的功能,那 么在解析能够使用的数据之后,可以将不能使用的数据(如,不兼容数据)按照解析的规则 映射到扩展区域内,在存为ODF时将写到扩展区域内的数据按照原来的规则写到ODF对应 的位置;还可以在存为OOXML时将扩展区域内的数据写到OOXML格式文档的扩展区域内,这 样就可以解决在两种文档格式转换时的数据丢失问题。另外,可以应用如下方法保存将存储于扩展区域内的数据XML文档是由元素(Element)与属性(Attribute)定义的,所以对于不兼容数据可 以精确到每一个元素与属性,进而可以按照这两种标准来定义不兼容部分的节点,而这两 种节点都可以通过XPath的映射准确定位到原有的文档位置。首先,可以将可能丢失的数据取出,并在目标文档中建立扩展的节点,此节点包 含1、原文档中元素的定义(name)引用原文档定义的Schema类型。2、路径索引(XPath)元素在原文档中的目标定位,用于在XML文件中定位。3、方法(method)是对此扩展对象的应用方法(映射关系),做为枚举类型存在, 提供对于原文档中对通过path定位的数据的处理方式,包括替换、增加、忽略等方式。4、值(value)记录可能丢失的数据,根据method提供的方法对数据进行相应的 处理。接下来,当节点构造完成后,可以根据节点构造将不兼容数据存储于扩展区域内, 以完成文档的存储过程,从而实现基于XML标准文档的00XML、ODF、UOF三者之间的无损数 据转换。总结上述操作内容,可以将本发明针对不兼容数据的处理原理表示如图1所示。 参见图1,图1为本发明一实施例的不兼容数据处理原理示意图。图1中,基于XML文档标 准(如U0F,0DF,00XML)格式的文档中有可能包括其它格式的文档所不能兼容的数据或属 性,在载入该文档时需要识别出文档中的不兼容数据,并封装为特定的内嵌对象,使得应用 程序中的文档处理结构表现为包含对宿主对象的索引或关联(表现为关联信息)的内嵌对 象。在对所述文档进行保存时,针对要保存的相同或不同的文档类别,会执行不同的 保存处理。如在进行同种类别保存时,需要解析内嵌对象的索引与关联信息,根据解析出的关 联信息将不兼容数据还原为原有格式;使得最终保存的是基于XML文档标准(如:U0F, ODF, 00XML)格式的文档,其中包括其它格式的文档所不能兼容的数据或属性。
5
在进行异种类别保存时,可以应用内嵌对象形式直接存储于目标文档;使得最终 保存的是不同于之前的打开格式(如U0F,ODF, 00XML)的文档,其中包含封装有不兼容数 据的内嵌对象。可见,图1描述了文档在载入与存储过程中不兼容数据的保留模型1、当载入含有处理程序不兼容数据的文档时,处理程序收集不兼容数据与其他文 档对象的关联信息,并与不兼容数据一同描述为内嵌对象;2、当文档保存为与载入时类型相同的文件格式时,根据保存在内嵌对象中的关联 信息将内嵌对象中的原有文档数据还原到文档中,保证其他可以处理该部分数据的处理程 序可以正常解析、处理这段数据;3、如果存为与载入时类型不同的格式,则直接将内嵌对象以目标格式中内嵌对象 的格式存储于目标文档中。在上述技术描述中,针对文档的操作可以大体分为载入与存储,下面应用图2、图 3分别描述具体的操作流程。参见图2,图2为本发明一实施例的文档载入时的不兼容数据处理流程图,该流程 包括以下步骤步骤201 在文档载入时,对文档元素进行解析。步骤202 判断解析出的文档元素是否为可兼容类型,如果是可兼容类型,直接进 入步骤210 ;否则,进入步骤203。步骤203 搜集不可兼容的文档元素与文档之间的关联信息。步骤204 创建扩展元素对象,作为内嵌对象。步骤205 在内嵌对象中封装不可兼容的文档元素的原有数据信息,包括不可兼 容的文档元素以及所述关联信息。步骤206 将封装了原有数据信息的内嵌对象嵌入文档,返回步骤202。步骤210 对可兼容的文档元素进行正常处理或转换,返回步骤202。上述操作会反复多次进行,直到整个文档载入完毕。可见,图二描述了文档载入时的具体逻辑执行过程,首先辨别所解析的元素是否 可以被兼容,如果可以兼容处理,则进行程序中对文档元素的正常处理流程;如果无法兼 容,则收集文档元素间的关联信息,并利用收集到的关联信息与无法兼容的数据片段创建 内嵌的扩展数据对象(即内嵌对象),再将所创建的对象嵌入文档当中。参见图3,图3为本发明一实施例的文档存储时的不兼容数据处理流程图,该流程 包括以下步骤步骤301 在进行文档存储时,判断要存储的文档类型是否为之前打开文档时的 类型,如果是,进入步骤302 ;否则,直接进入步骤310。步骤302 分析内嵌对象中的关联信息。步骤303 根据分析出的关联信息确定数据还原位置的有效性。步骤304 在数据还原位置有效时,将内嵌对象中所封装的不兼容数据保存到指 定位置。结束本流程。步骤310 利用通用的内嵌对象格式,直接应用U0F、0DF、00XML中对内嵌对象的存 储格式保留不兼容数据。
可见,图三描述了文档保存时的具体逻辑执行,首先判断保存的格式是否与打开 时的相同,如果相同,则对内嵌的不兼容数据对象中的关联信息进行分析,找到该数据片段 的还原位置,之后将对象内的不兼容数据片段还原到原有的位置;若保存格式与打开的不 同,则利用目标格式对内嵌对象的描述方法,将整个内嵌对象保存到目标文档中。需要说明的是,以上描述只是以UOF、ODF、OOXML为例;而实际应用时,则可以针 对基于XML并且支持内嵌对象的文档进行不兼容数据处理,具体的处理过程并没有大的不 同。结合以上描述可知,本发明进行不兼容数据处理时的总体思路可以表示如图4所 示。参见图4,图4为本发明的不兼容数据处理流程简图,该流程包括以下步骤步骤410 载入基于XML描述的文档格式时,识别其中的不兼容数据并生成不兼容 数据针对文档的关联信息。步骤420 将识别出的不兼容数据和生成的关联信息转换为内嵌对象。为了保证上述操作思路能够顺利实现,可以设置如图5所示的装置。参见图5,图 5为本发明一实施例的不兼容数据处理装置图,该装置包括相连的不兼容数据解析单元、内 嵌对象装载单元、不兼容数据保存单元。具体应用时,不兼容数据解析单元能够在载入基于XML描述的文档格式时,识别 其中的不兼容数据并生成不兼容数据针对文档的关联信息;内嵌对象装载单元则能够将不 兼容数据解析单元识别出的不兼容数据和生成的关联信息转换为内嵌对象。不兼容数据保存单元能够在进行文档存储时,针对要存储的文档类型是否为之前 打开文档时的类型进行对应的后续保存处理(如,以前述的建立扩展节点的方式实现), 如如果要存储的文档类型是之前打开文档时的类型,不兼容数据保存单元能够分析 内嵌对象中的关联信息,再根据分析出的关联信息确定数据还原位置的有效性;并在数据 还原位置有效时,将内嵌对象中所封装的不兼容数据保存到指定位置。如果要存储的文档类型不是之前打开文档时的类型,不兼容数据保存单元能够利 用通用的内嵌对象格式,直接应用对内嵌对象的存储格式保留不兼容数据。图5所示各单元所能实现的操作已在前述各图中详细描述,在此不再赘述。综上所述可见,无论是方法还是装置,本发明的不兼容数据处理技术能够对不兼 容数据实现维护,避免文档在不同的处理软件中交互应用时的数据丢失,进而提高了文档 的兼容性。以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围,凡在 本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护 范围之内。
权利要求
一种不兼容数据的处理方法,其特征在于,该方法包括载入基于XML描述的文档格式时,识别其中的不兼容数据并生成不兼容数据针对文档的关联信息;将识别出的不兼容数据和生成的关联信息转换为内嵌对象。
2.根据权利要求1所述的方法,其特征在于,该方法进一步包括当存储已载入的所述文档时,针对要存储的文档类型是否为之前打开文档时的类型进 行对应的后续保存处理。
3.根据权利要求2所述的方法,其特征在于,所述保存处理包括当要存储的文档类型是之前打开文档时的类型时,分析内嵌对象中的关联信息,再根 据分析出的关联信息确定数据还原位置的有效性;并在数据还原位置有效时,将内嵌对象 中所封装的不兼容数据保存到指定位置;当要存储的文档类型不是之前打开文档时的类型时,利用通用的内嵌对象格式,直接 应用对内嵌对象的存储格式保留不兼容数据。
4.根据权利要求3所述的方法,其特征在于,所述保存处理以建立扩展节点的方式实现。
5.根据权利要求1至4任一项所述的方法,其特征在于,所述文档为 基于XML文档标准的UOF、ODF或OOXML格式的文档。
6.一种不兼容数据的处理装置,其特征在于,该装置包括不兼容数据解析单元、内嵌对 象装载单元;其中,所述不兼容数据解析单元,用于在载入基于XML的文档时,识别其中的不兼容数据并 生成不兼容数据针对文档的关联信息;所述内嵌对象装载单元,用于将不兼容数据解析单元识别出的不兼容数据和生成的关 联信息转换为内嵌对象。
7.根据权利要求6所述的装置,其特征在于,该装置进一步包括不兼容数据保存单元, 用于当存储已载入的所述文档时,针对要存储的文档类型是否为之前打开文档时的类型进 行对应的后续保存处理。
8.根据权利要求7所述的装置,其特征在于,所述不兼容数据保存单元进行所述保存 处理时,用于当要存储的文档类型是之前打开文档时的类型时,分析内嵌对象中的关联信息,再根 据分析出的关联信息确定数据还原位置的有效性;并在数据还原位置有效时,将内嵌对象 中所封装的不兼容数据保存到指定位置;当要存储的文档类型不是之前打开文档时的类型时,利用通用的内嵌对象格式,直接 应用对内嵌对象的存储格式保留不兼容数据。
9.根据权利要求8所述的装置,其特征在于,所述保存处理以建立扩展节点的方式实现。
10.根据权利要求6至9任一项所述的装置,其特征在于,所述文档为基于XML文档标准描述的包含内嵌对象定义的UOF、ODF或OOXML格式的文档。
全文摘要
本发明公开了一种不兼容数据的处理方法和装置,均可在载入基于XML描述的文档格式时,识别其中的不兼容数据并生成不兼容数据针对文档的关联信息;将识别出的不兼容数据和生成的关联信息转换为内嵌对象。本发明方法和装置避免文档在不同的处理软件中交互应用时的数据丢失,进而提高了文档的兼容性。
文档编号G06F17/30GK101937426SQ20101026874
公开日2011年1月5日 申请日期2010年8月31日 优先权日2010年8月31日
发明者匡亮, 李恒 申请人:北京红旗贰仟软件技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1