CN101271390A - 修改xml数据结构的软件、系统和方法 - Google Patents

修改xml数据结构的软件、系统和方法 Download PDF

Info

Publication number
CN101271390A
CN101271390A CNA2008100855146A CN200810085514A CN101271390A CN 101271390 A CN101271390 A CN 101271390A CN A2008100855146 A CNA2008100855146 A CN A2008100855146A CN 200810085514 A CN200810085514 A CN 200810085514A CN 101271390 A CN101271390 A CN 101271390A
Authority
CN
China
Prior art keywords
xml
file
instruction
node
xml file
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
Application number
CNA2008100855146A
Other languages
English (en)
Inventor
溥瑞闻
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Calendar Software Development (shenzhen) Co Ltd
Original Assignee
Calendar Software Development (shenzhen) Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Calendar Software Development (shenzhen) Co Ltd filed Critical Calendar Software Development (shenzhen) Co Ltd
Publication of CN101271390A publication Critical patent/CN101271390A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/80Information 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/84Mapping; Conversion
    • G06F16/88Mark-up to mark-up conversion
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/12Use of codes for handling textual entities
    • G06F40/14Tree-structured documents
    • G06F40/143Markup, e.g. Standard Generalized Markup Language [SGML] or Document Type Definition [DTD]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/12Use of codes for handling textual entities
    • G06F40/151Transformation
    • G06F40/154Tree 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)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Document Processing Apparatus (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明描述了修改可扩展标记语言(XML)文件的方法、系统和软件。首先,提供了具有包括至少一条修改所述XML文件的指令的至少一个数据节点的XML文件。解析该XML文件以识别修改指令,并且根据所述至少一条指令修改所述XML文件,以生成修改的XML文件。

Description

修改XML数据结构的软件、系统和方法
相关申请
本申请与2007年3月8日提交、麦克·弗里德曼(Michel Friedman)的名称为“基于第二树数据结构变换和添加内容到模板树数据结构的方法和系统”的第60/905,626号美国临时专利申请相关,并要求其优先权,该专利申请的公开内容并入本文作为参考。
技术领域
本发明一般涉及信息处理,更具体地,涉及修改XML文件和从XML生成报表的软件、系统和方法。
背景技术
可扩展标记语言(XML)是在不同系统和应用之间交换信息的最主要的方法。很多桌面软件产品也支持将应用程序保存为XML和打开应用程序内部的XML文件。为了在系统之间使用XML交换信息,通常有必要将XML文件从输出应用程序所使用的格式转换为输入应用程序所使用的格式。
进行此转换的主要方法是XSL。XSL是从XML文件提取内容并使用该内容生成新的XML文件的语言。一个建立XSL文件的普通方法是模仿想得到的输出的XML文件的结构,以及添加另外的XML元素作为详细说明如何从单独的XML文件提取和合并数据的指令。使用标准的XML编辑器或XSL工具创建XSL文件是困难的,并且要求程序员对XSL、目标XML格式和源文件的XML格式有很深的了解。很多诸如办公软件使用的XML格式是复杂的,并且如果目的是产生这些格式的输出,则很难使用。
修改这些格式以使XSL命令嵌入通常使得不可能打开初始工具中的文件。这意味着,如果希望在想得到的输出文件中进行小的修改(例如,用以生成具有以红色代替蓝色的特殊数据的Microsoft Word文档),则必须要么手动修改描述输出文档格式的XML(这对专门人员也是困难和容易出错的任务),要么返回到没有任何XSL指令的初始模板,在初始工具(即,Microsoft Word)中进行想要的修改,保存文件,然后将所有的XSL命令添加回正确的地方。这个后面的处理也很困难和容易出错。
因此,存在对下面方式的需要:使用其它程序可见的指令容易地创建基于已有XML文件的XSL文件作为用户数据,并且不影响在产生初始文件的软件工具中打开和修改文件。
发明内容
根据示例性实施方案,计算机可读介质包括指令,当由处理器读取时,所述指令执行修改可扩展标记语言(XML)文件的步骤,所述步骤包括:在具有包括至少一条修改XML文件的指令的至少一个数据节点的XML文件中,识别所述至少一条指令;解析所述至少一条指令;以及根据所述至少一条指令修改XML文件,以生成修改的XML文件。
根据另一个示例性实施方案,修改具有包括修改XML文件的至少一条指令的至少一个数据或注释节点的可扩展标记语言(XML)文件的方法包括:在所述XML文件中,识别所述至少一条指令;解析所述至少一条指令;以及根据所述至少一条指令修改XML文件,以生成修改的XML文件。
根据另一个示例性实施方案,修改可扩展标记语言(XML)文件的系统包括:数据存储,用于存储具有包括至少一条修改XML文件的指令的至少一个数据节点的XML文件;以及处理器,用于识别和解析所述至少一条指令,然后根据所述至少一条指令修改XML文件,以生成修改的XML文件。
根据又一个示例性实施方式,计算机可读介质包括指令,当由处理器读取时,所述指令执行修改源数据结构的步骤,所述步骤包括:在具有包括至少一条修改源数据结构的指令的至少一个数据节点的源数据结构中,识别所述至少一条指令;解析所述至少一条指令;以及根据所述至少一条指令修改源数据结构,以生成修改的源数据结构。
附图说明
附图说明了示例性实施方案,其中:
图1描述了根据示例性实施方案修改源XML文件和将修改的XML文件与数据合并的过程图;
图2描述了根据示例性实施方案修改源数据结构的系统;
图3描述了可与示例性实施方案共用的示例性数据文件;
图4示出了与示例性实施方案有关的XML文档的示例性部分;
图5为包括处理指令的Word文档,所述处理指令可保存为XML文件,然后由示例性实施方案处理;
图6为描述根据示例性实施方案修改XML文档或文件的方法的流程图。
具体实施方式
以下是参考附图对示例性实施方案的详细说明。不同附图中的相同的附图标记标识相同或相似的单元。并且,以下详细说明不限制本发明。本发明的范围由所附的权利要求书限定。
根据示例性实施方案,一些传统办公软件(诸如Microsoft Office、Open Office、各种HTML创作工具、或能将文件以XML格式保存的其它信息演示工具)被用于设计报表。然后,使用该相同的传统办公软件的用户接口将一条或多条指令添加到该报表,从而从该软件保存的XML文件中将包括这些修改指令。这些修改指令将所保存的源XML文件转换为经处理的XML文件(例如,XSL文件),所述经处理的XML文件能将XML数据文件转换为能由所述办公软件打开的报表。以此方式,熟悉创建基本文字处理文档的终端用户也能设计报表和/或修改已有报表的格式和设计,从而消除大多数需要高度熟练的软件开发人员来修改和定制报表以符合期望的设计或对数据演示进行修改的情况。
图1描述根据本发明修改XML数据结构的示例性实施方案。其中,例如Microsoft Office、Open Office、HTML创作工具或另一信息演示工具的源应用程序100用于生成源XML文件102。源XML文件102包括一条或多条已经被添加至源XML文件102的指令,该指令提供了与如何为特定执行修改源XML文件102有关的信息,例如,以生成具有相对于原始模板的某些变化的报表。将源XML文件102输入到应用程序特定预处理器功能104。应用程序特定预处理器功能104工作,以在考虑嵌入的修改指令前调整源XML文件,例如,从而从不能由特定执行中使用的XSL引擎处理的源XML文件中去除元素,或者将非XML文件转换为XML。将应用程序特定预处理器104对源XML文件102进行的修改传递到数据存储106,用于存储以及随后的恢复,这将在下面说明。一旦源XML文件102已经被预处理,则将其传递到主处理功能108,该主处理功能108解析所述源XML文件,以识别嵌入其中的一条或多条指令,所述指令通知主处理功能108修改源XML文件102的方式。然后,主处理功能108进行所指示的修改,并将得到的修改的XML文件(例如,XSL文件)传递到数据存储106,修改的XML文件保存在数据存储106中直到需要用于操作,例如,报表生成。虽然在该示例性实施方案中源数据文件102是XML文件102,但本领域技术人员可以理解,本发明的其它实现可以使用其它类型的源数据结构。例如,对于Open Office,作为源数据文件102工作的保存的文件是能从其提取XML文件的ZIP文件。
当使用修改的XML文件执行操作时,在本示例性实施方案中,由XSL处理功能110从数据存储106中检索。XSL处理功能110使用XSL文件转换由数据提供者112提供的XML文件,以生成经处理的XML数据文件,所述经处理的XML数据文件与应用程序特定预处理器106生成的XML文件相似地构造,但包括来自所述XML数据文件的数据。将经处理的XML数据文件输入到应用程序特定后处理功能114(其本质是将应用程序特定预处理功能104执行的过程反转),例如,以替换所述预处理功能104去除的数据,或将XML转换回非XML格式。为此,所述应用程序特定后处理功能从数据存储106中检索信息,如果应用程序特定预处理功能104对源XML文件102进行了修改,则所述信息表示进行了什么修改。然后,将结果(即具有源应用程序特定格式的、经后处理的XML数据文件)输出到所述相同的源应用程序100,用于例如视为报表。
在从过程的角度说明了本发明的示例性实施方案后,图2从系统角度说明示例性实施方案。其中,处理服务器、个人计算机或其它处理装置200作为一个输入接收由例如使用者使用办公软件生成的应用程序源数据结构202(例如,源XML文件)。在执行预处理(如果有的话)后,如上所述,基于一条或多条嵌入所述源数据结构的修改指令,处理器200修改源数据结构202,以生成修改的源数据结构204。所述修改的源数据结构204可以存储在数据存储206中,该数据存储206可以实现为处理装置200内部的存储器(可移动或固定介质)或外部存储器,例如,修改的源数据结构可以通过诸如互联网的网络传输到远程存储地点(未示出)。
随后,可以使用修改的源数据结构204执行操作,例如,可使用数据结构204生成报表。为填写所述报表,向处理装置200提供数据,在本示例中,从XML数据文件208向处理装置200提供数据,以填写修改的源数据结构204中出现的任何变量。这样的纯粹说明性示例的XML数据文件208如图3提供。在执行后处理(如果有的话)后,处理装置200然后能通过源应用程序(图2中未示出)输出例如经处理的XML数据文件报表210。注意,虽然本示例性实施方案示出,由同一处理装置200生成修改的源数据结构204和经处理的XML数据文件报表210,但是根据其它示例性实施方案,可以使用两个不同的处理装置200分别生成修改的数据结构204和经处理的XML数据文件或报表,只要两个处理装置200如上所述都能访问其中存储了所述修改的数据结构204的数据存储206并且随后能从所述数据存储206检索所述修改的数据结构204即可。另外注意,XML数据文件208也可以存储在数据存储206中以及从其中检索。通常,报表210的格式和表现形式由源数据结构202确定,而报表210的数据内容由数据源208确定。
根据这些示例性实施方案,处理装置200可代替输出报表210生成其它输出作为处理结果,或者除了输出报表210之外,处理装置200还可生成其它输出作为处理结果。例如,此转换引擎还可以用于实现与其它系统进行数据交换的XML输出系统。在此实施方案中,处理装置200再次获得使用XML编辑软件创建的源数据结构202,并且将该文件转换为修改的源数据结构204(例如,XSL修改的XML文件204),然后该修改的源数据结构204在数据存储206中保存。然后,处理装置200例如从数据存储206获得XML数据文件208,并且使用修改的源数据结构204将XML数据文件208转换为用于数据交换212的经处理的XML数据文件。然后,处理装置200向可在不同的处理装置或服务器上运行的外部应用程序214发送此文件212作为一部分消息。在此数据交换示例性实施方案中,XML编辑工具用于通过在文本或注释节点中插入将模板(例如,源XML文件102)转换为XSL的指令来修改模板消息。这为开发人员提供了方便的机制来创建将数据XML文件映射为标准数据交换消息的XSL文件。
后面的示例性实施方案可以用于,例如提供作为电子数据交换(EDI)消息的文件212。例如,处理装置200可以是供应商的企业资源计划(ERP)系统,处理装置214可以是客户的ERP系统,文件212可以是预先装运通知(ASN),其列出供应商装运给客户的箱子及其内容物。可替代地,处理装置200和214可以是两个独立医院的医疗记录系统,文件212可以是病人的医疗记录。作为另一个替代,处理装置200可以是保险经纪人的系统,处理装置214可以是保险公司的系统,文件212可以是保险应用。本领域技术人员将理解,可以实现本发明的EDI实施方案的许多其它应用。在另一个应用中,处理装置200可以,例如从数据存储206获得XML数据文件208,并且使用修改的源数据结构204来将XML数据文件208转换为XHTML格式的经处理的XML数据文件,用于在互联网浏览器216中演示。其它软件或硬件机制218还可以根据这些示例性实施方案接收和处理修改的源数据结构以实现其它目的,包括:向消费者装置发送实时电价信息的设施,所述消费者装置例如为干衣机(每晚在电价最便宜的时间将它们打开),或者自动调温器(在使用高峰减少加热/冷却);发送指令到各个家用电器的智能家庭管理系统;发送关于产品和例外情况的信息的工业机器等。
在提供了一些说明性的全面的示例性实施方案之后,现在将转为讨论上述各方案的更详细的示例以进一步说明本发明。本领域技术人员将理解,这些示例意图对各个方面进行纯粹的说明,而不是对本发明进行限制。首先注意,图1说明的示例性过程具有四个主要处理阶段:(1)源文档的预处理,(2)源文档的处理,(3)检索源文档和将源文件与数据合并,及(4)对得到的数据结构后处理。每个这些处理阶段的一些示例将依次提供。这些示例使用以Oracle数据库示例性实现而提供,然而,本领域技术人员将理解,这些相同的技术可以用任何语言实现,所述任何语言例如包括XML DOM和XPath库,或足够强大以能实现这些库。这例如包括.NET、Java、所有现代的关系和面向对象的数据库、C、Pascal、以及几乎所有“3GL”、汇编语言以及机器语言。
所述应用程序特定预处理器功能104执行任何必需操作来生成经预处理的XML源数据文件,所述经预处理的XML源数据文件可以使用在本示例中为Oracle自带的XML支持来处理。这里提供结合Microsoft Office和Open Office进行预处理的两个示例,然而将理解,对可以使用的格式没有限制。例如,Microsoft Office在XML中存储嵌入图像和对象作为长UUEncoded文本数据元素,如图4所说明的示例。由于Oracle仅支持最大64K大小的节点,因此所述应用程序特定预处理功能104用杂乱信息替代这些嵌入的图像和对象,并且将原始数据存储在数据存储106中,从而其在应用程序特定后处理期间可以被重新构建。Microsoft Office还插入表示没有通过拼写和语法检查的词汇或短语的标签,这些标签也能可选地由所述应用程序特定预处理功能104去除,例如,使用XSLT转换来去除它们。
对于可用于创建源XML文件102的不同的源应用程序,预计所述应用程序特定预处理器功能104将执行不同的功能,以准备用于随后修改的源XML文件102。例如,考虑Open Office应用程序与上述Microsoft Office比较。Open Office数据格式都是JAR文件,即,它们使用包括多个文件和目录结构的ZIP压缩。假定使用作为源应用程序100的Open Office生成源XML数据文件102,并且在得到的JAR文件中将所述源XML数据文件102命名为content.xml。在此例子中,所述应用程序特定预处理器功能104将提取作为XML源文件102的content.xml文件,并且将所述JAR存储在数据存储106,从而其在上述应用程序特定后处理阶段114期间可以被重新构建。
在提供了应用程序特定预处理器104的一些示例后,现在重点转向主处理功能108的一些详细示例,所述主处理功能108修改从预处理器104传递的经预处理的源数据文件。例如,如上所述,XML处理功能108获得最初由诸如Microsoft Office或Open Office的终端使用者工具产生的经预处理的XML文件,分析所述文件,找到文本或注释(CDATA)节点中的指示(修改指令),并且使用那些指示增加将由XSL处理功能110用来将进入的数据与修改的XML文件合并的额外标签。例如,考虑图5中说明的Microsoft Word文档。此文档可以保存为以下XML文档(见附录A---XML代码示例)。
根据示例性实施方案,用来修改与图5的Word文档对应的XML文档的修改指令存储在对应的XML文档中的文本节点中。例如,第一修改指令
″<nova:modify tag=″xsl:for-each″
nova:attribute=″select=&quot;report&quot;″
nova:tag_xpath_location=″ancestor::wx:sect″
nova:tag_xpath_namespaces=″xmlns:wx=&quot;http://schemas.microsoft.
com/office/word/2003/auxHint&quot;″nova:tag_type=″surround:1″
nova:tag_namespace=″xmlns:xsl=&quot;http://www.w3.org/1999/XSL/Tr
ansform&quot;″
xmlns:nova=″http://www.parellax.com/nova/xml_reporting.xml″/>”
存储为
    <w:t>&lt;nova:modify tag=″xsl:for-each″
nova:attribute=″select=&amp;quot;report&amp;quot;″
nova:tag_xpath_location=″ancestor::wx:sect″
nova:tag_xpath_namespaces=″xmlns:wx=&amp;quot;http://schemas.micr
osoft.com/office/word/2003/auxHint&amp;quot;″
nova:tag_type=″surround:1″
nova:tag_namespace=″xmlns:xsl=&amp;quot;http://www.w3.org/1999/X
SL/Transform&amp;quot;″
xmlns:nova=″http://www.parellax.com/nova/xml reporting.xml″/&gt;
诸如上面描述的修改指令可以在源XML文件102中由XML处理功能110容易地找到,例如,在从诸如′&lt;′和′&gt;′的转义值重新构建诸如′<′和′>′的符号之后,使用Oracle的普通表达式功能,以及提取实际内容。识别此修改指令、然后处理它们以修改XML源文档的示例性的一般过程在图6的流程图中说明。首先在步骤600,执行经预处理的XML文件中的文本节点的深度第一搜索,以可选地,在想要的命名空间中寻找包括带有修改指令的良好形成的XML片段的文本节点。例如,tag_xpath_namespace属性可包括前缀和命名空间URI的列表。如果在属性值中的字符串数是奇数,则第一字符串是缺省的命名空间URI。否则,如果在属性中的字符串数是偶数,则第一字符串是第一前缀,后面是其命名空间URI。这些命名空间是tag_xpath_location字符串的命名空间上下文。作为识别修改指令的过滤器的命名空间的可选使用防止了与修改指令有关的属性标签名和应用程序使用的其它相同名称之间的冲突。在此示例性实施方案中,虽然使用施行转换的深度第一次序,但是更通常地,可以使用处理转换的其它预定次序,只要它们推理地已知、以提供可预计结果和促进标签参考即可,例如,如果以已知次序施行转换,则由一个转换创建的修改指令可以在后面的转换中被参考。
下面,对于由步骤600识别的每个文本节点,在步骤602,在想要的命名空间中解析修改指令。基于在经解析的修改指令中包含的属性和信息,在步骤604,从文本节点中将其XML片段部分删除,并且在步骤606,将所述XML片段部分放在XML文档中的适当位置。所示步骤的序列基于嵌入XML文档102中的一条或多条修改指令,创建了对源XML文档102的想要的修改。如上面关于图1的描述,得到的修改的XML文件可随后存储在数据存储106中。如上面所述,修改指令可包括标签属性和标签类型值,其由处理功能108用来确定在XML文档内如何/在哪里进行请求的修改。可以根据这些示例性实施方案而使用的一些标签属性和标签类型的示例在下面表1和表2中提供。
  标签   含义
  tag_xpath_location   XPath搜索字符串,所述字符串应在文本节点的上下文中评估,并且用于确定在XML文件中设置新元素的位置。
  tag_xpath_namespace   定义命名空间上下文的命名空间字符串,在所述命名空间上下文中评估tag_path_location XPath字符串
  tag_type   指示相对于由tag_xpath_location字符串选择的节点,在哪里设置元素的指令。tag_type属性包括类型(Type),其后是可选的“:”和数字-“tag_type:n”,例如,“surround:2”。如果没有“:”和n,则n值缺省为1。
  delete_xpath   XPath搜索字符串,所述字符串规定了在移动XML片段后要删除节点的列表。通过在注释或脚注中设置标签然后删除注释或脚注,以使其不在最终的报表中出现,可用于使模板文档的格式化更容易。
表1
Tag Type 值 含义
 surround(围绕)   从元素内的选定节点开始设置n个兄弟节点。在选定节点的父节点下方设置元素。
 inside(内部)   在选定节点内设置节点。在节点下方设置所有选定节点的元素和文本子女。忽略n。
 replace(替代)   替代选定节点。这通常用来替代文本节点。
 set_attribute_value   替代选定属性的值。该值将以由应用程序选择的杂乱值为前缀,以使其容易被找到,以及确定其能够与不是由预处理器创建的任何相似值区分开。
 xpath:[XPathExpression]   提供XPath表达式,以规定节点的列表,所述节点应从文档中的其它位置获得,其子女由新近插入的节点形成。
表2
为了更好理解图6的、根据这些示例性实施方案修改XML文档或文件的示例性方法,考虑其应用于示例性XML文档,例如,在上面并入本文作为参考的临时专利申请中所示。例如,当处理功能108在步骤600达到和识别其中提供的第一修改指令,即,
&lt;nova:modify tag=″xsl:for-each″
nova:attribute=″select=&amp;quot;report&amp;quot;″
nova:tag_xpath_location=″ancestor::wx:sect″
nova:tag_xpath_namespaces=″xmlns:wx=&amp;quot;http://schemas.micr
osoft.com/office/word/2003/auxHint&amp;quot;″
nova:tag_type=″surround:1″
nova:tag_namespace=″xmlns:xsl=&amp;quot;http://www.w3.org/1999/X
SL/Transform&amp;quot;″
xmlns;nova=″http://www.parellax.com/nova/xml_reporting.xml″/&gt;时,在步骤602将解析所述修改指令,以分出标签值、标签类型值和XML片段。注意,这里使用的短语“标签值”对全体的或个体的标签值和标签类型值通用。在此示例中,标签值tag_xpath_location字符串是XPath字符串,其说明此修改应在XML文件或文档中设置在哪里。XPath字符串值可以是相对XPath值或绝对XPath值,在此具体示例中,为相对XPath值“ancestor::wx:sect”,该值映射到“wx:sect”节点,“wx:sect”节点是经过修改的XML文档的修改指令节点的最近祖先。在此示例性修改指令中的tag_type值是“surround:1”,其说明在哪里插入相对于目标节点的XML修改。在此示例中,所述“surround”值表示在XPath值规定的目标节点周围的布置,值“1”表示修改应该仅在该节点周围设置,而不延伸到任何兄弟。对于根据示例性实施方案的其它标签类型值,见表2。按照请求插入修改,从XML文档去除tag_xpath_namespace、tag_xpath_location和tag_type属性,从而它们将不再应用第二次,导致修改的XML片段:
<w:body>
    <xsl:for-each select=″report″
xmlns:xsl=″http://www.w3.org/1999/XSL/Transform″>
            <wx:sect>
  …
            </wx:sect>
     </xsl:for-each>
</w:body>
其中,黑体的XML语句已经通过此修改过程添加。
其它修改指令以类似于上面描述的方式处理。根据此示例性实施方案,在此处理期间,将不修改那些没有tag_xpath_location属性的XML语句。例如,片段:
<w:tbl>
 <w:tblPr>
  <w:tblStyle w:val=″TableGrid″/>
  <w:tblW w:w=″0″w:type=″auto″/>
  <w:tblLook w:val=″01E0″/>
</w:tblPr>
<w:tblGrid>
 <w:gridCol w:w=″5328″/>
 <w:gridCol w:w=″5328″/>
</w:tblGrid>
<w:tr wsp:rsidR=″00AA 164E″>
 <w:tc>
  <w:tcPr>
   <w:tcW w:w=″5328″w:type=″dxa″/>
  </w:tcPr>
  <w:p wsp:rsidR=″00AA164E″wsp:rsidRDefault=″0060104C″>
   <w:r>
    <w:rPr>
     <w:rFonts w:hint=″fareast″/>
    </w:rPr>
    <w:t>Field_1</w:t>
      </w:r>
     </w:p>
    </w:tc>
    <w:tc>
    <w:tcPr>
     <w:tcW w:w=″5328″w:type=″dxa″/>
    </w:tcPr>
    <w:p wsp:rsidR=″00AA164E″wsp:rsidRDefault=″0060104C″>
    <w:r>
     <w:rPr>
      <w:rFonts w:hint=″fareast″/>
     </w:rPr>
     <w:t>Field_2</w:t>
    </w:r>
   </w:p>
 </w:tc>
</w:tr>
<w:tr wsp:rsidR=″00AA164E″>
 <w:tc>
  <w:tcPr>
   <w:tcW w:w=″5328″w:type=″dxa″/>
  </w:tcPr>
  <w:p wsp:rsidR=″00AA 164E″wsp:rsidRDefault=″0060104C″>
   <w:r>
    <w:rPr>
     <w:rStyle w:val=″FootnoteReference″/>
    </w:rPr>
    <w:footnote>
     <w:p wsp:rsidR=″00AA164E″wsp:rsidRDefault=″0060104C″>
      <w:pPr>
              <w:pStyle w:val=″FootnoteText″/>
             </w:pPr>
             <w:r>
              <w:rPr>
               <w:rStyle w:val=″FootnoteReference″/>
              </w:rPr>
              <w:footnoteRef/>
             </w:r>
             <w:r>
              <w:t>&lt;nova:modify tag=″xsl:for-each″
     nova:attribute=″select=&amp;quot;report&amp;quot;″
                 nova:tag_xpath_location=″ancestor::wx:sect″
                 nova:tag_xpath_namespaces=″xmlns:wx=&amp;quot;http:/
/schemas.microsoft.com/office/word/2003/auxHint&amp;quot;″
                 nova:tag_type=″surround:1″
                 nova:tag_namespace=″xmlns:xsl=&amp;quot;http://www.
w3.org/1999/XSL/Transform&amp;quot;″
                 xmlns:nova=″http://www.parellax.com/nova/xml_reporting
.xml″
                 /&gt;&lt;nova:modify tag=″xsl:for-each″
                 nova:attribute=″select=&amp;quot;invoice_lines&amp;quo
t;″
                 nova:tag_xpath_location=″ancestor::w:tbl″
                 nova:tag_xpath_namespaces=″xmlns:w=&amp;quot;http://
schemas.microsoft.com/office/word/2003/wordml&amp;quot;″
                 nova:tag_type=″surround:1″xmlns:nova=″http://www.pare
llax.com/nova/xml_reporting.xml″
                 nova:tag_namespace=″xmlns:xsl=&amp;quot;http://www.
w3.org/1999/XSL/Transform&amp;quot;″/&gt;&lt;
                 nova:modify tag=″xsl:forr-each″
                nova:attribute=″select=&amp;quot;invoice_line
                &amp;quot;″nova:tag_xpath_location=″ancestor::w:tr″
                nova:tag_xpath_namespaces=″xmlns:w=&amp;quot;http://
schemas.microsoft.com/office/word/2003/wordml&amp;quot;″
                nova:tag_type=″surround:1″
                nova:tag_namespace=″xmlns:xsl=&amp;quot;http://www.
w3.org/1999/XSL/Transform&amp;quot;″
                nova:tag_xpath_delete=″ancestor::w:footnote″
                xmlns:nova=″http ://www.parellax.com/nova/xml_reporting
.xml″/&gt;</w:t>
        </w:r>
       </w:p>
      </w:footnote>
     </w:r>
     <w:r>
      <w:rPr>
       <w:rFonts w:hint=″fareast″/>
      </w:rPr>
      <w:t></w:t>
     </w:r>
     <w:r>
      <w:rPr>
       <w:rStyle w:val=″FootnoteReference″/>
      </w:rPr>
      <w:footnote>
       <w:p wsp:rsidR=″00AA164E″wsp:rsidRDefault=″0060104C″>
        <w:pPr>
         <w:pStyle w:val=″FootnoteText″/>
        </w:pPr>
        <w:r>
          <w:rPr>
           <w:rStyle w:val=″FootnoteReference″/>
          </w:rPr>
          <w:footnoteRef/>
         </w:r>
          <w:r>
           <w:t>&lt;nova:modify tag=″xsl:value-of″
              nova:attribute=″select=&amp;quot;field_1 &amp;quot;″
              nova:tag_xpath_location=″ancestor::w:footnote/../following-sibl
ing::w:r/child::w:t″
              nova:tag_type=″inside″
              nova:tag_xpath_delete=″ancestor::w:footnote″
              nova:tag_xpath_namespaces=″xmlns:w=&amp;quot;http://sche
mas.microsoft.com/office/word/2003/wordml&amp;quot;″
              xmlns:nova=″http://www.parellax.com/nova/xml_reporting.xml
              nova:tag_namespace=″xmlns:xsl=&amp;quot;http://www.w3.or
g/1999/XSL/Transform&amp;quot;″/&gt;</w:t>
        </w:r>
       </w:p>
      </w:footnote>
     </w:r>
     <w:r>
      <w:rPr>
       <w:rFonts w:hint=″fareast″/>
      </w:rPr>
      <w:t></w:t>
     </w:r>
    </w:p>
   </w:tc>
  <w:tc>
   <w:tcPr>
    <w:tcW w:w=″5328″w:type=″dxa″/>
   </w:tcPr>
   <w:p wsp:rsidR=″00AA164E″wsp:rsidRDefault=″0060104C″>
    <w:r>
     <w:rPr>
      <w:rStyle w:val=″FootnoteReference″/>
     </w:rPr>
     <w:footnote>
      <w:p wsp:rsidR=″00AA164E″wsp:rsidRDefault=″0060104C″>
       <w:pPr>
        <w:pStyle w:val=″FootnoteText″/>
       </w:pPr>
       <w:r>
        <w:rPr>
          <w:rStyle w:val=″FootnoteReference″/>
         </w:rPr>
         <w:footnoteRef/>
        </w:r>
        <w:r>
         <w:t>&lt;nova:modify tag=″xsl:value-of″
            nova:attrbute=″select=&amp;quot;field_2&amp;quot;″
            nova:tag_xpath_location=″ancestor::w:footnote/../following-sibl
ing::w:r/child::w:t″
            nova:tag_type=″inside″
            nova:tag_xpath_delete=″ancestor::w:footnote″
            nova:tag_xpath_namespaces=″xmlns:w=&amp;quot;http://sche
mas.microsoft.com/office/word/2003/wordml&amp;quot;″
            xmlns:nova=″http://www.parellax.com/nova/xml_reporting.xml
           nova:tag_namespace=″xmlns:xsl=&amp;quot;http://www.w3.or
g/1999/XSL/Transform&amp;quot;″/&gt;</w:t>
        </w:r>
       </w:p>
      </w:footnote>
     </w:r>
     <w:r>
      <w:rPr>
       <w:rFonts w:hint=″fareast″/>
      </w:rPr>
      <w:t></w:t>
     </w:r>
    </w:p>
   </w:tc>
  </w:tr>>
 </w:tbl>
将使用这些示例性实施方案被转换,以成为(用黑体语句反映修改):
<xsl:for-each select=″invoice_lines″
              xmlns:xsl=″http://www.w3.org/1999/XSL/Transform″>
 <w:tbl>
  <w:tblPr>
   <w:tblStyle w:val=″a3″/>
   <w:tblW w:w=″0″w:type=″auto″/>
   <w:tblLook w:val=″01E0″/>
  </w:tblPr>
  <w:tblGrid>
   <w:gridCol w:w=″5328″/>
   <w:gridCol w:w=″5328″/>
</w:tblGrid>
<w:tr>
 <w:tc>
  <w:tcPr>
   <w:tc W w:w=″5328″w:type=″dxa″/>
  </w:tcPr>
  <w:p>
   <w:r>
    <w:rPr>
     <w:rFonts w:hint=″fareast″/>
    </w:rPr>
    <w:t>Field_1</w:t>
   </w:r>
  </w:p>
 </w:tc>
<w:tc>
 <w:tcPr>
  <w:tcW w:w=″5328″w:type=″dxa″/>
 </w:tcPr>
 <w:p>
  <w:r>
   <w:rPr>
    <w:rFonts w:hint=″fareast″/>
    </w:rPr>
    <w:t>Field_2</w:t>
   </w:r>
  </w:p>
 </w:tc>
</w:tr>
<xsl:for-each select=″invoice_line″
           xmlns:xsl=″http://www.w3.org/1999/XSL/Transform″>
<w:tr>
 <w:tc>
  <w:tcPr>
   <w:tcW w:w=″5328″w:type=″dxa″/>
  </w:tcPr>
  <w:p>
   <w:r>
    <w:rPr>
     <w:rStyle w:val=″a5″/>
    </w:rPr>
   </w:r>
   <w:r>
    <w:rPr>
     <w:rFonts w:hint=″fareast″/>
    </w:rPr>
    <w:t/>
   </w:r>
   <w:r>
    <w:rPr>
     <w:rStyle w:val=″a5″/>
    </w:rPr>
   </w:r>
   <w:r>
    <w:rPr>
     <w:rFonts w:hint=″fareast″/>
    </w:rPr>
    <w:t>
     <xsl:value-of select=″field_1″
                   xmlns:xsl=″http://www.w3.org/1999/XSL/Transfo
rm″/>
       </w:t>
      </w:r>
     </w:p>
    </w:tc>
    <w:tc>
     <w:tcPr>
      <w:tcW w:w=″5328″w:type=″dxa″/>
     </w:tcPr>
    <w:p>
     <w:r>
      <w:rPr>
       <w:rStyle w:val=″a5″/>
      </w:rPr>
     </w:r>
     <w:r>
      <w:rPr>
        <w:rFonts w:hint=″fareast″/>
      </w:rPr>
      <w:t>
       <xsl:value-of select=″field_2″
                     xmlns:xsl=″http://www.w3.org/1999/XSL/Transfo
rm″/>
        </w:t>
       </w:r>
      </w:p>
     </w:tc>
    </w:tr>
   </xsl:for-each>
 </w:tbl>
</xsl:for-each>
一旦对XML源文件或文档执行所有指示的修改,如上所述,得到的修改的XML文件或文档可以存储在数据存储106、206用于随后使用,例如,与XML数据合并等。一些关于怎样执行所述过程的后面阶段的示例行细节由上面参照图1和图2提供,更多示例性细节可以在上面并入本文作为参考的临时专利申请中找到。
在上述示例性实施方案中,使用XPath规定修改源XML文件101的位置。可选地,代替XML文件,可以预期源数据结构可以是任何能模型化为节点与语言结合的网络的数据结构,所述语言用于规定以绝对条件或相对于包括修改指令的节点修改哪些节点。事实上,本发明独立于这里描述的示例性数据结构,例如,只要所关心的数据结构能表示为网络即可。本发明也独立于数据存储206的物理实现。数据存储206可以直接连接到处理服务器200和/或附加于网络,可以实现为单个计算机系统或跨几个计算机系统的分布式数据库。
通过使用传统的办公软件来创建初始XML模板,示例性实施方案融合了商业办公软件的所有功能和特征,以实现用户接口。这给终端用户提供了创建和修改报表模板的能力。此转换引擎可以用于由一个开发人员在数天完成报表模块。这包括将本发明的报表设计系统引入已有的数据库、信息管理系统等,以及设计和创建报表本身。本发明免除了重复的报表开发过程的花费和烦恼。因为报表可以用诸如Microsoft Word的熟悉的办公软件设计,从而任何熟悉文字处理的人能设计他们自己的报表。因为使用者为他们自己设计报表,因此他们更可能设计包括他们想要的特点和内容的报表,并且能做得很快。本发明能使用工业标准。例如,报表设计可以通过Microsoft Word,消息设计可以通过任何XML编辑器,并且本发明可以在用Oracle PL/SQL编写的软件中实现。用XML编写修改指令,并且修改指令使用XPath、识别可扩展标记语言(xml)元素的标准。根据一些示例性实施方案,本发明输出XML消息,或者以多种工业标准格式输出报表,所述工业标准格式包括超文本标记语言(HTML),Microsoft Office XML和Open Office XML。HTML报表可以创建为带有或不带有层叠样式表。本发明能容易地结合到已有企业系统,例如,作为单个API调用,其通过两条流,而在第三条流中接收返回的消息或报表。
从以上所述,可以理解这些示例性实施方案应用到任何树型数据结构,所述树型数据结构包括限定路径(类似于XPath)的语言,所述路径用于限定相对于参考节点的节点位置。在其它方面,示例性实施方案包括下面系统和方法:在XML文件中获得数据(例如,键入MS Word文档的文本)并且在该文档中将其变为XML节点(这用于根据以类似MS Word、Excel等终端用户工具创建的文档来准备模板)。其它示例性实施方案还包括下面系统和方法:在XML文档中获得数据(例如,键入MS Word文档的文本),在该文档中将其变为XML节点(这用于根据以类似于MS Word、Excel等终端用户工具创建的文档来准备模板),以及将报表数据与在第一步骤中生成的XML模板合并。
根据本发明的示例性实施方案的处理数据的系统和方法可以由执行存储器装置中包含的指令序列的一个或多个处理器执行。这些指令可以从诸如第二数据存储装置的其它计算机可读介质中读入所述存储器装置。例如,执行包括在存储器装置中的指令序列使处理器如上所述操作。在可选的实施方案中,硬接线电路可以替代软件指令使用或与软件指令结合使用来实现本发明。
上述示例性实施方案意图说明各个方面,而不是限制本发明。因此本领域技术人员从本文包括的说明能将本发明进行多种具体实现。通过本发明的示例性实施方案,也可以预料多种可选方案。所有这些改变和修改都被认为属于由以下权利要求书限定的本发明的范围和宗旨中。除非明确说明,本申请的说明中使用的单元、行为或指令都不应该解释为本发明的范围或本质。并且,如本文使用的,冠词“a”意图包括一项或多项。

Claims (28)

1.一种修改源数据结构的方法,包括:
在具有至少一个数据节点的源数据结构中识别用以修改所述源数据结构的至少一条指令,所述至少一个数据节点包括所述至少一条指令;
解析所述至少一条指令;及
根据所述至少一条指令修改所述源数据结构,以生成修改的源数据结构。
2.如权利要求1所述的方法,其中所述源数据结构是XML文件。
3.如权利要求2所述的方法,其中所述解析的步骤进一步包括:
从所述至少一条指令解析标签值和XML片段。
4.如权利要求3所述的方法,其中所述修改步骤进一步包括:
将所述XML片段设置在所述XML文件中的位置,所述位置基于所述标签值确定。
5.如权利要求4所述的方法,其中所述标签值包括围绕属性和数字n,所述修改步骤进一步包括:
从由所述标签值指定的位置处的节点开始,将所述XML片段设置在n个兄弟节点周围。
6.如权利要求4所述的方法,其中所述标签值包括内部值,所述修改步骤进一步包括:
将所述XML片段设置在由所述标签值指定的节点内部。
7.如权利要求4所述的方法,其中所述标签值包括替代值,所述修改步骤进一步包括:
用所述XML片段替代由所述标签值指定的节点。
8.如权利要求4所述的方法,其中所述标签值包括设定属性值,所述修改步骤进一步包括:
用所述XML片段替代由所述标签值指定的选定属性的值。
9.如权利要求2所述的方法,其中用以修改所述XML文件的所述至少一条指令作为用户数据嵌入。
10.如权利要求2所述的方法,其中用以修改所述XML文件的所述至少一条指令设置在文本节点和注释节点的其中之一中。
11.如权利要求2所述的方法,其中用以修改所述XML文件的所述至少一条指令使用XPath来指定进行修改的至少一个位置。
12.如权利要求2所述的方法,其中所述XML文件是HTML文件,用以修改所述XML文件的所述至少一条指令作为文本或注释存储在所述HTML文件中。
13.如权利要求2所述的方法,其中所述XML文件从MicrosoftOffice和Open Office的其中之一保存,使用所述Microsoft Office和Open Office的其中之一提供的各自的用户接口,创建用以修改所述XML文件的所述至少一条指令。
14.如权利要求2所述的方法,其中所述修改的XML文件是XSL文件。
15.如权利要求14所述的方法,进一步包括:
将所述XSL文件应用到所述XML文件,以创建经处理的XML数据文件。
16.如权利要求15所述的方法,其中所述经处理的XML数据文件是报表,所述报表能够在用于生成所述XML文件的软件工具中打开。
17.如权利要求15所述的方法,其中所述经处理的XML数据文件用于数据交换。
18.如权利要求2所述的方法,进一步包括:
在生成所述修改的XML文件前,由应用程序特定的预处理器修改所述XML文件。
19.如权利要求18所述的方法,其中所述应用程序特定的预处理器从包括多个文件的档案文件中提取所述XML文件。
20.如权利要求18所述的方法,进一步包括:
由所述应用程序特定的预处理器在所述XML文件中识别不能在特定处理环境中处理的节点;
用识别值替代所述节点的内容;及
在完成其它处理后,存储将被重新生成的所述节点的所述内容。
21.如权利要求15所述的方法,其中应用程序特定的后处理器用于修改所述经处理的XML数据文件,以使得所述经处理的XML数据文件能够用于创建所述XML文件。
22.如权利要求21所述的方法,其中所述应用程序特定的后处理器将所述经处理的XML数据文件重新插入档案文件和Open Office文件的其中之一。
23.如权利要求20所述的方法,其中,基于由所述应用程序特定的预处理器嵌入所述XML文件的标识符,应用程序特定的后处理器将不能在特定处理环境中处理的所述节点的所述内容重新插入所述经处理的XML数据文件。
24.如权利要求2所述的方法,其中所述XML数据文件包括对其它XML数据文件的参考,所述其它XML数据文件能够在所述XML数据文件中进行检索和嵌入所述XML数据文件,或者能够在所述XML数据文件中动态生成和嵌入所述XML数据文件。
25.如权利要求15所述的方法,其中所述经处理的XML数据文件具有封套结构,其通过后处理器分离为多个单独的XML输出文件,每个所述XML输出文件是单独的输出文档。
26.如权利要求2所述的方法,进一步包括步骤:
存储所述修改的XML文件;
检索所述修改的XML文件;及
将所述修改的XML文件与XML数据合并,以生成报表或数据交换消息。
27.一种修改可扩展标记语言(XML)文件的系统,包括:
数据存储,用于存储XML文件,所述XML文件具有包括用以修改所述XML文件的至少一条指令的至少一个数据节点;
处理器,用于识别和解析所述至少一条指令,然后根据所述至少一条指令修改所述XML文件,以生成修改的XML文件。
28.一种修改源数据结构的系统,包括:
识别单元,用于在具有至少一个数据节点的源数据结构中识别用以修改所述源数据结构的至少一条指令,所述至少一个数据节点包括所述至少一条指令;
解析器,用于解析所述至少一条指令;及
修改单元,用于根据所述至少一条指令修改所述源数据结构,以生成修改的源数据结构。
CNA2008100855146A 2007-03-08 2008-03-10 修改xml数据结构的软件、系统和方法 Pending CN101271390A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US90562607P 2007-03-08 2007-03-08
US60/905,626 2007-03-08
US12/041,044 2008-03-03

Publications (1)

Publication Number Publication Date
CN101271390A true CN101271390A (zh) 2008-09-24

Family

ID=40005384

Family Applications (1)

Application Number Title Priority Date Filing Date
CNA2008100855146A Pending CN101271390A (zh) 2007-03-08 2008-03-10 修改xml数据结构的软件、系统和方法

Country Status (2)

Country Link
US (1) US20090112901A1 (zh)
CN (1) CN101271390A (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104216952A (zh) * 2014-08-20 2014-12-17 烽火通信科技股份有限公司 一种基于xml技术的通用报表生成方法及系统
CN104376068A (zh) * 2014-11-07 2015-02-25 北京思特奇信息技术股份有限公司 一种基于动态报表模板的数据展现系统及方法
CN106383890A (zh) * 2016-09-23 2017-02-08 福建三元达网络技术有限公司 基于xpath的xml配置文件恢复方法及其系统
CN110795915A (zh) * 2018-07-31 2020-02-14 中兴通讯股份有限公司 xml文件批量修改方法、系统、设备和计算机可读存储介质

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090249187A1 (en) * 2008-03-26 2009-10-01 Embarq Holdings Company, Llc System and Method for Generating a Converted Workflow Extensible Markup Language File Associated with a Workflow Application
JP5440004B2 (ja) * 2008-10-20 2014-03-12 セイコーエプソン株式会社 情報配信システム、情報配信システムのサービス実現方法およびそのプログラム
JP5381009B2 (ja) * 2008-10-20 2014-01-08 セイコーエプソン株式会社 デバイス制御システム
JP5293086B2 (ja) * 2008-10-28 2013-09-18 セイコーエプソン株式会社 情報配信システム、情報配信システムのサービス実現方法およびそのプログラム
CA2711855A1 (en) 2010-08-25 2010-11-03 Ibm Canada Limited - Ibm Canada Limitee Secure third party scripting environment
US9224010B2 (en) 2011-09-01 2015-12-29 International Business Machines Corporation Secure document creation from potentially unsecure source templates
US8914420B2 (en) 2012-04-30 2014-12-16 Gainspan Corporation Populating data structures of software applications with input data provided according to extensible markup language (XML)
US9444731B2 (en) * 2013-05-24 2016-09-13 Cisco Technology, Inc. Methods and systems for data packet routing
CN104750609B (zh) * 2015-03-26 2018-01-19 广东欧珀移动通信有限公司 确定界面布局兼容度的方法及装置
CN111897885B (zh) * 2020-07-21 2023-05-09 渤海造船厂集团有限公司 一种信息数据包综合信息交换方法

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AU2002359821A1 (en) * 2001-12-21 2003-07-15 Xmlcities, Inc. Extensible stylesheet designs using meta-tag and/or associated meta-tag information
US20040221233A1 (en) * 2003-04-29 2004-11-04 David Thielen Systems and methods for report design and generation
US7526491B2 (en) * 2003-10-15 2009-04-28 Oracle International Corporation System and method for creating and using temporary data storage in an Xforms application
WO2007047683A2 (en) * 2005-10-14 2007-04-26 Uhlig Llc Dynamic variable-content publishing

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104216952A (zh) * 2014-08-20 2014-12-17 烽火通信科技股份有限公司 一种基于xml技术的通用报表生成方法及系统
CN104376068A (zh) * 2014-11-07 2015-02-25 北京思特奇信息技术股份有限公司 一种基于动态报表模板的数据展现系统及方法
CN104376068B (zh) * 2014-11-07 2018-04-03 北京思特奇信息技术股份有限公司 一种基于动态报表模板的数据展现系统及方法
CN106383890A (zh) * 2016-09-23 2017-02-08 福建三元达网络技术有限公司 基于xpath的xml配置文件恢复方法及其系统
CN106383890B (zh) * 2016-09-23 2019-09-17 安科讯(福建)科技有限公司 基于xpath的xml配置文件恢复方法及其系统
CN110795915A (zh) * 2018-07-31 2020-02-14 中兴通讯股份有限公司 xml文件批量修改方法、系统、设备和计算机可读存储介质

Also Published As

Publication number Publication date
US20090112901A1 (en) 2009-04-30

Similar Documents

Publication Publication Date Title
CN101271390A (zh) 修改xml数据结构的软件、系统和方法
US8972854B2 (en) Graphical creation of a document conversion template
EP1949269B1 (en) Managing relationships between resources stored within a repository
US8291310B2 (en) Delta-saving in XML-based documents
US7765464B2 (en) Method and system for dynamically assembling presentations of web pages
US20030037076A1 (en) Method, computer program and system for style sheet generation
KR100414406B1 (ko) 문서 버전 관리가 가능한 워크플로우 시스템 및 이를이용한 문서 버전 관리 방법
US7644095B2 (en) Method and system for compound document assembly with domain-specific rules processing and generic schema mapping
US8397161B1 (en) Content compilation and publishing system
US20070130512A1 (en) Systems and methods for report design and generation
US7784026B1 (en) Web application internationalization
US20040205615A1 (en) Enhanced mechanism for automatically generating a transformation document
JP2006235840A (ja) データベース・アクセス・システム、データベース・アクセス方法
JP2006525608A (ja) ダイナミックコンテンツアセンブリを管理するためのシステムおよび方法
US20150302110A1 (en) Decoupling front end and back end pages using tags
US6766350B1 (en) Shared management of data objects in a communication network
US7237194B2 (en) System and method for generating optimized binary representation of an object tree
EP3296864A1 (en) Storing and retrieving documentation
Pollock et al. Metadata vocabulary for tabular data
Reese Automated metadata harvesting: low-barrier MARC record generation from OAI-PMH repository stores using MarcEdit
US8205010B1 (en) User system applicaton interaction for a system as a service
US20110078552A1 (en) Transclusion Process
US7953761B2 (en) System, method, and apparatus for retrieving structured document and apparatus for managing structured document
Joshi Beginning XML with C# 7: XML Processing and Data Access for C# Developers
JP2005228234A (ja) サービス情報生成方法及び実施システム並びに処理プログラム

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C02 Deemed withdrawal of patent application after publication (patent law 2001)
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20080924