基于xml的不同格式文档的转换方法

文档序号:6464406阅读:189来源:国知局
专利名称:基于xml的不同格式文档的转换方法
技术领域
本发明涉及计算机信息交换技术领域,尤其涉及基于可扩展置标语言 (extensible Markup Language,简称XML)的不同格式文档的转换方法。
背景技术
随着各种计算机技术的发展和广泛应用,由计算机处理的文档大量产生。 特别是办公软件应用领域,存在大量的兼具显现式样和内容数据的文档。这 些文档按照不同格式进行描述和存储,给不同的软件工具处理带来了兼容性 问题。为了解决这个问题,国际和国内的标准化组织制定了数个文档格式标 准。例如开放式文档格式(Open Document Format,简称ODF)标准、OOXML (Office Open extensible Markup Language,简称OOXML)及我国自主制 定的国家标准UOF (Unified Office document Format,中文简称"标文通)。 这些标准都是基于可扩展置标语言XML的。
XML产生于1998年,以其简单性、可验证性、可扩展性和互操作性等优 点,辅以技术成熟、支持ISO/IEC 10646 (Unicode)国际标准等特点,成为 当今国内外电子商务与电子政务的关键信息交换技术之一。XML语言的结构
化特性,使之成为描述各类文档格式标准的基础。
然而,对于上述基于XML的文档格式标准,它们描述文档内容和表现式 样的方式却不尽相同,目前难以要求所有的软件必须能够存储和阅读所有格 式的文档。 一个可行办法是通过格式转换解决不同文档格式之间的兼容性问 题。格式转换主要是实现显现式样之间的映射。现有技术中XML文档格式转 换的一般做法是将整个文档提交给转换程序,转换程序按照可扩展式样单语 言转换(Extensible Stylesheet Language,筒称XSLT )式样单(Style Sheet)中预先设计的规则,将源文档的节点树转换为目标文档的节点树,最后由转 换程序保存转换后的新的文档。
由于电子文档的大量使用,文档格式转换遂成为一种经常使用的普遍的 需求。然而,由于文档格式标准的多样性和格式转换的复杂性,在每一台主 机上为所有格式安装转换器是不现实的,即使能够安装,也难以随着格式标 准的更新对这些转换器进行维护。因此提供一种集中式的文档转换的方法成 为一种需要,通过集中式的文档转换可以解决上述问题。
但是,釆用集中式的文档格式转换服务存在以下问题(1 )格式转换服
务的提供方一般难以保证是可信任的,特别是对于内容敏感的文档,要整体 传送到格式转换程序是不安全的,因为非本地控制的格式转换程序很可能会
留下文档的副本并将其传播出去;(2 )要将动辄几十兆、上百兆的文档通过 网络传送到格式转换服务的提供方会带来很大的流量开销,传送过程也会因 此受阻。

发明内容
本发明的目的在于针对现有技术存在的问题,提供一种基于XML的不同 格式文档的转换方法,能保证文档格式转换的安全性,减小格式转换时的数 据传输量,使实现集中式的XML文档格式转换成为可能。
为了实现上述目的,本发明提供了一种基于XML的不同格式文档的转换 方法,包括
步骤1、将待转换文档中欲保护的节点内容替换成与所述节点内容对应 的唯一标识符;
步骤2、将经过步骤1之后的文档,由格式转换服务提供方转换成目标
格式;
步骤3、将转换成目标格式之后的所述文档中的唯一标识符,还原成对应的所述欲保护的节点内容。
本发明提供的基于XML的不同格式文档的转换方法,为由格式转换服务 的提供方集中将XML文档进行格式转换的实施提供了可能。本发明充分利用 了 XML文档格式和内容分离的优势,通过将待转换文档中的欲保护的节点内 容转换成唯一标识符,将待转换文档进行格式转换后,再将目标格式的文档 中的唯一标识符还原成待转换文档中相应的欲保护的节点内容。这样,在将
待转换文档进行转换时,该文档的欲保护的内容信息不会被暴露,在进行文 档转换时,不至于被提供格式转换服务的提供方留副本或传播出去,可以保 证文档转换的安全性;并且由于进行文档转换时,不需要传输数据内容,大 大降低了数据传送量,减少了数据传输流量开销。
下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。



具体实施例方式
如图1所示为本发明基于XML的不同格式文档的转换方法实施例一流程 图,包括-.
步骤1、将待转换文档中欲保护的节点内容替换成与所述节点内容对应
的唯一标识符;
步骤2、将经过步骤1之后的文档,由格式转换服务提供方转换成目标
格式;
步骤3、将转换成目标格式之后的所述文档中的唯一标识符,还原成对 应的所述欲保护的节点内容。
本发明提供的XML文档格式转换方法,首先对待转换文档进行预处理, 将待转换文档中欲保护的节点内容替换成与该内容对应的唯一标识符。XML文档是一种格式与内容分离的文档,在将XML提交到格式转换程序,对XML 文档进行格式转换时,可能有的内容并不希望被格式转换服务的提供方看到, 这时需要通过预处理,将待转换文档中的欲保护的节点内容转换成与该节点 内容对应的唯一标识符。例如, 一个XML文档中出现的人名不希望被看到, 那么可以通过遍历的方式,查找该文档中的所有人名内容并将其替换成对与 该人名内容对应的唯一标识符,直到将文档中所有的人名内容都被替换成相 应的唯一标识符为止,并保持该文档的格式信息不变。与欲保护的节点内容 相对应的唯一标识符可以是任意一种能够唯一标识该欲保护的节点内容的字 符或字符的组合,例如可以是数字、字母、字符串等,这些唯一标识符与欲 保护的节点内容之间应当具备唯一 的对应关系,例如数字1对应第 一人名, 数字2对应第二人名等。
在将文档中欲保护的节点内容替换成相应的唯一标识符之后,将XML文 档提交给一个格式转换服务的提供方,由该格式转换服务的提供方将该XML 文档转换成目标格式的文档。
对转换成的目标格式的文档,查找出唯一标识符,并将其还原成对应的 欲保护的节点内容,直到通过遍历的方式将文档中所有的唯一标识符还原成 相应的欲保护的节点内容。这样目标格式的文档中的内容就恢复成了未转换 格式之前的文档中的内容,并且文档的格式又符合了目标格式。
本发明提供的基于XML的不同格式文档的转换方法,充分利用了 XML文 档格式和内容分离的优势,通过将待转换文档中的欲保护的节点内容转换成 唯一标识符,将待转换文档进行格式转换后,再将目标格式的文档中的唯一 标识符转换成对应的欲保护的节点内容。这样,在将待转换文档进行转换时, 该文档的欲保护的内容信息不会被暴露,在进行文档转换时,不至于被格式 转换服务的提供方留副本或传播出去,可以保证文档转换的安全性;并且由 于进行文档转换时,不需要传输数据内容,大大降低了数据传送量,减少了 数据传输流量开销。因此,本发明提供的方法使得由格式转换服务的提供方提供集中式XML文档格式转换成为切实可行的方法。
较佳地,唯一标识符可以是XPath路径。XPath是XML的路径语言,用 于查找XML文档中的信息,可以使用路径表达式在XML文档中选取节点。XML 文档结构是一棵树,每个节点在树中的路径就是该节点的XPath路径,是唯 一的。比如book/chapter [l]表示节点book下所有chapter子节点中的第一 个。Xpath可以找到唯一的一个或若干节点,节点内容可由文档对象模型 (Document Object Model,简称謂)接口提取。
XPath路径与节点内容之间的对应关系可以根据转换前的源文档获得, 这样,就不需要再单独建立和维护欲保护的节点内容与唯一标识符之间的对 应关系。
序,也可以是通过网络服务(Web Service )的方式提供格式转换服务,这样 远程主机或程序不必是安全的,降低了对于提供格式转换服务的提供方的安 全性要求。
下面以将待转换文档中的欲保护的节点内容替换成XPath路径为例,说 明本发明的具体实现过程。例如,文档A为第一种格式的待转换XML文档, 文档B为目标格式的XML文档。首先,本地程序进行预处理,将文档A中的 所有非格式节点的内容替换成XPath路径,然后将文档A保存成新的文档A,。 这时,文档A,仍然符合第一种格式,但不包含数据内容。由于XML文档除了 格式节点之外还可能有数据节点等其它类型节点,本发明中所称非格式节点 的内容是指除了格式节点的内容之外的其他内容。
将文档A,发送至提供文档格式转换服务的远程主机,通过格式转换程序 的转换,将文档A'转换成文档B,。文档B,符合目标格式,但不包括非格式 节点的内容,仅有相应的XPath路径。然后将文档B,由远程主机传输到本 地。
本地程序从文档A提取文档B,中XPath路径对应的非格式节点内容,用该非格式节点内容替换文档B,中的XPath路径。待文档B,中的所有XPath 都替换完成后,将文档B'保存后得到文档B。文档B符合目标格式,并且文 档B中包含有文档A中的全部非格式节点内容。
这样,通过将待转换文档中的非格式节点内容转换成XPath路径,不需 要单独建立和维护非格式节点内容和唯一标识符的对应关系,经过远程转换 程序将待转换文档进行格式转换后,可以很方便地利用XPath路径与源文档 中非格式节点内容的对应关系,将经过格式转换后的文档中的XPath路径替 换为源文档中的相应内容,保证了文档转换的安全性,降低了数据传输量。
需要说明的是,本发明中涉及的将待转换文档中的欲保护的节点内容替 换为唯一标识符或者将唯一标识符替换为相应的欲保护的节点内容的方法, 以及将已经替换为唯一标识符的文档进行格式转换的方法,可以基于XSLT技 术进行,也可以通过其他的XML文档处理方法进行。
本领域普通技术人员可以理解实现上述方法实施例的全部或部分步骤 可以通过程序指令相关的硬件和软件来完成,前述的程序可以存储于一计算 机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤; 而前述的存储介质包括R0M、 RAM、磁碟或者光盘等各种可以存储程序代码 的介质。
最后应说明的是以上实施例仅用以说明本发明的技术方案,而非对其 限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术 人员应当理解其依然可以对前述各实施例所记载的技术方案进行修改,或 者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技 术方案的本质脱离本发明各实施例技术方案的精神和范围。
权利要求
1、一种基于XML的不同格式文档的转换方法,其特征在于,包括步骤1、将待转换文档中欲保护的节点内容替换成与所述节点内容对应的唯一标识符;步骤2、将经过步骤1之后的文档,由格式转换服务提供方转换成目标格式;步骤3、将转换成目标格式之后的所述文档中的唯一标识符,还原成对应的所述欲保护的节点内容。
2、 根据权利要求1所述的基于XML的不同格式文档的转换方法,其特 征在于,所述步骤l具体为将待转换文档中欲保护的节点内容替换成XPath路径; 所述步骤3具体为将转换成目标格式之后的所述文档中的XPath路径,还原成对应的所述 欲保护的节点内容。
3、 根据权利要求1所述的基于XML的不同格式文档的转换方法,其特 征在于,所述步骤l具体为遍历待转换文档,将所有欲保护的节点内容替换成所述唯一标识符; 所述步骤3具体为遍历转换成目标格式之后的所述文档,将其中所有的唯一标识符还原成 对应的所述欲保护的节点内容。
4、 根据权利要求1或2所述的基于XML的不同格式文档的转换方法, 其特征在于,所述步骤2具体为将经过步骤l之后的文档,通过设置在远程主机上的格式转换程序转 换成目标格式。
5、 根据权利要求1或2所述的基于XML的不同格式文档的转换方法, 其特征在于,所述步骤2具体为将经过步骤1之后的文档,通过网络服务提供的格式转换服务转换成 目标格式。
6、根据权利要求1所述的基于XML的不同格式文档的转换方法,其特 征在于,所述步骤1中基于可扩展式样单语言转换方法将待转换文档中欲 保护的节点内容替换成与所述节点内容对应的唯一标识符;所述步骤3中基于可扩展式样单语言转换方法将转换成目标格式之后 的所述文档中的唯一标识符,还原成对应的所述欲保护的节点内容。
全文摘要
本发明涉及一种基于XML的不同格式文档的转换方法,包括步骤1.将待转换文档中欲保护的节点内容替换成与所述节点内容对应的唯一标识符;步骤2.将经过步骤1之后的文档,由格式转换服务提供方转换成目标格式;步骤3.将转换成目标格式之后的所述文档中的唯一标识符,还原成对应的所述欲保护的节点内容。本发明提供的方法,在将待转换文档进行转换时,该文档的欲保护的内容信息不会被暴露,可以保证文档转换的安全性;并且由于进行文档转换时,不需要传输数据内容,大大降低了数据传送量,减少了数据传输流量开销。
文档编号G06F17/22GK101615174SQ20081011547
公开日2009年12月30日 申请日期2008年6月24日 优先权日2008年6月24日
发明者霞 侯, 宁 李 申请人:北京信息科技大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1