CN103226558A - 基于文档模式的知识的文档合并的方法和系统 - Google Patents
基于文档模式的知识的文档合并的方法和系统 Download PDFInfo
- Publication number
- CN103226558A CN103226558A CN2013100311400A CN201310031140A CN103226558A CN 103226558 A CN103226558 A CN 103226558A CN 2013100311400 A CN2013100311400 A CN 2013100311400A CN 201310031140 A CN201310031140 A CN 201310031140A CN 103226558 A CN103226558 A CN 103226558A
- Authority
- CN
- China
- Prior art keywords
- document
- node
- renewal
- destination
- destination document
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/12—Use of codes for handling textual entities
- G06F40/14—Tree-structured documents
- G06F40/143—Markup, e.g. Standard Generalized Markup Language [SGML] or Document Type Definition [DTD]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/11—File system administration, e.g. details of archiving or snapshots
- G06F16/116—Details of conversion of file system types or formats
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/80—Information retrieval; Database structures therefor; File system structures therefor of semi-structured data, e.g. markup language structured data such as SGML, XML or HTML
- G06F16/84—Mapping; Conversion
- G06F16/88—Mark-up to mark-up conversion
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/12—Use of codes for handling textual entities
- G06F40/14—Tree-structured documents
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/12—Use of codes for handling textual entities
- G06F40/151—Transformation
- G06F40/154—Tree transformation for tree-structured or markup documents, e.g. XSLT, XSL-FO or stylesheets
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Document Processing Apparatus (AREA)
- Machine Translation (AREA)
Abstract
本发明涉及基于文档模式的知识的文档合并的方法和系统。具体而言,根据本发明的一个实施例,一种系统合并文档,并且其包括包含至少一个处理器的计算机系统。该系统接收包含根据由模式信息限定的文档模式布置的目标文档的一个或更多个更新的更新文档。更新信息包含到文档模式内的节点的一个或更多个路径,并且被检查以识别适于更新的路径。根据模式信息向目标文档应用来自更新文档的与合适的路径相关的更新,以产生符合文档模式的经更新的文档。本发明的实施例还包括用于以上述的基本上相同的方式合并文档的方法和计算机程序产品。
Description
技术领域
本发明的实施例涉及文档的合并,更特别地,涉及以符合目标XML文档的模式的方式基于更新文档的内容(包含修改的目标文档数据)更新目标扩展标记语言(XML)文档内的信息。
背景技术
XML模式经常用于限定XML文档的需要的格式和结构。XML文档的更新或修改可表示为更新消息或文档。更新文档可被利用以修改相应的现有或目标XML文档,并且,可包含目标文档中的要素/属性的新值和/或要被插入目标文档中的新的要素、属性或文档片段。另外,更新文档可标记(flag)用于从目标文档删除的要素、属性或文档片段。
当合并更新文档和目标文档时,该合并可包含将来自更新文档的要素插入目标文档中,需要以修改的目标文档符合给定的XML模式以保持数据完整性的方式应用所有的对于目标文档的修改。确定用于修改的目标文档中的相应的插入位置不是轻微的任务,并且需要保持符合XML模式。
发明内容
根据本发明的一个实施例,一种系统合并文档,并且该系统包括包含至少一个处理器的计算机系统。该系统接收包含根据由模式信息限定的文档模式布置的目标文档的一个或更多个更新的更新文档。更新信息包含到文档模式内的节点的一个或更多个路径,并且被检查以识别适于更新的路径。根据模式信息向目标文档应用来自与合适的路径相关的更新文档的更新,以产生符合文档模式的经更新的文档。本发明的实施例还包括用于以上述的基本上相同的方式合并文档的方法和计算机程序产品。
附图说明
图1是供本发明的实施例使用的示例性的计算环境的示图。
图2是根据本发明的实施例的用于处理信息以合并更新文档与目标文档的示图。
图3是根据本发明的实施例的根据目标文档的XML模式基于更新文档内的内容更新目标XML文档的例子。
图4A~4B是示出根据本发明的实施例的用新的或附加的信息更新目标文档的方式的过程流程图。
图5是示出根据本发明的实施例的关于去除信息更新目标文档的方式的过程流程图。
具体实施方式
本发明的实施例涉及合并XML文档,或者,换句话说,涉及基于更新文档的内容更新目标文档。合并可导致目标文档中的值被更新、新的要素被插入目标文档中并且/或者从目标文档删除现有的要素。通过XML模式的知识执行本发明的实施例的合并操作。这使得经更新的目标文档中的要素的次序和嵌套能够符合XML模式并使得新的要素能够在由XML模式限定的它们的正确的位置上被插入目标文档中,由此在合并操作之后保持数据完整性并避免目标文档的昂贵的重新验证,等等。并且,本发明的实施例的合并操作完全被自动化(不需要人交互作用以完成文档的合并),由此减少错误、提高效率并使得能够扩展到大量的并行的合并操作。
并且,本发明的实施例可将Δ消息的形式的更新文档合并成目标文档。Δ消息是仅包含用于目标文档的变化的特殊类型的更新文档。Δ消息一般表示与目标文档相同的结构,但不包含应保持不变的文档部分。这使得更新文档能够远小于目标文档。因此,即使更新文档不代表目标文档的完整的新的版本,本发明的实施例也可适应更新文档。
另外,本发明的实施例的合并操作是可定制化的,并使得管理员或其它用户能够规定更新文档的适于修改目标文档的部分。并且,合并操作使用XML模式的表格表示,以提高效率。该表格表示可通过关系数据库中的表格和索引被实现,并使得能够直接访问模式中的任意的点(没有XML解析或遍历)。并且,合并操作使得能够在没有XML解析的情况下更新目标文档。
因此,本发明的实施例能够提供根据XML模式的XML文档的合并以保持经更新的文档的有效性并能够将小的Δ消息合并成较大的目标文档。本发明的实施例可产生在一次执行中向目标文档应用所有的需要的变化的单一更新语句。在实施例中,可在本地XML数据库中执行该更新语句,由此避免目标文档的解析。另外,在不需要来自用户的手动干预的情况下执行合并操作。
在图1中示出供本发明的实施例使用的示例性的环境。特别地,该环境包含一个或更多个服务器系统10(例如,数据库系统服务器、中间件或应用服务器等)和一个或更多个客户端或最终用户系统14。服务器系统10和客户端系统14可相互远离并在网络12上通信。可通过任意数量的任何适当的通信介质(例如,广域网络(WAN)、局域网络(LAN)、因特网、内联网等)实现网络。作为替代方案,服务器系统10和客户端系统14可相互处于本地上,并且通过任何适当的本地通信介质(例如、局域网络(LAN)、硬接线、无线链接、内联网等)通信。
客户端系统14使得用户能够向服务器系统10提交供文档合并的文档(例如,更新和/或目标文档)。服务器系统包含用于执行合并操作的合并模块16。数据库系统18可存储用于合并操作的各种信息(例如,模式表格、更新路径表、更新和/或目标文档等)。数据库系统可通过任何常规或其它的数据库或存储单元被实现,其可处于服务器系统10和客户端系统14的本地或者远离它们,并可通过任意适当的通信介质(局域网络(LAN)、广域网络(WAN)、因特网、硬接线、无线链接、内联网等)通信。客户端系统可呈现图形用户(例如,GUI等)或其它的界面(例如,命令行提示、菜单画面等),以请求来自用户的涉及希望的文档和分析的信息,并可提供包含分析结果(例如,更新、目标和/或合并的文档、任何更新的失败等)的报告。
可通过优选配有显示器或监视器、基部(例如,包含至少一个处理器15、一个或更多个存储器35和/或内部或外部网络接口或通信装置25(例如,调制解调器、网卡等))、可选的输入装置(例如,键盘、鼠标或其它的输入装置)和任何商业可用和定制软件(例如,服务器/通信软件、合并模块、浏览器/界面软件等)的任何常规或其它的计算机系统实现服务器系统10和客户端系统14。
作为替代方案,一个或更多个客户端系统14可在作为独立单元操作时合并文档。在独立模式的操作中,客户端系统存储或访问数据(例如,模式表、更新路径表、更新文档、目标文档等),并包含用于执行合并操作的合并模块16。图形用户(例如,GUI等)或其它的界面(例如,命令行提示、菜单画面等)请求来自相应的用户的涉及希望的文档的信息,并且可提供包含分析结果(例如,更新、目标和/或合并的文档、任意更新的失败等)的报告。
合并模块16可包含用于执行以下描述的本发明的实施例的各种功能的一个或更多个模块或单元。各种模块(例如,合并模块等)可通过任意数量的软件和/或硬件模块或单元的任意的组合被实现,并且可驻留于服务器和/或客户端系统的存储器35内以供处理器15执行。
参照图2,本发明的实施例使用更新文档202、目标文档204和由模式表208代表的XML模式。XML模式表示基本上限定具有包含一个或更多个要素和/或属性的节点的树类型的结构。由模式限定的节点的位置可由路径指示。路径识别根要素与关注的节点之间的各种节点,由此提供通过文档结构到关注的节点的路径或路由。对于各节点,模式表也可指示母节点即路径中的前节点,由此有效地代表树结构。节点可包含多次出现的要素。可通过可被定义为位于树结构中的别处的另一路径上的某一其它的节点的标识符区分要素的多次出现。可以提供到识别的节点的路径作为相对路径,即,从需要区别的节点开始的路径而不是从树结构的根开始的路径。到识别的节点的相对路径可简单地指向如在样本模式表208中的诸如电话号码的类型属性(例如,蜂窝、工作等)的属性,或者指向一些其它的要素和/或它们的属性。
更新路径表210进一步被本发明的实施例使用,并规定适于修改的一组路径(在XML模式内)。换句话说,更新路径表使得能够通过识别可被更新的路径(或节点和相应的数据)定制合并操作。
合并模块16(例如,通过服务器系统10和/或客户端系统14)接收或访问更新文档202、目标文档204、模式表208和更新路径表210,并且以智能的方式探测这些项目,以比较它们的结构,并产生以符合XML模式的方式基于更新文档202修改目标文档204的适当的操作。得到的经更新的目标文档206包含由更新文档202规定的修改。
模式表208内的XML模式的表格表示使得能够实现特别有效的实现。但是,XML模式可以以任意希望的形式或方式被表示,并且在任意适当的数据或其它结构(例如,表、数组、链接或其它的列表、队列、堆栈等)内。模式表包含可在根据相应的XML模式产生的XML文档中出现的节点的相异的名称、路径和关系。
仅作为例子,模式表208包含可在实例文档中出现的各相异的节点(和属性)的一个行。该表示被用作查找表,以有效地确定节点位置(或路径)和XML文档中的节点之间的关系(例如,母代、祖代、同胞关系等)。模式表可由以下的例子(SQL)构造限定:
CREATE TABLE schematable(
sequence_no INT GENERATED ALWAYS AS IDENTITY,
node_name VARCHAR(255)NOT NULL,
xpath VARCHAR(4096)NOT NULL,
parent_xpath VARCHAR(4096)NOT NULL,
repeating_elem INTEGER,
relative_path_to_id VARCHAR(1024))
sequence_no列表示允许在XML文档(由XML模式限定)中出现的节点(或路径)的深度优先次序。其将用于确定后面描述的XML模式内的同胞节点的位置。作为例子,sequence_no列可包含用于初始节点的初始值(例如,1等),并通过递增各后继节点的当前值(例如,增加1等)产生。node_name和xpath列分别包含XML模式内的各节点的名称和位置路径。列parent_xpath包含到各节点的母节点的路径(对于根要素是空的)。可基于parent_xpath栏(例如,以及次序号)识别同胞节点和它们的相对次序。列repeating_elem是指示可在文档内多次出现的相应的节点的要素的标记(例如,为0的布尔(Boolean)值表示非重复要素,而为1的布尔值表示重复要素)。列relative_path_to_id是可选的栏,并且对于在文档内最多出现一次的那些节点(和路径)包含NULL值。该字段还包含到允许在文档内出现多于一次的相应的节点的要素的相对路径。该相对路径指向可被用作要素的重复出现中的唯一标识符以相互区分重复出现的另一要素或属性(例如,可规定对于相关的电话号码节点可多次出现的电话号码要素的类型(例如,工作、蜂窝、家庭等)的类型属性)。
仅作为例子,模式表208包含可具有多个电话要素(与子电话节点相关)和多个帐户要素(与子帐户节点相关)的客户节点。relative_path_to_id列指示文档内的电话要素可基于它们的类型属性(例如,图2所示的type)被区分,并且,文档内的帐户要素可基于它们的帐户识别属性(例如,图2所示的accid)被区分。
另外,模式表可包含用于另外的信息的附加的列或栏(例如,可选的节点需要的用于区分的标记(对于处理节点删除是有用的)等)。本发明的实施例的合并操作还可适应具有任意的名称空间的文档。即,XML模式可限定在更新文档和目标文档内两者中可出现的任意的名称空间。在这种情况下,可通过适当的(对本领域的一些技术人员是直接的)名称空间信息来丰富模式表208和更新路径表210。在实施例中,附加的表也可被用于将名称空间URI(统一资源标识符)映射到唯一名称空间前缀。
模式表还可包含各节点的其它信息,诸如数据类型、出现指示符和其它的特性。但是,如果已知更新文档关于XML模式是有效的,或者,如果更新文档可响应包含不允许的值而被验证并且被拒绝,那么模式表不需要包含关于数据类型或限制节点值的其它方面的信息。在这些情况下,不需要数据类型信息等以确保目标文档关于XML模式保持有效。
可通过从原XML模式产生主文档来填充(populate)模式表。主文档包含XML模式的各可选或强制要素或属性的出现。如果要素被允许多于一次地出现,那么主文档包含该要素的至少两次出现。可以利用各种常规的XML工具,以从XML模式产生主文档。一旦产生主文档,就可执行遍历主文档中的每个路径、提取各相异的节点名称、路径和母路径并且检测要素在主文档内出现一次还是多次的SQL/XML语句。该信息被插入模式表中。具有域知识的管理员或其它用户可提供与重复的要素相关的那些行的relative_path_to_id列的条目(例如,repeating_elem列具有为1的值)。
作为替代方案,软件模块(例如,包含于合并模块16内或与其独立)可被利用(例如,Java、C或其它的代码等),以读取和解析原XML模式,并且产生用于模式表的条目。
更新路径表210包含适于被更新的一组路径(或XML模式内的节点)。更新路径表可远比模式表小,并使得能够通过控制可被更新的目标文档内的数据实现合并操作的定制。更新路径表可被固定并指示适于更新的XML模式内的路径(例如,到可被更新的节点的路径)的子组。可通过以下的例子(SQL)构造定义示例性的更新路径表:
CREATE TABLE update_paths(xpath VARCHAR(4096)NOT NULL)
仅作为例子,更新路径表210(图2)包含规定来自模式表208的适于更新的路径的xpath列。
作为替代方案,可通过从更新文档导出信息动态地创建更新路径表(例如,作为存储器内结构)。当更新文档是包含非常少的路径的Δ消息时,这是有用的。如果动态地创建更新路径表,那么它还可包含具有来自更新文档的要素和属性值以及诸如用于重复要素的相对识别(“rel_id”)(或其区分方式)的各种其它信息的列。可为了提高效率开发更新路径表中的这种附加的信息,原因是它避免或减少随后导航到更新文档中以提取值。可通过以下的例子(SQL)构造定义动态创建的更新路径表:
CREATE TABLE update_paths(xpath VARCHAR(4096)NOT NULL,
rel_id VARCHAR(1024),
value VARCHAR(1024)).
更新路径表中的行被处理,这里,使用由行指示的路径以智能探测到更新文档、目标文档和模式表中。合并操作可利用更新路径表以确定各种信息。特别地,合并操作确定目标文档中的哪些要素或属性值需要被来自更新文档的值替代。如果要更新重复要素,那么合并操作确定是更新要素的现有的出现还是插入要素的附加的出现。
合并操作还确定还没有在目标文档中出现的新的节点(诸如重复要素的出现)是否需要被插入目标文档中。在这种情况下,合并操作确定对于确保目标文档保持对于XML模式有效十分关键的目标文档内的新的节点的正确的位置。XQuery Update表达可被构造并被执行以适当地更新目标文档。作为替代方案,可产生并执行XSLT风格表或其它的XML更新机制。
在图3中示出更新文档202与目标文档204的示例性的合并。特别地,目标文档204包含顾客的识别、名称、地址和蜂窝式电话信息。更新文档202包含与更新文档204的结构类似的结构,其具有街道地址的经更新的值和电子邮件、工作电话和帐户信息的新的数据要素。合并模块16(例如,通过服务器系统10和/或客户端系统14)接收更新文档202并利用更新路径表210以确定适于被更新的信息。进一步利用模式表208以识别用于被更新或插入的信息在目标文档结构内的位置。产生得到的修改的目标文档206。在本例子中,在适当的位置上在修改的目标文档206内更新了更新文档202内的地址信息。另外,由于初始目标文档204不包含工作电话、电子邮件和帐户信息,因此,基于模式表已在目标文档结构内的适当的位置上向修改的目标文档206添加了这些项目。因此,产生具有符合用于目标文档的XML模式的具有经更新的信息的修改的目标文档206。
经更新的信息可通过更新表达或语句的产生和执行被应用于目标文档。语句将修改(例如,更新、插入等)一并应用于目标文档,这里,根据XML模式在适当的位置上提供插入。通过用于各单个修改的表达的级联产生语句。可对于以上的修改产生的示例性XQuery更新表达可以如下:
该表达可以以任意适当的查询类型的语言(例如,XQuery、XSLT等)被实现,并可进一步适应后面描述的目标文档内的信息的删除。
在图4A~4B中示出根据本发明的实施例的基于一个或更多个更新文档(例如,通过合并模块16和服务器系统10和/或客户端系统14)更新目标文档的方式。首先,产生XQuery更新表达以基于更新路径表、模式表和更新文档修改目标文档。特别地,在步骤400上检索和检查更新路径表的一行,以确定在更新文档内存在更新路径。目标文档的修改限于在更新路径表中规定为适于更新的路径,由此实现合并操作的定制。当在步骤405中确定在更新文档中不存在检索的更新路径时,响应在步骤460中确定在更新路径表中存在另一行而在步骤465中检索更新路径表的下一行。
如果在步骤405中确定在更新文档内存在检索的更新路径(例如,由于存在于更新路径表内,因此检索的更新路径被确定为适于更新),那么合并模块在步骤410中确定是否在模式表208中存在用于检索的更新路径的相应的relative_path_to_id列的值(例如,确定是否存在重复要素)。当该值不存在(即,指示检索的更新路径(或节点)的相应的要素出现一次)时,合并模块在步骤415中确定是否在目标文档中存在检索的更新路径。如果在目标文档内存在检索的更新路径(例如,已被确定为适于更新),那么,在步骤420中,产生更新表示,以用来自更新文档的新值替代与目标文档内的检索的更新路径相关的旧值,并且,以与上述的方式基本上相同的方式,响应于在步骤460中确定在更新路径表中存在另一行,而在步骤465中检索和检查来自更新路径表的下一行。
当在步骤415中确定在目标文档中不存在检索的更新路径时,在目标文档中不存在与检索的更新路径对应的节点,因此需要插入该节点。因此,为了提供将新添加的节点插入目标文档中的位置,确定文档模式内的检索的更新路径(或节点)的母节点。如果在目标文档内不在母节点,那么类似地需要插入母节点(这需要确定祖母节点)。XML模式结构被遍历(例如,通过模式表208的xpath和parent_xpath列),以用存在于目标文档内的母节点确定最近的祖先节点。当在目标文档中不存在祖先节点与新添加的节点之间的节点的情况下,从祖先节点到新添加的节点的适当谱系(等级)的节点被插入目标文档中。
特别地,从模式表检索检索的更新路径(或节点)的母节点。如果在目标文档中不存在母节点,那么从模式表检索母节点的母体(或祖母节点)。在步骤435中,重复该过程,直到识别祖先节点,该祖先节点的母节点存在于目标文档中。识别的祖先节点是用于插入到目标文档中的谱系的初始节点。因此,为了识别祖先节点,基本上从最低或底部阶层到上部或较高阶层遍历该结构,这里,为了符合XML模式,从祖先节点到新添加的节点的整个错失的谱系(例如,识别的祖先和相应的后代节点)被插入目标文档中。
一旦要被插入的节点或插入节点被识别(即,是祖先节点存在于目标文档内的更新路径节点或祖先存在于目标文档内的更新路径节点的最近的祖先节点),要被插入的节点就根据XML模式被置于同胞节点之中的适当的位置上。因此,在步骤440中确定目标文档内的识别的插入节点的最近的前同胞节点。特别地,模式表被访问以检查识别的插入节点的前同胞。前同胞节点是模式表中的序列号比插入节点的序列号低并具有由模式表中的parent_xpath列值代表的相同的祖先节点的节点。前同胞节点通过它们的序列号(例如,模式表208中的sequence_no列)以降序被排序,并且,对于后继各同胞节点(以序列号减小的次序)确定目标文档内的存在,直到识别前同胞节点。当在步骤445中在目标文档内识别前同胞节点时,在步骤450中,产生更新表达,以将插入节点插入在目标文档内在识别的前同胞节点之后。相应的后代节点关于插入的节点以适当的关系被插入,使得新添加的节点被置于谱系内的适当的位置上(例如,层次内的最后的后代节点)。以上述的基本上相同的方式响应于在步骤460中确定更新路径表中存在另一行,在步骤465中检索和检查来自更新路径表的下一行。
如果在步骤445中确定没有前同胞节点在目标文档中被识别(例如,被插入的节点没有前同胞),那么,在步骤455中,产生更新表达,以将插入节点作为相应的母节点的第一子体而插入。相应的后代节点关于插入的节点以适当的关系被插入,使得新添加的节点被置于谱系内的适当的位置上(例如,层次内的最后的后代节点)。以上述的基本上相同的方式响应于在步骤460中确定更新路径表中存在另一行,在步骤465中检索和检查来自更新路径表的下一行。
当在步骤410中确定在模式表208中存在relative_path_to_id的值(例如,指示检索的更新路径(或节点)的重复要素)时,在步骤425中从模式表检索relative_path_to_id列值。对于更新文档中的相应的重复要素的每次出现,在步骤430中确定在目标文档中存在相同的出现。出现的类似性基于在检索的relative_path_to_id列规定的要素或属性的相同的值。如果在目标文档内存在相同的出现,那么,在步骤420中,产生更新表达以用来自更新文档的新值代替目标文档内的(检索的更新路径(或节点的))要素出现的值。以上述的基本上相同的方式响应于在步骤460中确定更新路径表中存在另一行,在步骤465中检索和检查来自更新路径表的下一行。
如果在步骤430中确定在目标文档内不存在(检索的更新路径(或节点的))的重复要素的相同的出现,那么在目标文档内不存在重复要素的出现,因此,需要插入它。因此,以对于新添加的节点的上述的基本上相同的方式对于重复要素的新添加的出现的插入,确定目标文档模式内的适当的位置(或节点)。XML模式结构被遍历(例如,通过模式表208的xpath和parent_xpath列),直到对于重复要素的新出现的插入识别了目标文档内的适当的节点(例如,检索的更新路径(或节点)自身或模式的较高层次内的节点)。在在识别的节点与对于重复要素的新出现的相应的节点之间不存在节点的情况下,以对于新添加的节点的上述的基本上相同的方式将节点的适当的谱系插入到目标文档中。
特别地,首先对于在目标文档内插入新的出现确定在目标文档中是否存在重复要素(或检索的更新路径(或节点))的相应的节点。如果在目标文档内存在相应的节点,那么产生更新表达,以对于相应的节点插入重复要素的新的出现。
当在目标文档内不存在重复要素的出现的相应的节点(或检索更新路径(或节点))时,从模式表检索检索的更新路径(或节点)的母节点。如果在目标文档内不存在母节点,那么从模式表检索母节点的母体(或祖母节点)。以上述的基本上相同的方式,在步骤435中,重复该过程,直到识别祖先节点,该祖先节点的母节点存在于目标文档中。识别的祖先节点是用于插入到目标文档中的谱系的初始节点。因此,为了识别祖先节点,基本上从最低或底部阶层到上部或较高阶层遍历该结构,这里,为了符合XML模式,从祖先节点到新的出现的相应的节点的整个错失的谱系(例如,识别的祖先和相应的后代节点)被插入目标文档中。
以上述的基本上相同的方式,一旦要被插入的节点或插入节点被识别,该节点就根据XML模式被置于目标文档中同胞节点之中的适当的位置上。如上面描述的那样,在步骤440中确定目标文档内的识别的插入节点的最近的前同胞节点。模式表被访问以检查识别的插入节点的前同胞。前同胞节点通过它们的序列号(例如,模式表208中的sequence_no列)以降序被排序,并且,对于后继各同胞节点(以序列号减小的次序)确定目标文档内的存在,直到识别前同胞节点。
如上面描述的那样,当在步骤445中在目标文档内识别前同胞节点时,在步骤450中,产生更新表达,以将插入节点插入在目标文档内识别的前同胞节点之后。相应的后代节点关于插入节点以适当的关系被插入,并且,重复要素的新的出现对于谱系内的适当的相应的节点被插入(例如,相应的节点是层次内的最后的后代节点)。以上述的基本上相同的方式响应于在步骤460中确定更新路径表中存在另一行,在步骤465中检索和检查来自更新路径表的下一行。
如上面描述的那样,如果在步骤445中确定没有前同胞节点在目标文档中被识别(例如,插入节点没有前同胞),那么,在步骤455中,产生更新表达,以将插入节点作为第一子体插入相应的母节点中。相应的后代节点关于插入节点以适当的关系被插入,并且,重复要素的新的出现对于谱系内的适当的相应的节点被插入(例如,相应的节点是层次内的最后的后代节点)。以上述的基本上相同的方式响应于在步骤460中确定更新路径表中存在另一行,在步骤465中检索和检查来自更新路径表的下一行。
当在步骤460中确定处理了来自更新路径表的各行时,对于修改或合并产生更新表达。因此,更新表达被级联,以形成在步骤470中执行的XQrery变换表达,以向目标文档应用修改。
在图5中示出根据本发明的实施例的基于更新文档内的内容删除来自目标文档的信息的方式。首先,提供包含涉及目标文档内的信息的删除的内容的更新文档。更新文档可包含去除了一定的信息的目标文档的修订版本。作为替代方案,更新文档可以是仅包含改变的文档部分的Δ消息的形式。在这种情况下,利用删除属性以指示用于删除的目标文档内的相应的节点(和/或重复要素的出现)。
当在步骤500中确定提供的更新文档不是Δ消息时,在步骤505中,检查更新文档,以确定目标文档不存在的节点(和/或重复要素的出现)的有无。在这种情况下,更新文档包含在目标文档中要更新的节点(和/或重复要素的出现)和要保持不变的节点(和/或重复要素的出现)。如果节点在目标文档存在而在更新文档中不存在,那么,在步骤510中,从目标文档删除节点和相应的后代节点(和节点和后代节点的要素)。如果在目标文档内存在重复要素的出现但不在更新文档内不存在,那么,在步骤510中从目标文档删除相应的要素的出现。可以以上述的基本上相同的方式通过XQuery表达的产生实现这些操作以执行删除。可通过执行相应的删除的各单个表达的级联形成XQuery表达,这里,XQuery表达可被单独地执行,或者被添加到包含其它的修改(例如,更新、插入等)的XQuery表达。因此,为了有效地修改目标文档(没有XML解析),可通过XQuery表达的执行一并应用目标文档的修改(例如,更新、插入、删除等)。
如果更新文档如上面描述的那样包含改变的和不变的节点(和/或重复要素的改变的和不变的出现),那么更新文档基本上代表目标文档的完全的新版本。在这种情况下,可替代性地通过用更新文档替代目标文档实现删除。
当在步骤500中确定更新文档是Δ消息(例如,仅包含要改变的节点和/或重复要素的出现)时,在步骤515中,节点和/或重复要素的出现的属性被检查,以确定删除指示的存在。当节点和/或重复要素的出现包含指示删除的属性时,在步骤520中,标记节点和/或重复要素的出现以用于删除。在步骤525中,随后从目标文档删除标记的节点和/或重复要素的出现。可以以上述的基本上相同的方式通过XQuery表达的产生实现这一点以执行删除。可通过执行相应的删除的各单个表达的级联形成XQuery表达,这里,XQuery表达可被单独地执行,或者被添加到包含其它的修改(例如,更新、插入等)的XQuery表达。因此,为了有效地修改目标文档(没有XML解析),可通过XQuery表达的执行一并应用目标文档的修改(例如,更新、插入、删除等)。
可以理解,以上描述并且在附图中示出的实施例仅代表基于文档模式的知识实现文档合并的实施例的许多方式中的几种方式。
本发明的实施例的环境可包括任意数量的计算机或其它的处理系统(例如,客户端或最终用户系统、服务器系统等)和以任意希望的方式布置的数据库或其它的库,这里,本发明的实施例可被应用于任何希望的类型的计算环境(例如,云计算、客户端-服务器、网络计算、主机、独立系统等)。本发明的实施例使用的计算机或其它的处理系统可通过任意数量的任何个人或其它类型的计算机或处理系统(例如,IBM兼容机、膝上式电脑、PDA、移动装置等)被实现,并且可包括任何市售的操作系统和市售和定制软件(例如,浏览器软件、通信软件、服务器软件、合并模块、用于创建模式表的模块等)的任意的组合。这些系统可包括任意类型的监视器和输入装置(例如,键盘、鼠标、声音识别等)以键入和/或查看信息。
应当理解,本发明的实施例的软件(例如,合并模块、用于创建模式表的模块等)可以以任何希望的计算机语言被实现,并且可基于包含于说明书中的功能描述和在附图中示出的流程图由计算机领域中的技术人员开发。并且,这里提到的任何的执行各种功能的软件一般指的是在软件控制下执行这些功能的计算机系统或处理器。可替代性地通过任意类型的硬件和/或其它的处理电路实现本发明的实施例的计算机系统。
可以在任意数量的软件和/或硬件模块或单元、处理或计算机系统和/或电路之间以任意的方式分布计算机或其它处理系统的各种功能,这里,计算机或处理系统可被设置为相互处于本地上或者相互远离,并且通过任何适当的通信介质(例如,LAN、WAN、内联网、互联网、硬接线、调制解调器连接、无线等)通信。例如,可以在各种最终用户/客户端和服务器系统和/或任何其它中间处理装置之间以任意的方式分布本发明的实施例的功能。可以以实现这里描述的功能的任意的方式修改以上描述并且在附图中示出的软件和/或算法。另外,可以以实现希望的操作的任何次序执行流程图或说明中的功能。
在供独立系统或通过网络或其它的通信介质连接的系统使用的可记录或计算机可用介质(例如,磁或光学介质、磁光介质、软盘、CD-ROM、DVD、存储器装置等)上,本发明的实施例的软件(例如,合并模块、用于创建模式表的模块等)是可用的。
可通过任意数量的任意类型的通信网络(例如,LAN、WAN、互联网、内联网、VPN等)实现通信网络。本发明的实施例的计算机或其它处理系统可包含任何常规或其它的通信装置以通过任何常规或其它的协议在网络上通信。计算机或其它处理系统可利用任何类型的连接(例如,有线、无线等)以访问网络。可通过任何适当的通信介质(例如,局域网络(LAN)、硬接线、无线链接、内联网等)实现本地通信介质。
系统可使用任意数量的任何常规或其它的数据库、数据存储或存储结构(例如,文件、数据库、数据结构、数据或其它库等)以存储信息(例如,更新文档和目标文档、模式表、更新路径表等)。可通过任意数量的任何常规或其它的数据库、数据存储或存储结构(例如,文件、数据库、数据结构、数据或其它库等)实现通过数据库系统,以存储信息(例如,更新文档和目标文档、模式表、更新路径表等)。数据库系统可包含于服务器和/或客户端系统内或与其耦合。数据库系统和/或存储结构可远离计算机或其它处理系统或处于其本地,并且可存储任何希望的数据(例如,更新文档和目标文档、模式表、更新路径表等)。并且,各种表(例如,模式表、更新路径表等)可通过任何常规或其它的数据结构(例如,文件、数组、列表、堆栈、队列等)被实现以存储信息,并且可被存储于任何希望的存储单元(例如,数据库、数据或其它库等)中。
本发明的实施例可被利用,以根据任何希望的模式合并任意数量的任何类型的文档。目标和更新文档可以是任意类型的文档或文件,包括任何希望的信息,并且包含任何希望的格式(例如,XML等)。更新文档可包含任何类型的用于指示更新的消息或文档(或者采用其形式)。Δ消息可包含任何希望的用于指示文档的更新或改变部分的格式或信息。更新文档(包含Δ消息)中的更新可以以任何希望的方式(例如,改变的文档部分、文档的修订版本等)被指示,并且包含任意数量的指示用于更新的特性或动作的任何希望的属性(例如,插入、删除、更新等)。更新文档和Δ消息可包含任何数量的目标文档的改变的或不变的部分。
模式可以是任意的类型,并且包含任何适当的用于文档的结构。可以以任何适当的方式(例如,表、数组、链接或其它列表、树、队列等)表示模式以用于确定文档与模式的符合性。模式表可包含任何希望的信息(例如,节点、路径、属性、母/同胞节点、序列号或其它的标识符等),并以任意的格式(例如,任意数量的具有任何适当的标首的列等)被布置以指示模式。
可以以任何适当的方式(例如,表、数组、链接或其它列表、树、队列等)指示适于被更新的数据。更新路径表可包含任何希望的信息(例如,节点、路径、属性、数据要素等),并以任意的格式(例如,任意数量的具有任何适当的标首的列等)被布置以指示适于更新的数据。管理员或其它用户可键入和/或修改在更新路径表内的信息,以控制目标文档的修改。可以利用任意数量的模式和更新路径表,这里,模式和更新路径表中的每一个可以与任意数量的用于修改的模式和/或文档相关。用于表、行和/或列的各种名称或其它标识符是例子,并且,可以使用任意适当的名称或其它的标识符。
可以以任何希望的方式(一并、单独地)或者以任何希望的组合(以任意希望的数量)实现对于目标文档的修改。可以以任意适当的查询或其它的语言通过查询或其它的命令应用修改。可以产生查询或命令以向目标文档应用任意数量的修改。作为替代方案,在更新文档包含目标文档的修改版本的情况下,目标文档可被更新文档替代。
本发明的实施例可使用任意数量的任意类型的用于获得或提供信息(例如,更新文档和目标文档、模式表、更新路径表等)的用户界面(例如,图形用户界面(GUI)、命令行、提示等),这里,界面可包含以任意方式布置的任何信息。界面可包含任意数量的任意类型的设置在任意的位置上以通过任何适当的输入装置(例如,鼠标、键盘等)键入/显示信息并启动希望的动作的输入或致动机构(例如,按钮、图标、字段、框、链接等)。界面画面可包含用于以任何方式在画面之间导航的任何适当的致动器(例如,链接、标签等)。
报告可包含以任何方式布置的任何信息,并且可基于规则或其它的准则被配置以向用户提供希望的信息(例如,更新、目标和/或得到的修改的文档、更新的失败等)。
当需要向目标文档添加信息时,可以插入目标文档缺少的任意数量的节点,以提供符合文档模式的目标文档的结构。模式可以以任何希望的方式被遍历(例如,底层向上层、上层向底层等),以识别目标文档缺少并且用于插入其中的相应的结构部分。祖先节点可作为母节点的任何适当的同胞被插入(例如,根据规定的次序、在无序结构的情况下在任何的位置上,等等)。
这里使用的术语仅是出于描述特定的实施例的目的,不是要限制本发明。如这里使用的那样,除非上下文另外清楚地指出,否则,单数形式“一种”、“一个”和“该”也要包括多数形式。还应理解,在本说明书中使用的术语“包括”、“包含、“含有”、“具有”和“具备”等规定陈述的特征、整数、步骤、操作、要素和/或部件的存在,但不排除一个或更多个其它特征、整数、步骤、操作、要素、部件和/或它们的组合的存在或添加。
以下的权利要求中的所有的手段或步骤加功能要素的相应的结构、材料、作用和等同要包括用于与具体要求权利的其它要求权利的要素组合执行功能的任何结构、材料或作用。本发明的描述是出于解释和描述的目的给出的,但不是详尽的或者不是将本发明限于公开的形式。在不背离本发明的范围和精神的情况下,本领域技术人员可以想到许多的修改或变更。为了最好地解释本发明的原理和实际的应用,并使得本领域技术人员能够理解本发明的具有适于设想的特定用途的各种修改的各种实施例,选择和描述了实施例。
本领域技术人员可以理解,本发明的各方面可体现为系统、方法或计算机程序产品。因此,本发明的各方面可采取这里可一般称为“电路”、“模块”或“系统”的完全硬件实施例、完全软件实施例(包括固件、驻留软件、微代码等)或组合软件和硬件方面的实施例的形式。并且,本发明的各方面可采取在上面具有体现的计算机可读程序代码的一个或更多个计算机可读介质中体现的计算机程序产品的形式。
可以利用一个或更多个计算机可读介质的任意的组合。计算机可读介质可以是计算机可读信号介质或计算机可读存储介质。计算机可读存储介质可以为例如但不限于电子、磁、光学、电磁、红外或半导体系统、装置或设备或者以上的任意适当的组合。计算机可读存储介质的更具体的例子(非详尽的列表)将包括以下:具有一个或更多个导线的电连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦写可编程只读存储器(EPROM或闪存存储器)、光纤、便携式光盘只读存储器(CD-ROM)、光学存储设备、磁存储设备或以上的任意的适当的组合。在本文档的上下文中,计算机可读存储介质可以是可包含或存储供指令执行系统、装置或设备使用或与其关联的程序的任何可触知的介质。
计算机可读信号介质可以例如包含其中体现计算机可读程序代码的在基带中或作为载波的一部分的传播数据信号。这种传播信号可采用各种形式中的任一种,包括但不限于电磁、光学或它们的任意的适当的组合。计算机可读信号介质可以为不是计算机可读存储介质并且可传送、传播或传输供指令执行系统、装置或设备使用或与其关联的程序的任何计算机可读介质。
可通过使用包含但不限于无线、有线、光纤电缆、RF等或以上的任何适当的组合的任何适当的介质传送在计算机可读介质上体现的程序。
可以以包括诸如Java、Smalltalk或C++等的面向对象的编程语言和诸如“C”编程语言或类似的编程语言的常规的过程编程语言的一个或更多个编程语言的任意的组合编写用于实施本发明的各方面的操作的计算机程序代码。可完全在用户的计算机上、部分地在用户的计算机上、作为独立软件包、部分地在用户的计算机上并且部分地在远程计算机上或者完全在远程计算机或服务器上执行程序代码。在后一种方案中,远程计算机可通过包括局域网络(LAN)或广域网络(WAN)的任意类型的网络与用户的计算机连接,或者,可进行与外部计算机的连接(例如,通过使用因特网服务提供商的因特网)。
以上参照根据本发明的实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述本发明的各方面。可以理解,可以通过计算机程序指令实现流程图和/或框图的各块以及流程图和/或框图中的块的组合。这些计算机程序指令可被提供给一般用途计算机、特殊用途计算机或其它可编程数据处理装置的处理器,以产生机器,使得通过计算机或其它可编程数据处理装置的处理器执行的指令创建用于实现在流程图和/或框图块中规定的功能/作用的手段。
这些计算机程序指令也可被存储于可指导计算机、其它可编程数据处理装置或其它装置以特定的方式起作用的计算机可读介质中,使得存储于计算机可读介质中的指令产生包括实现在流程图和/或框图块中规定的功能/作用的指令的制造物品。
计算机程序指令也可被加载到计算机、其它的可编程数据处理装置或其它设备上,以导致在计算机、其它可编程装置或其它设备上执行一系列的操作步骤,以产生计算机实现的过程,使得在计算机或其它可编程装置上执行的指令提供用于实现在流程图和/或框图块中规定的功能/作用的过程。
图中的流程图和框图示出根据本发明的各种实施例的系统、方法和计算机程序产品的可能的实现的架构、功能和操作。在这一方面,流程图或框图中的各块可表示包含用于实现规定的逻辑功能的一个或更多个可执行指令的模块、段或代码部分。还应注意,在一些替代性的实现中,在块中表示的功能可能不按在附图中表示的次序出现。例如,根据包括的功能,事实上可基本上同时执行后继地表示的两个块,或者,有时可以以相反的次序执行这些块。还应注意,可以通过执行特定功能或作用的基于硬件的特殊用途系统或特殊用途硬件和计算机指令的组合实现框图和/或流程图中的各块以及框图和/或流程图中的各块的组合。
Claims (14)
1.一种用于合并文档的计算机实现的方法,包括:
接收包含根据由模式信息限定的文档模式布置的目标文档的一个或更多个更新的更新文档;
检查包含到文档模式内的节点的一个或更多个路径的更新信息以识别适于更新的路径;和
根据模式信息向目标文档应用来自更新文档的与合适的路径相关的更新,以产生符合文档模式的经更新的文档。
2.根据权利要求1所述的计算机实现的方法,其中,更新信息被预先定义,以定制对于目标文档的更新。
3.根据权利要求1所述的计算机实现的方法,其中,基于更新文档动态产生更新信息。
4.根据权利要求1所述的计算机实现的方法,其中,更新包含插入节点、删除节点和修改值中的至少一个。
5.根据权利要求1所述的计算机实现的方法,其中,更新文档仅包含目标文档的更新部分。
6.根据权利要求1所述的计算机实现的方法,其中,在没有用户介入的情况下由计算机完成文档的合并。
7.根据权利要求1所述的计算机实现的方法,其中,目标文档包含XML文档,更新文档包含XML文档,并且,文档模式包含XML模式。
8.一种用于合并文档的系统,包括:
包含被配置为执行以下操作的至少一个处理器的计算机系统:
接收包含根据由模式信息限定的文档模式布置的目标文档的一个或更多个更新的更新文档;
检查包含到文档模式内的节点的一个或更多个路径的更新信息以识别适于更新的路径;和
根据模式信息向目标文档应用来自更新文档的与合适的路径相关的更新,以产生符合文档模式的经更新的文档。
9.根据权利要求8所述的系统,其中,更新信息被预先定义,以定制对于目标文档的更新。
10.根据权利要求8所述的系统,其中,基于更新文档动态产生更新信息。
11.根据权利要求8所述的系统,其中,更新包含插入节点、删除节点和修改值中的至少一个。
12.根据权利要求8所述的系统,其中,更新文档仅包含目标文档的更新部分。
13.根据权利要求8所述的系统,其中,至少一个处理器还被配置为在没有用户介入的情况下完成文档的合并。
14.根据权利要求8所述的系统,其中,目标文档包含XML文档,更新文档包含XML文档,并且,文档模式包含XML模式。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/359,607 US9626368B2 (en) | 2012-01-27 | 2012-01-27 | Document merge based on knowledge of document schema |
US13/359,607 | 2012-01-27 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN103226558A true CN103226558A (zh) | 2013-07-31 |
Family
ID=47748065
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2013100311400A Pending CN103226558A (zh) | 2012-01-27 | 2013-01-28 | 基于文档模式的知识的文档合并的方法和系统 |
Country Status (4)
Country | Link |
---|---|
US (2) | US9626368B2 (zh) |
CN (1) | CN103226558A (zh) |
DE (1) | DE102013200355A1 (zh) |
GB (1) | GB2499500A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112328841A (zh) * | 2020-11-30 | 2021-02-05 | 中国民航信息网络股份有限公司 | 一种文档处理方法、装置、电子设备及存储介质 |
CN112328841B (zh) * | 2020-11-30 | 2024-05-31 | 中国民航信息网络股份有限公司 | 一种文档处理方法、装置、电子设备及存储介质 |
Families Citing this family (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9626368B2 (en) | 2012-01-27 | 2017-04-18 | International Business Machines Corporation | Document merge based on knowledge of document schema |
US9760549B2 (en) * | 2012-07-18 | 2017-09-12 | Software Ag Usa, Inc. | Systems and/or methods for performing atomic updates on large XML information sets |
US10515141B2 (en) | 2012-07-18 | 2019-12-24 | Software Ag Usa, Inc. | Systems and/or methods for delayed encoding of XML information sets |
US9922089B2 (en) | 2012-07-18 | 2018-03-20 | Software Ag Usa, Inc. | Systems and/or methods for caching XML information sets with delayed node instantiation |
US9047325B2 (en) | 2013-04-08 | 2015-06-02 | International Business Machines Corporation | Modularizing complex XML data for generation and extraction |
US9274783B2 (en) * | 2013-12-25 | 2016-03-01 | Sap Se | Dynamic delivery and integration of static content into cloud |
US8893294B1 (en) | 2014-01-21 | 2014-11-18 | Shape Security, Inc. | Flexible caching |
US9779387B2 (en) * | 2014-06-20 | 2017-10-03 | Oracle International Corporation | Business-to-business document user interface and integration design |
US11556542B2 (en) * | 2015-02-07 | 2023-01-17 | International Business Machines Corporation | Optionally compressed output from command-line interface |
US11314807B2 (en) * | 2018-05-18 | 2022-04-26 | Xcential Corporation | Methods and systems for comparison of structured documents |
US10977289B2 (en) * | 2019-02-11 | 2021-04-13 | Verizon Media Inc. | Automatic electronic message content extraction method and apparatus |
US11334537B1 (en) * | 2019-04-04 | 2022-05-17 | Intrado Corporation | Database metadata transfer system and methods thereof |
US11941151B2 (en) * | 2021-07-16 | 2024-03-26 | International Business Machines Corporation | Dynamic data masking for immutable datastores |
CN113591434A (zh) * | 2021-08-05 | 2021-11-02 | 江西金格科技股份有限公司 | 一种ofd文档合并携带语义标引信息的方法 |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030172168A1 (en) * | 2002-03-05 | 2003-09-11 | Mak Mingchi S. | Document conversion with merging |
WO2003107576A2 (en) * | 2002-06-13 | 2003-12-24 | Cerisent Corporation | Xml-db transactional update system |
CN1991837A (zh) * | 2005-12-27 | 2007-07-04 | 国际商业机器公司 | 结构化文档处理装置和方法 |
CN101030220A (zh) * | 2007-04-06 | 2007-09-05 | 清华大学 | 一种基于可扩展标记语言文档树的连接方法 |
US20070294283A1 (en) * | 2006-06-06 | 2007-12-20 | Julie MaCkay | System, method and software application for managing meta-language documents |
CN101158939A (zh) * | 2007-11-16 | 2008-04-09 | 北京大学 | 标记语言文档的存储方法及装置和输出方法及装置 |
CN101300577A (zh) * | 2005-11-07 | 2008-11-05 | 微软公司 | 部分xml确认 |
US20090112890A1 (en) * | 2007-10-25 | 2009-04-30 | Oracle International Corporation | Efficient update of binary xml content in a database system |
US20100088676A1 (en) * | 2008-09-25 | 2010-04-08 | International Business Machines Corporation | Comparing and merging structured documents syntactically and semantically |
US20110066626A1 (en) * | 2009-09-15 | 2011-03-17 | Oracle International Corporation | Merging XML documents automatically using attributes based comparison |
Family Cites Families (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CA2255047A1 (en) | 1998-11-30 | 2000-05-30 | Ibm Canada Limited-Ibm Canada Limitee | Comparison of hierarchical structures and merging of differences |
US7031956B1 (en) * | 2000-02-16 | 2006-04-18 | Verizon Laboratories Inc. | System and method for synchronizing and/or updating an existing relational database with supplemental XML data |
JP3692054B2 (ja) * | 2001-05-21 | 2005-09-07 | 株式会社東芝 | 文書構造変換方法および文書構造変換装置およびプログラム |
US6996677B2 (en) | 2002-11-25 | 2006-02-07 | Nortel Networks Limited | Method and apparatus for protecting memory stacks |
US20050177578A1 (en) | 2004-02-10 | 2005-08-11 | Chen Yao-Ching S. | Efficient type annontation of XML schema-validated XML documents without schema validation |
US7440954B2 (en) * | 2004-04-09 | 2008-10-21 | Oracle International Corporation | Index maintenance for operations involving indexed XML data |
US7703005B2 (en) | 2004-05-21 | 2010-04-20 | Bea Systems, Inc. | Method to generate scripts from XML |
US7373586B2 (en) * | 2004-09-03 | 2008-05-13 | International Business Machines Corporation | Differencing and merging tree-structured documents |
US20070005657A1 (en) | 2005-06-30 | 2007-01-04 | Bohannon Philip L | Methods and apparatus for processing XML updates as queries |
US7529726B2 (en) * | 2005-08-22 | 2009-05-05 | International Business Machines Corporation | XML sub-document versioning method in XML databases using record storages |
JP4899476B2 (ja) * | 2005-12-28 | 2012-03-21 | 富士通株式会社 | 分割プログラム、連結プログラム、情報処理方法 |
US20070162486A1 (en) | 2005-12-30 | 2007-07-12 | Thomas Brueggemann | Merge tool for structured object models |
US8429526B2 (en) | 2006-04-10 | 2013-04-23 | Oracle International Corporation | Efficient evaluation for diff of XML documents |
US8082493B2 (en) | 2006-04-10 | 2011-12-20 | Oracle International Corporation | Streaming XML patch |
US7853573B2 (en) | 2006-05-03 | 2010-12-14 | Oracle International Corporation | Efficient replication of XML data in a relational database management system |
US20080028003A1 (en) | 2006-07-28 | 2008-01-31 | Thomas Brueggemann | Structured object model merge tool with static integrity constraint observance |
US20080235260A1 (en) * | 2007-03-23 | 2008-09-25 | International Business Machines Corporation | Scalable algorithms for mapping-based xml transformation |
US7941399B2 (en) * | 2007-11-09 | 2011-05-10 | Microsoft Corporation | Collaborative authoring |
CN101241532A (zh) | 2008-02-15 | 2008-08-13 | 北京邮电大学 | 面向源代码的基于不等式组求解的缓冲区溢出检测方法 |
CN101630350A (zh) | 2008-07-14 | 2010-01-20 | 西门子(中国)有限公司 | 缓冲区溢出漏洞的检测方法、装置和代码插装方法、装置 |
US8321834B2 (en) * | 2008-09-25 | 2012-11-27 | International Business Machines Corporation | Framework for automatically merging customizations to structured code that has been refactored |
CN102298677A (zh) | 2011-08-29 | 2011-12-28 | 瑞斯康达科技发展股份有限公司 | 一种堆栈溢出的保护方法和装置 |
US9626368B2 (en) | 2012-01-27 | 2017-04-18 | International Business Machines Corporation | Document merge based on knowledge of document schema |
-
2012
- 2012-01-27 US US13/359,607 patent/US9626368B2/en active Active
-
2013
- 2013-01-08 GB GB1300236.5A patent/GB2499500A/en not_active Withdrawn
- 2013-01-14 DE DE102013200355A patent/DE102013200355A1/de not_active Ceased
- 2013-01-28 CN CN2013100311400A patent/CN103226558A/zh active Pending
- 2013-07-12 US US13/940,646 patent/US9740698B2/en active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030172168A1 (en) * | 2002-03-05 | 2003-09-11 | Mak Mingchi S. | Document conversion with merging |
WO2003107576A2 (en) * | 2002-06-13 | 2003-12-24 | Cerisent Corporation | Xml-db transactional update system |
CN101300577A (zh) * | 2005-11-07 | 2008-11-05 | 微软公司 | 部分xml确认 |
CN1991837A (zh) * | 2005-12-27 | 2007-07-04 | 国际商业机器公司 | 结构化文档处理装置和方法 |
US20070294283A1 (en) * | 2006-06-06 | 2007-12-20 | Julie MaCkay | System, method and software application for managing meta-language documents |
CN101030220A (zh) * | 2007-04-06 | 2007-09-05 | 清华大学 | 一种基于可扩展标记语言文档树的连接方法 |
US20090112890A1 (en) * | 2007-10-25 | 2009-04-30 | Oracle International Corporation | Efficient update of binary xml content in a database system |
CN101158939A (zh) * | 2007-11-16 | 2008-04-09 | 北京大学 | 标记语言文档的存储方法及装置和输出方法及装置 |
US20100088676A1 (en) * | 2008-09-25 | 2010-04-08 | International Business Machines Corporation | Comparing and merging structured documents syntactically and semantically |
US20110066626A1 (en) * | 2009-09-15 | 2011-03-17 | Oracle International Corporation | Merging XML documents automatically using attributes based comparison |
Non-Patent Citations (1)
Title |
---|
郝艳广: "《保留语义约束的关系模式到XML Schema转换的研究与实现》", 9 June 2009 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112328841A (zh) * | 2020-11-30 | 2021-02-05 | 中国民航信息网络股份有限公司 | 一种文档处理方法、装置、电子设备及存储介质 |
CN112328841B (zh) * | 2020-11-30 | 2024-05-31 | 中国民航信息网络股份有限公司 | 一种文档处理方法、装置、电子设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
DE102013200355A1 (de) | 2013-08-01 |
US9740698B2 (en) | 2017-08-22 |
US20130198605A1 (en) | 2013-08-01 |
US9626368B2 (en) | 2017-04-18 |
GB201300236D0 (en) | 2013-02-20 |
GB2499500A (en) | 2013-08-21 |
US20130304769A1 (en) | 2013-11-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103226558A (zh) | 基于文档模式的知识的文档合并的方法和系统 | |
US7860817B2 (en) | System, method and computer program for facet analysis | |
US9542622B2 (en) | Framework for data extraction by examples | |
US7849090B2 (en) | System, method and computer program for faceted classification synthesis | |
US7844565B2 (en) | System, method and computer program for using a multi-tiered knowledge representation model | |
US7596574B2 (en) | Complex-adaptive system for providing a facted classification | |
US7143344B2 (en) | Transformation stylesheet editor | |
Zhang et al. | Mining domain knowledge on service goals from textual service descriptions | |
CN106843878B (zh) | 一种模型生成方法和系统 | |
Raza et al. | Web data extraction using hybrid program synthesis: A combination of top-down and bottom-up inference | |
JP2008171181A (ja) | 構造化データ検索装置 | |
Inala et al. | WebRelate: integrating web data with spreadsheets using examples | |
Omari et al. | Cross-supervised synthesis of web-crawlers | |
JP3914081B2 (ja) | アクセス権限設定方法および構造化文書管理システム | |
Tramp et al. | Rdfauthor: Employing rdfa for collaborative knowledge engineering | |
RU2613026C1 (ru) | Способ подготовки документов на языках разметки при реализации пользовательского интерфейса для работы с данными информационной системы | |
US9218393B2 (en) | Hierarchical data server | |
US20090222447A1 (en) | Data processing apparatus and data processing method | |
Mukhitova et al. | DEVELOPMENT OF AN ADAPTIVE GRAPHIC WEB INTERFACE MODEL FOR EDITING XML DATA. | |
Ezra Tsur | Rapid development of entity-based data models for bioinformatics with persistence object-oriented design and structured interfaces | |
Škrbić et al. | Bibliographic records editor in XML native environment | |
DePero | Schemalysis: Visualization of a Sub-Schemas in Document NoSQL Databases | |
Sunchu | A Flexible Schema-Aware Mapping of XML Data into Relational Models | |
CN115391550A (zh) | 一种异构知识资源智能融合方法 | |
Eklund et al. | A knowledge representation for information filtering using formal concept analysis |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20130731 |
|
RJ01 | Rejection of invention patent application after publication |