不同语种xml文档的转换方法及装置的制作方法

文档序号:6585405阅读:171来源:国知局
专利名称:不同语种xml文档的转换方法及装置的制作方法
技术领域
本发明实施例涉及计算机信息交换领域,尤其涉及一种不同语种可扩展标记语言 (extensible Markup Language,简称XML)文档的转换方法及装置。
背景技术
信息的国际化交换和本地化表示是一种信息处理技术发展中的长期的需求。信息 的国际化交换和本地化表示技术已从早期的字符集编码转换发展到更高的信息结构和语 义转换的层次。支持结构化信息表示的XML技术目前已经成为全球信息共享的基础之一。 如何使XML的数据表示同时满足国际化和本地化需求是亟待解决的、意义深远的问题。在以往XML的数据表示国际化和本地化技术发展中,人们主要专注于通过良好的 XML构造习惯使之便于进行多语种转换,其重点是元素内容的翻译,而元素名称和属性名称 的转换一直是使用中被极力回避的问题。业界目前还没有形成一种完全并且通用的方法来 实现XML最需要的元素名称和属性名称的多语种转换。一类方法是通过定义和使用词汇表的方式提供多语种XML文档转换。例如语料编 码标准(Corpus Encoding Standard,简称CES)、通用语言环境数据仓库(Common Locale Data R印ository,简称CLDR)等。其实质是通过定制的方法创建置标词汇表(或库),用于 源语言和目标语言之间的翻译和转换。此类方法存在的问题是需要在集中式的管理机制 下预先创建转换词汇表以支持有限语种间的翻译;而且由于不同语种语义的不同,经过多 次翻译后很难保持原XML元素和属性名称所表达的精确含义。如果采用这类方法,一个制定和发布某种XML文档类型的机构发布的一个语种的 文档大纲(Schema)版本和XML实例文档被多次翻译之后其中的元素和属性名称会偏离原 始的含义。在这种情况下,如果要对日后来自任何语种使用人群的同类型文档进行处理,就 需要很大的维护工作量。这种情况使得多语种的XML数据的处理和共享非常困难,经过翻 译后XML文档不能够保持XML元素和属性名称所表达含义的精确性,也使XML的应用受到 多语言的障碍,不具有通用性、灵活性和实用性。中国的国家标准“标文通”(Unified Office document Format,简称U0F) 1· 0在此 方面做了一些努力,提供了一种多语种XML文档转换的方法。该方法中,对进行语种转换的 元素,在实例中设置不可改变的、唯一的标识符属性和属性次序属性;当需要进行XML实例 文档转换时,依据事先设计的转换规则,将待转换的语种的XML实例文档转换为目标语种 的XML实例文档。该方法的问题在于通过添加属性来表达标识符和属性次序信息的方法, 在一定程度上会带来XML文档处理数据量的增加,同时将简单元素变为复制元素也会增加 处理的复杂度。

发明内容
本发明实施例提供一种不同语种XML文档的转换方法及装置,用以解决现有技术 中一个语种的XML文档被多次翻译之后,翻译后的语种的XML文档中的元素和属性名称再次转换成原始语种的XML文档时,其中的元素和属性名称偏离原始含义的问题,以及现有 技术中XML文档转换会带来XML文档处理数据量增加和处理复杂度提高的问题。通过本发 明可实现不同语种XML文档的转换,使得一个语种的XML文档被多次翻译之后,翻译后的语 种的XML文档中的元素和属性名称再次转换成原始语种的XML文档时,其中的元素和属性 名称不偏离原始含义,并且不会导致XML文档数据量的显著增加。为了解决上述问题,本发明实施例提供了一种不同语种XML文档的转换方法,包 括步骤1、判断待转换的语种的XML实例文档中是否存在需要转换的元素或属性命 名;如果存在,执行步骤2 ;如果不存在,执行步骤3 ;步骤2、提取待转换的语种的XML实例文档中需要转换的元素或属性命名中的标 识符的值,将所述待转换的语种的XML实例文档中的需要转换的元素或属性命名转换成具 有相同标识符的值的待生成的目标语种XML实例文档的元素或属性命名,然后执行步骤1 ; 所述元素或属性命名包括所述元素或属性名称和用于在预先定义的命名空间中唯一标识 所述名称的标识符;步骤3、结束转换。其中,步骤2可以包括步骤21、提取所述待转换的语种的XML实例文档中需要转换的元素或属性命名中 的标识符的值;步骤22、判断目标语种的大纲中是否存在标识符的值与所述步骤21中提取出的 标识符的值相同的元素或属性命名,如果存在,执行步骤23 ;如果不存在,执行步骤24 ;步骤23、将所述待转换的语种的XML实例文档中需要转换的元素或属性命名转换 成具有相同标识符的值的待生成的目标语种XML实例文档的元素或属性命名;步骤24、将所述待转换的语种的XML实例文档中需要转换的元素或属性命名原样 拷贝,不做转换;所述步骤23和步骤24之后执行步骤1。在所述步骤1之前还可以包括翻译待转换的语种的XML实例文档中的根元素,重 置命名空间声明。在此步骤之前还可以包括将待转换的语种的XML大纲转换成目标语种的 XML大纲。本发明实施例还提供了一种不同语种XML文档的转换装置,包括判断模块,用于判断待转换的语种的XML实例文档中是否存在需要转换的元素或 属性命名;处理模块,用于在所述判断模块的判断结果为待转换的语种的XML实例文档中存 在需要转换的元素或属性命名时,提取所述待转换的语种的XML实例文档中需要转换的元 素或属性命名中的标识符的值,将所述待转换的语种的XML实例文档中的需要转换的元素 或属性命名转换成具有相同标识符的值的待生成的目标语种XML实例文档的元素或属性 命名;所述元素或属性命名包括所述元素或属性名称和用于在预先定义的命名空间中唯一 标识所述名称的标识符。其中,处理模块可以包括提取单元,用于在所述判断模块的判断结果为待转换的语种的XML实例文档中存在需要转换的元素或属性命名时,提取所述待转换的语种的XML实例文档中需要转换的元 素或属性命名中的标识符的值;判断单元,用于判断目标语种的大纲中是否存在标识符的值与所述提取单元提取 出的标识符的值相同的元素或属性命名;转换单元,用于在所述判断单元判断结果为目标语种的大纲中存在标识符的值与 所述提取单元提取出的标识符的值相同的元素或属性命名时,将所述待转换的语种的XML 实例文档中需要转换的元素或属性命名转换成具有相同标识符的值的待生成的目标语种 XML实例文档的元素或属性命名;在所述判断单元判断结果为目标语种的大纲中不存在标 识符的值与所述提取单元提取出的标识符的值相同的元素或属性命名时,将所述待转换的 语种的XML实例文档中需要转换的元素或属性命名原样拷贝,不做转换。
上述装置还可以包括大纲转换模块,与所述转换单元连接,用于将所述待转换的 语种的XML大纲转换成目标语种的XML大纲。本发明提供的不同语种XML文档的转换方法及装置,XML文档中的元素或者属性 命名包括名称和唯一标识符,对于一个机构发布的文档大纲,经过不同语种的翻译之后,根 据标识符,可以确定不同语种的各个元素或属性名称之间的对应关系。在进行文档转换时, 根据待转换的语种中的待转换的元素或属性的命名中的唯一标识符,将待转换的语种的 XML实例文档中的需要转换的元素或属性命名转换成具有相同标识符的值的待生成的目标 语种XML实例文档的元素或属性命名。采用这种转换XML文档的方法,经过多次翻译后,将 多次翻译后的XML文档再次转换成原始语种的XML文档时,转换成的原始语种的XML文档 中的元素或属性名称的含义也不会偏离原始的含义。并且,由于本发明中只是在元素或属 性命名中包括了一个唯一标识符,并不会导致XML文档转换的数据处理量的显著增加。


为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现 有技术描述中所需要使用的附图做简单的介绍。显而易见,下面描述中的附图是本发明的 一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据 这些附图获得其他的附图。图1所示为本发明不同语种XML文档的转换方法实施例一的流程图;图2所示为本发明不同语种XML文档的转换方法实施例二的流程图;图3所示为本发明不同语种XML文档的转换装置实施例一的结构示意图;图4所示为本发明不同语种XML文档的转换装置实施例二的结构示意图。
具体实施例方式为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例 中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是 本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员 在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。如图1所示为本发明不同语种XML文档的转换方法实施例一的流程图,包括步骤1、判断待转换的语种的XML实例文档中是否存在需要转换的元素或属性命名;如果存在,执行步骤2 ;如果不存在,执行步骤3。步骤2、提取待转换的语种的XML实例文档中需要转换的元素或属性命名中的标 识符的值,将待转换的语种的XML实例文档中的需要转换的元素或属性命名转换成具有相 同标识符的值的待生成的目标语种XML实例文档的元素或属性命名,然后执行步骤1 ;其 中,元素或属性命名包括名称和用于在预先定义的命名空间中唯一标识元素或属性名称的 标识符。步骤3、结束转换。本发明提供的不同语种XML文档转换的方法,XML文档中的元素或者属性命名包 括名称和唯一标识符,对于一个机构发布的文档大纲,经过不同语种的翻译之后,根据标识 符,可以确定不同语种的各个元素或属性名称之间的对应关系,这样经过多语种翻译之后 的文档大纲再次翻译成原始语种的大纲时也不会偏离原始大纲中元素或属性名称的含义。 在进行文档转换时,根据待转换的语种中的待转换的元素或属性的命名中的唯一标识符, 将待转换的语种的XML实例文档中的需要转换的元素或属性命名转换成具有相同标识符 的值的待生成的目标语种XML实例文档的元素或属性命名,这样,经过多次翻译后,将多次 翻译后的XML文档再次转换成原始语种的XML文档时,转换成的原始语种的XML文档中的 元素或属性名称的含义也不会偏离原始的含义。本发明中,XML文档的元素或属性命名包括现有的XML元素或属性的名称和一个 用于在预先定义的名称空间中唯一标识该元素或属性的名称的标识符。采用本发明提供的 方法,在转换XML文档时,在现有的XML文档转换的基础之上只需要增加对该标识符的处 理,数据处理的工作量极小。采用本发明提供的方法可以大大方便XML数据处理和共享,能 够完全保持XML文档中元素和属性名称所表达的精确性,也使XML的应用突破了语言的障 碍,具有较高的通用性、灵活性和实用性。如图2所示为本发明不同语种XML文档的转换方法实施例二的流程图,该实施例 中,步骤2具体包括步骤21、提取待转换的语种的XML实例文档中需要转换的元素或属性命名中的标 识符的值。例如,如果元素或属性命名是以“名称_标识符”形式定义,则提取的时候,下划 线之前的为元素或属性名称,下划线之后的为标识符。步骤22、判断目标语种的大纲中是否存在标识符的值与步骤21中提取出的标识 符的值相同的元素或属性命名,如果存在,执行步骤23 ;如果不存在,执行步骤24。步骤23、将待转换的语种的XML实例文档中需要转换的元素或属性命名转换成具 有相同标识符的值的待生成的目标语种XML实例文档的元素或属性命名。步骤24、将待转换的语种的XML实例文档中需要转换的元素或属性命名原样拷 贝,不做转换。步骤23和步骤24之后执行步骤1。在步骤1之前还可以包括翻译待转换的语种的XML实例文档中的根元素,重置命 名空间声明。在翻译待转换的语种的XML实例文档中的根元素,重置命名空间声明的步骤 之前还可以包括将待转换的语种的XML大纲转换成目标语种的XML大纲。下面结合具体例子说明本发明不同语种XML文档的转换方法的实现过程。假设,一个制定和发布XML文档类型的机构发布的一个中文XML大纲如下,这是一个“电子邮件”的XML大纲,元素“电子邮件”的定义如下<xs: element name =〃 电子由|1件_01〃 ><xscomplexType><xssequence)<xs:element name =<xs: element name =</xs:sequence)<xs:attribute name ="<xs:attribute name ="</xs:complexType></xs:element)“电子邮件”的定义中,各个元素和属性的命名都是以“名称_标识符”形式定义。 标识符不限于上述的数字标识方式,还可以是字母、字符串等,只要能够唯一标识一个元素 或属性的名称即可。将上述中文XML大纲转换成的英文XML大纲可以如下<xselement name = “ email_01“ ><xscomplexType><xssequence)<xselement name =" title_02" /><xs: element name = " body_03 " /></xs:sequence)<xs:attribute name =〃 sender_04〃 /><xs: attribute name = " receiver_05 " /></xs:complexType></xs:element)可以看出,中英文的XML大纲中,通过一个标识符就能够确定中文和英文两种语
种的元素或属性的命名之间的对应关系。例如,元素“title_02”的标识符是02,元素“标 题_02”的标识符也是02,那么就可以确定“title_02”与“标题_02”具有对应关系。基于上述两种大纲生成的XML文档可以相互转换。例如,根据上述英文XML大纲生成一个英文XML实例文档,该英文XML实例文档可 以如下<email_01 sender_04 = " John" receiver_05 = " Tom" ><title_02>Notice</title_02><body_03>Please attend a meeting this afternoon. </body_03><email_01>将上述的英文XML实例文档转换成中文XML实例文档的步骤具体可以如下首先翻译上述英文XML实例文档中的根元素,重置命名空间声明。然后提取上述 英文XML实例文档中需要转换的元素或属性命名。例如,“emailJU”是一个元素命名,该元 素命名中的标识符为01,在中文大纲中元素“电子邮件”的标识符为01,所以将英文XML实
“标题 _02" /> “正文 _03〃 />
发送者_04" /> 接收者_05" />例文档中“email_01”转换成中文XML实例文档中的“电子邮件_01”。“senderJM”是英文 XML实例文档中的一个属性命名,该属性命名中的标识符为04,在中文大纲中,属性“发送 者_04”的标识符为04,所以将英文XML实例文档中的“senderJM”转换成中文XML实例文 档中的“发送者_04”。在转换过程中,元素内容和属性值不做变动。例如上述英文XML实例 文档中/‘Notice”禾口"Please attenda meeting this afternoon ”是元素的内容,"John” 和“Tom”是属性值。上述英文XML实例文档中的其他元素和属性命名也相应转换后,转换 成的中文XML实例文档如下<电子邮件_01发送者_04 = “ John"接收者_05 = “ Tom" >〈标题 _02>Notice</标题 _02>< JEJC _03>Please attend a meeting this afternoon. </ JEJC _03>〈电子邮件_01>上述英文XML实例文档中的各个标识符对应的元素或属性命名,在中文XML大纲 中都能够找到对应的元素或属性命名。如果上述英文XML实例文档中的某个元素或属性命 名,在中文XML大纲中找不到具有相同标识符的元素或属性命名,则直接原样拷贝英文XML 实例文档中的元素或属性命名到中文XML实例文档中,不做转换。经过上述的转换步骤,就可以将英文XML实例文档转换成中文XML实例文档。此 XML实例文档的转换中,英文是待转换的语种,中文是目标语种。其它两个语种间的转换过 程,与英文XML实例文档转换成中文XML实例文档的步骤类似。上述的例子中,将英文XML实例文档转换成中文XML实例文档时,提取出英文的 XML实例文档中需要转换的元素或属性命名中的标识符的值之后,判断中文XML大纲中是 否存在标识符的值与提取出的标识符的值相同的元素或属性命名,并将英文XML实例文档 中需要转换的元素或属性命名转换成中文XML大纲中存在的具有相同的标识符的值的元 素或属性命名。如图3所示为本发明不同语种XML文档的转换装置实施例一的结构示意图,该装 置包括判断模块11和处理模块12。判断模块11用于判断待转换的语种的XML实例文档中 是否存在需要转换的元素或属性命名。处理模块12与判断模块11连接,用于在判断模块 的判断结果为待转换的语种的XML实例文档中存在需要转换的元素或属性命名时,提取待 转换的语种的XML实例文档中需要转换的元素或属性命名中的标识符的值,将待转换的语 种的XML实例文档中的需要转换的元素或属性命名转换成具有相同标识符的值的待生成 的目标语种XML实例文档的元素或属性命名。如图4所示为本发明不同语种XML文档的转换装置实施例二的结构示意图,其中, 处理模块12包括提取单元121、判断单元122和转换单元123。提取单元121用于在判断 模块11的判断结果为待转换的语种的XML实例文档中存在需要转换的元素或属性命名时, 提取待转换的语种的XML实例文档中需要转换的元素或属性命名中的标识符的值。例如, 如果元素或属性命名是以“名称_标识符”形式定义,则提取单元121提取的时候可以根据 下划线提取,下划线之前的为元素或属性名称,下划线之后的为标识符。判断单元122用于 判断目标语种的大纲中是否存在标识符的值与提取单元121提取出的标识符的值相同的 元素或属性命名。转换单元123用于在判断单元122判断结果为目标语种的大纲中存在 标识符的值与提取单元提取出的标识符的值相同的元素或属性命名时,将待转换的语种的XML实例文档中需要转换的元素或属性命名转换成具有相同标识符的值的待生成的目标语 种XML实例文档的元素或属性命名;在判断单元122的判断结果为目标语种的大纲中不存 在标识符的值与提取单元提取出的标识符的值相同的元素或属性命名时,将待转换的语种 的XML实例文档中需要转换的元素或属性命名原样拷贝,不做转换。如图4所示的装置中还可以包括一个大纲转换模块,该模块用于将待转换的语种 的XML大纲转换成目标语种的XML大纲,供判断单元判断时使用。本发明提供的方法及装置可以应用于如下的场合一个制定和发布某种XML文档类型的机构,仅需维护一个语种的大纲版本。当需 要其他语种的版本时,相关的机构可以自行翻译大纲并产生相应语种的XML实例,仅要求 保持元素和属性命名中用于语种翻译的标识符,这个文档类型制定机构便可以处理日后来 自任何语种使用人群的同类型文档,仅需设计一套转换程序,便可以将任意语种的XML文 档转换成原始的语种。一个数据元素标准制定机构,使用本发明使得多语种的应用可以通过元素和属性 命名中的标识符来引用注册库中注册的标准的数据元素,数据元素标准制定机构仅需发布 和维护一个语种的版本,而不用担心经过多次翻译之后元素名称会偏离原始的含义。在办公文档格式应用领域,标准制定机构可以采用源语种设计XML大纲形式的文 档格式标准。这个大纲可以发布到其他语种的地区,由相关机构进行翻译,得到其他语种的 大纲,再生成其他语种的XML实例。源语种办公文档格式标准制定机构可以设计一套通用 的 XSLT(ExtensibleStylesheet Language Transformations)式样单或转换程序,将不同 语种的XML实例文档进行转换,得到符合源语种XML大纲标准的源语种XML实例,从而使符 合源语种办公文档格式标准的任何语种的XML文档均可在支持该标准的源语种办公软件 中得到正确处理。既标准化了源语种的文档格式,又使得文档可在使用不同语种的人群中 交流,达到信息交换的目的。本领域普通技术人员可以理解实现上述方法实施例的全部或部分步骤可以通过 程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序 在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括R0M、RAM、磁碟或者 光盘等各种可以存储程序代码的介质。最后应说明的是以上实施例仅用以说明本发明的技术方案,而非对其限制;尽 管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解其依然 可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替 换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精 神和范围。
权利要求
一种不同语种XML文档的转换方法,其特征在于,包括步骤1、判断待转换的语种的XML实例文档中是否存在需要转换的元素或属性命名;如果存在,执行步骤2;如果不存在,执行步骤3;步骤2、提取所述待转换的语种的XML实例文档中需要转换的元素或属性命名中的标识符的值,将所述待转换的语种的XML实例文档中的需要转换的元素或属性命名转换成具有相同标识符的值的待生成的目标语种XML实例文档的元素或属性命名,然后执行步骤1;所述元素或属性命名包括所述元素或属性名称和用于在预先定义的命名空间内唯一标识所述名称的标识符;步骤3、结束转换。
2.根据权利要求1所述的不同语种XML文档的转换方法,其特征在于,所述步骤2具体 包括步骤21、提取所述待转换的语种的XML实例文档中需要转换的元素或属性命名中的标 识符的值;步骤22、判断目标语种的大纲中是否存在标识符的值与所述步骤21中提取出的标识 符的值相同的元素或属性命名,如果存在,执行步骤23 ;如果不存在,执行步骤24 ;步骤23、将所述待转换的语种的XML实例文档中需要转换的元素或属性命名转换成具 有相同标识符的值的待生成的目标语种XML实例文档的元素或属性命名;步骤24、将所述待转换的语种的XML实例文档中需要转换的元素或属性命名原样拷 贝,不做转换;所述步骤23和步骤24之后执行步骤1。
3.根据权利要求1或2所述的不同语种XML文档的转换方法,其特征在于,在所述步骤 1之前还包括翻译待转换的语种的XML实例文档中的根元素,重置命名空间声明。
4.根据权利要求3所述的不同语种XML文档的转换方法,其特征在于,在翻译待转换的 语种的XML实例文档中的根元素,重置命名空间声明之前,还包括将所述待转换的语种的 XML大纲转换成目标语种的XML大纲。
5.一种不同语种XML文档的转换装置,其特征在于,包括判断模块,用于判断待转换的语种的XML实例文档中是否存在需要转换的元素或属性 命名;处理模块,用于在所述判断模块的判断结果为待转换的语种的XML实例文档中存在需 要转换的元素或属性命名时,提取所述待转换的语种的XML实例文档中需要转换的元素或 属性命名中的标识符的值,将所述待转换的语种的XML实例文档中的需要转换的元素或属 性命名转换成具有相同标识符的值的待生成的目标语种XML实例文档的元素或属性命名; 所述元素或属性命名包括所述元素或属性名称和用于在预先定义的命名空间中唯一标识 所述名称的标识符。
6.根据权利要求5所述的不同语种XML文档的转换装置,其特征在于,所述处理模块包括提取单元,用于在所述判断模块的判断结果为待转换的语种的XML实例文档中存在需 要转换的元素或属性命名时,提取所述待转换的语种的XML实例文档中需要转换的元素或 属性命名中的标识符的值;判断单元,用于判断目标语种的大纲中是否存在标识符的值与所述提取单元提取出的 标识符的值相同的元素或属性命名;转换单元,用于在所述判断单元判断结果为目标语种的大纲中存在标识符的值与所述 提取单元提取出的标识符的值相同的元素或属性命名时,将所述待转换的语种的XML实例 文档中需要转换的元素或属性命名转换成具有相同标识符的值的待生成的目标语种XML 实例文档的元素或属性命名;在所述判断单元判断结果为目标语种的大纲中不存在标识符 的值与所述提取单元提取出的标识符的值相同的元素或属性命名时,将所述待转换的语种 的XML实例文档中需要转换的元素或属性命名原样拷贝,不做转换。
7.根据权利要求6所述的不同语种XML文档的转换装置,其特征在于,还包括 大纲转换模块,与所述转换单元连接,用于将所述待转换的语种的XML大纲转换成目 标语种的XML大纲。
全文摘要
本发明提供一种不同语种XML文档的转换方法及装置,其中方法包括提取待转换的语种的XML实例文档中需要转换的元素或属性命名中的标识符的值,将待转换的语种的XML实例文档中的需要转换的元素或属性命名转换成具有相同标识符的值的待生成的目标语种XML实例文档的元素或属性命名;元素或属性命名包括所述元素或属性名称和用于在预先定义的命名空间内唯一标识所述名称的标识符。本发明能够使得一个语种的XML文档被多次翻译之后,翻译后的语种的XML文档中的元素和属性名称再次转换成原始语种的XML文档时,其中的元素和属性名称不偏离原始含义,并且不会导致XML文档数据量的显著增加。
文档编号G06F17/22GK101866331SQ20091024400
公开日2010年10月20日 申请日期2009年12月24日 优先权日2009年12月24日
发明者侯霞, 吴志刚, 方春燕, 李宁 申请人:北京信息科技大学;工业和信息化部电子工业标准化研究所
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1