CN1549966A - 用于处理xml对象的程序设计语言扩展及相关应用 - Google Patents

用于处理xml对象的程序设计语言扩展及相关应用 Download PDF

Info

Publication number
CN1549966A
CN1549966A CNA028171241A CN02817124A CN1549966A CN 1549966 A CN1549966 A CN 1549966A CN A028171241 A CNA028171241 A CN A028171241A CN 02817124 A CN02817124 A CN 02817124A CN 1549966 A CN1549966 A CN 1549966A
Authority
CN
China
Prior art keywords
definition
statement
expression formula
xml
script
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.)
Granted
Application number
CNA028171241A
Other languages
English (en)
Other versions
CN1320454C (zh
Inventor
T��L��³��˹
T·L·鲁卡斯
A·博斯沃思
K·E·瓦斯里克
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.)
BEA Systems Inc
Original Assignee
BEA Systems Inc
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 BEA Systems Inc filed Critical BEA Systems Inc
Publication of CN1549966A publication Critical patent/CN1549966A/zh
Application granted granted Critical
Publication of CN1320454C publication Critical patent/CN1320454C/zh
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/31Programming languages or programming paradigms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/51Source to source

Abstract

提供了一种设备,该设备将数据表示语言的数据对象映射到程序设计语言内相对应的对象,反之亦然。在一个实施例中,配置该设备以接收映射定义,该映射定义将XML数据结构的选定元素映射到一个或多个Java类的选定对象。进一步配置所述设备以判定映射定义是否包括一条或多条定义语句,所述定义语句以脚本语言的面向XML的语言元素来表示。此外,装配所述设备以便依照面向XML的语言元素的语法和语义定义来处理映射定义语句,所述映射定义语句包括脚本语言的面向XML的语言元素。

Description

用于处理XML对象的程序设计语言扩展及相关应用
发明背景
1.发明领域
本发明涉及程序设计语言领域。更具体而言,本发明涉及一种用于在本地程序设计语言环境中操纵中央XML对象的方法。
2.背景信息
XML作为用来在软件应用与web服务之间传输数据结构的事实上的标准而迅速出现。虽然多数的软件应用与web服务是以诸如Java或C++之类的现代程序设计语言来编写的,但是这些程序设计语言当中没有一个提供对于表示和操纵XML的本地支持。因此,程序员在他们的应用及web服务的上下文内,不得不开发或采用用来表示和操纵XML的外部软件包。
一般说来,外部软件包无法提供带有用来处理XML数据的本地支持的宿主语言。因而,他们按如下方式来表示和操纵XML,所述方式与宿主语言为其本地数据类型所提供的那些方式有很大的不同。最经常的情况下,外部软件包利用通用树抽象来表示XML数据,并且提供基于树的API,以供导航和操纵数据(例如,getParentNode()、getChildNodes()、removeChild()等)。与用来访问和操纵那些对宿主程序设计语言为本地的数据结构相比,这种访问和操纵数据结构的方法麻烦而费时。
因此,一种使得能够以与本地数据结构被供给的相同能力和灵活性来操纵XML数据结构的程序设计语言是值得期望的。
附图简要说明
本发明将通过在附图中所举例说明的示范性实施例加以描述,但是其并非是限制性的,在这些附图中,同样的参考标记表示类似的元件,在其中:
图1举例说明本发明一个实施例的概观;
图2举例说明依照本发明一个实施例的解释器104的示范性操作流程;
图3A-3C举例说明依照本发明一个实施例的各种示范性的语言扩展;
图4举例说明适用于实践本发明的一个通信网络的一个实施例的框图;
图5A-5B举例说明依照一个实施例、并入本发明的语言扩展的示例性功能,用来将XML文档映射到Java对象和将Java对象映射到XML文档;
图6举例说明依照一个实施例、适合于宿有(hosting)本发明的映射服务的示例性计算机系统,所述映射服务包括解释器104;和
图7A-7C举例说明基于现有技术的、用于将XML文档映射到Java对象和将Java对象映射到XML文档的示例性功能。
发明的详细描述
在以下说明中,将描述本发明多个不同的方面。然而,对于本领域的技术人员来说将显而易见的是:可以利用本发明的仅仅一些或所有方面来实施本发明。为了解释说明起见,阐述了特定的数目、部件和结构,以便提供对本发明的彻底理解。然而,对于本领域的技术人员而言还将显而易见的是:可以在没有这些特定细节的情况下实施本发明。在其它情况下,为了不让本发明含混不清,众所周知的特征将被省略或简化掉。
现在将依据由基于处理器的设备执行的操作方面,利用诸如接收、分析、确定、生成等之类的术语来介绍部分说明,上述术语符合本领域技术人员为了向本领域的其他技术人员传达他们的工作实质而一般所采用的表述方式。正如本领域的技术人员所普通理解的那样,量(quantities)采用电信号、磁信号或光信号的形式,这些信号能通过基于处理器的设备的机械组件和电子组件来被存储、传递、组合,并且能被操纵;而术语“处理器”包括独立式的、附加式的或嵌入式的微处理器、微控制器、数字信号处理器等。
现在将以最有助于理解本发明的方式,按照多个不连续的步骤,依次来描述各种操作,但是,不应该把描述的次序看作是暗指这些操作必须依从一定的次序。特别是,这些操作不必按照所介绍的次序来执行。此外,本说明重复地使用短语“在一个实施例中”,尽管它可以是指代相同的实施例,但通常来讲该短语并不是指同一个实施例。
概述
本发明包括以程序设计语言扩展形式提供的功能性说明,以易于在本地程序设计环境中灵活操纵XML对象。所述语言扩展包括本地XML数据类型,还包括使程序员能以大致相同于导航和操纵本地语言对象的方式来导航和操纵XML对象的许多操作。由此,本发明提供了一种用于操纵XML和本地语言对象的机制,该机制特别地很适合于逐渐地普遍存在的如下问题,即:将XML对象映射到以现代程序设计语言编写的软件应用和web服务中,以及将以现代程序设计语言编写的软件应用和web服务映射到XML对象中。
图1举例说明了依照一个实施例的本发明的概观。如图所示,映射服务100包括解释器/编译器104(“解释器”),该解释器/编译器进一步包含分析器105。依照本发明的教导,含有各种语言扩展的程序设计语句102被提供给映射服务100,以待由分析器105进行分析。一旦分析了这些语句,解释器104就将这些语句编译成可执行代码,继而将所述可执行代码提供给执行引擎106。执行引擎106不但控制所述代码的执行(例如,通过处理器来控制),而且还执行常规的执行运行期服务,比如存储器分配请求与释放、错误/异常处理等等。对于举例说明的实施例而言,解释器104包括:应用编程接口(API)(未示出),通过该应用编程接口,可以可编程地提交利用本发明的语言扩展所形成的程序设计语句,以供由多种专用过程加以编译。举例来讲,刚一接收到XML文档时,web服务器应用就可以对映射服务100进行调用,以便将所述XML文档对象映射成为例如用于web服务器进行附加处理的内部Java类。这种专用过程可以与映射服务100一起共同驻留在与映射服务100相同的“宿主”系统上(未示出),或被远程地离开该“宿主”系统放置,以及使用传统的交叉系统通信技术与映射服务100进行通信。
图2举例说明依照本发明一个实施例的解释器104的示范性操作流程。在操作中,解释器104读取正在编译的语句的第一条命令。正如举例说明的那样,在块202,一经调用,解释器104就确定正在编译的语句的“下一”命令的位置。确定正在编译的语句的“下一命令”的位置,可以利用本技术领域中公知的许多“分析”技术当中的任何一种来完成。在块204,一经确定正在编译的语句的“下一”命令的位置,解释器104就识别所读取的命令(例如,根据解释器104所维护的语言词典来进行识别)。接下来,在块206,解释器104读取余下的命令语法,并且为识别出的命令确定语义。
在块208,解释器104确定是否已经到达语句的末尾。如果没有,解释器104就返回到块202,并从那里继续所述编译过程。最终到达正在编译的语句的末尾,并且在此时,在块210,解释器104可以选择性地将一个或多个优化法应用于所分析的命令。所述优化法可以是本技术领域所公知的可用的编译程序优化技术中的任何一种或多种。
最后,在对所分析的命令进行或不进行优化的情况下,在块212,解释器104都为所分析的命令产生可执行代码。在一个实施例中,解释器104为所分析的命令产生字节代码。在可选的实施例中,也可以代之以实施其它等效的“代码生成”方法。
语言映射扩展
程序设计语言并未在其涉及XML文档与程序设计语言对象之间的互用和翻译时提供充分的功能。因此,依照本发明的教导,提供了用以同脚本语言相联合使用的面向XML的语言扩展,并且现在将对这种语言扩展进行描述,所述脚本语言比如是Javascript、ECMAScript等。虽然以下语言扩展是针对Javascript加以描述的,但是不应该把本发明的适用性当作为仅限于Javascript。
图3A-3C举例说明依照一个实施例的本发明的各种示范性Javascript语言扩展。首先,语言扩展300举例说明了一种XML(数据)类型声明,它显式地指明指定变量(例如,x、y)是与变量的XML类相关联的。正如举例说明的那样,可以像声明任何本地Javascript数据类型那样来声明这种XML变量。在一个实施例中,配备Javascript察觉分析器(例如,分析器105),以识别XML数据类型声明,并且将它们与相应符号表中的适当项(例如,变量、功能参数、函数返回值等等)关联起来。解释器104利用这种信息,来确定对XML类型的值执行的操作的语义,并且例如决定何时来隐式地将这些值限制为XML类型或者根据XML类型来限制这些值(这在下面更充分地作了描述)。在举例说明的实施例中,XML类型是通过自我识别前缀(例如‘XML’)的方式加以声明的。
语言扩展310举例说明了在结构化表达式之间产生的赋值,所述结构化表达式包括XML语法以及XML类型变量。例如,在第310(A)行中,XML类型变量“p”被赋予XML结构,该结构表示包括名字元素(如约翰)和年龄元素(如25)的个体元素。依照本发明的一个实施例,尽管在第310(A)行中表达式包括显式的XML类型指示器(indicator)(如上所述),但是利用包含XML语法的表达式来初始化的变量不需要这种显式的XML类型声明。在一个实施例中,在所有XML标记定义中使用的“<”符号在本发明中进一步被用作为一元运算符,以向解释器指明将其后跟随的表达式当作字符串对待,并且作为XML语句被分析。在一个实施例中,“<”运算符的操作数是直至且包含末尾标记的整个XML文字。由此,由于一元运算符“<”触发产生XML类型值的结果,因而对于被赋予XML文字的变量而言,没有必要作为XML类型被显式声明。例如,第310(B)-(E)行举例说明了根据表达式的内容而已经隐式声明的XML类型变量“e”。
语言扩展320举例说明了:依照本发明的教导,可以通过使用嵌入式表达来动态地确定XML文字的多个部分。在举例说明的实施例中,本发明的映射服务动态地解析XML文字的多个部分,其包含嵌入式的Javascript表达。在一个实施例中,配备解释器104,以将一组卷曲花括号(例如{...})识别成具有比一元运算符“<”(如上所述)更高优先级的嵌入式的表达式运算符。然而,应当注意到:在不脱离本发明精神及范围的情况下,除了“{}”之外的其它运算符可以用作为嵌入式的表达式运算符。无论怎样,如果分析器105确认在表达式内出现嵌入式的表达式运算符,则将该运算符内包含的操作数传递给解释器104以供评估,将得出的返回值限制为字符串类型(如下所述)。此后,利用字符串连接(concatenation)来将所述返回值插入在前面的XML文字和随后的XML文字之间。一旦已评估了所有的嵌入式表达式并且已将它们的结果插入在所述XML文字内,“<”运算符的存在就会使解释器104把得到的字符串转换为XML类型。
语言扩展330举例说明了由解释器104实施的类型限制的原理。依照本发明的一个实施例,通过把字符串内容作为XML分析,来自动地将分析器105期待XML类型的值时出现的字符串类型的任何值转换成XML数据类型。在所述转换之前,可以利用字符串算术运算来构造和操纵所述字符串值,而不考虑诸如符合规范(well-formedness)之类的XML约束。例如,在图3B的第330(A)-(D)行中,将XML类型变量赋予多个字符串连接的结果。更具体而言,使字符串类型的变量“tagName”与两个其它的字符串值(例如,“<”和“>”)连接起来,以形成XML开和关标记。再将得到的标记当作为字符串,并且与值“John(约翰)”和“Sue(苏)”连接起来,后者也被当作为字符串、而不管他们代表XML表达式的事实。接着,由于有显式的“XML”数据类型声明而使得到的字符串值被限制回XML值。另外,在期待XML的其它情况下,也自动地将字符串值限制成XML值。例如,那些传递给期待XML参数的函数的字符串值和XML文字内嵌入的字符串值都将同样被转换成XML。由此,第330(E)行产生了与第330(D)行相同的结果。
语言扩展340举例说明了最主要的是:一旦变量包含XML值,就可以访问XML变量的子元素,和/或利用诸如但不限于句点/圆点(“.”)之类的预定义运算符(在下文中称为“点操作符”)来对所述子元素进行赋值。点操作符检查其左侧操作数的所有子元素,并且按次序返回那些名字与右侧操作数的名字相匹配的元素。这会造成零或更多元素被返回。在一个实施例中,如果指定的子元素是叶节点,则返回子元素的内容。但是,如果指定的子元素不是叶节点,则返回所述指定的子元素连同它所有的后裔(例如,参看340(D))。另外,点操作符的左侧操作数将可以是一个元素列表,而不是单个元素(例如,考虑相继使用两个或更多圆点的情况)。在这种情况下,所述点操作符在该列表上进行迭代,按次序检查每个元素的子元素。这种处理方式有意地模糊了单个元素与元素列表之间的差别,从而简化程序员的工作。
语言扩展350举例说明了可以访问XML元素属性并且利用“属性”运算符来对其进行赋值。在一个实施例中,所述属性运算符是由‘.@’符号来表示的。所述属性运算符检查其左侧操作数的所有属性,并且返回其名字与右侧操作数相匹配的属性的值。例如,在第350(A)行中,检索与至少两个雇员的其中一个的‘标识符’属性相关联的值,并将该值分配给整型变量‘empid’。
除了提供对XML值中紧接着的子元素的直接访问之外,本发明的语言扩展还提供对XML值的所有后裔(即,子、孙子、曾孙等)的直接访问(例如参看语言元素330)。在一个实施例中,“双点”(例如‘..’)运算符检查其左侧操作数的所有后裔元素,并且以文档次序、返回名字与其右侧操作数的名字想匹配的那些后裔元素。当左侧操作数是一个元素列表时,“..”运算符在该列表上迭代、按次序检查每个元素的后裔。
语言扩展370举例说明了本发明的索引特性,由此给出一个子元素列表,可以利用预定义的索引运算符来标识所述列表内的单独的子元素。在一个实施例中,将一组方括号“[]”用作为索引运算符。所述索引运算符基本上根据单个元素在列表内的次序位置,来从其左侧操作数中选择。左侧操作数可以表示一个元素列表或单个元素。如果所述操作数表示单个元素,则把它当成大小等于一的列表。
如语言元素380举例说明的,本发明也提供用于在子元素列表上进行迭代。在举例说明的示例中,表达式“e..name”返回一个元素列表,并且“for”语句按次序步进通过该列表。对于该列表中的每个元素来讲,“for”语句将变量“n”赋值给元素,并且执行卷曲花括号中包含的代码。作为选择,子元素列表的长度可以利用宿主程序设计语言中现有的、用以确定阵列长度的相同方法加以确定。例如,在第380(C)行上的语句中,子元素列表的长度是通过访问宿主ECMAScript语言的隐含的“长度”特性(例如“.length”)来确定的。
由此,第380(C)-(D)行产生了与第380(A)-(B)行所产生的相同的结果。
示例性应用
正如上面所提到的那样,本发明的语言扩展尤其适合于将来自于数据表示语言的对象映射成相对应的程序设计语言对象,反之亦然。这种语言映射在以下情况中是令人期望的,所述情况例如是:需要具有一个基于诸如Java之类的程序设计语言的内部运行环境的系统利用诸如XML之类的数据表示语言与其它系统交换数据。
图4是举例说明并入本发明教导的示范性通信网络的框图。如图所示,服务提供商405、客户端110以及终端用户415都通过网络402通信地耦合在一起。网络402表示诸如一个或多个局域网/广域网/因特网等之类的许多通信网络中的任何一种。服务提供商405表示“增值”服务提供商,这些服务提供商向客户端410和终端用户415提供内容和/或服务。客户端410表示一个或多个实体机构,这些实体机构按次序来使用服务提供商405的增值服务,例如以便通过网络402向终端用户415提供改进后的内容。
例如,假定服务提供商405已经开发了一种用于产生交互式地形图的新web服务,所述地形图代表客户端410突出显示各种兴趣点。利用服务提供商405所提供的这种服务,客户端410经由网络402将兴趣点的列表发送给服务提供商405。作为响应,服务提供商405产生一个或多个交互式地形图,所述地形图显示由客户端410提供的兴趣点的可选表示。服务提供商405继而向客户端410返回一个或多个指向所述地形图的URL,该客户端又进而利用所述URL来向终端用户415显示所述地形图。每当客户端410把地形图呈现给终端用户415时,终端用户415可以选择一个或多个所述兴趣点,继而将这些兴趣点返回给服务提供商405。服务提供商405继而将选定的兴趣点发送回到客户端410,以供客户端410所希望执行的任何进一步的处理使用。
客户端410可以执行的处理的性质是由客户端410来确定的,并且例如依赖于使用服务提供商的服务的环境。例如,客户端410可以表示不动产代理、气象服务、产品制造商等等,所述不动产代理利用各点来向终端用户415显示人口资料和地产位置,所述气象服务利用各点来图解地显示该气象服务已采集到的温度及天气现象,所述产品厂商利用各点来图解式地显示商店位置等等。
每一个这种客户端410的实体都可以使用它们自己预先定义的XML格式来传输此类兴趣点。例如,气象团体也许已在用于传输有关气象现象的信息格式上达成了一致,不动产团体也许已在用于传输有关住家的信息格式上达成了一致,而产品制造商也许已在用于传输商店位置的信息格式上达成了一致。以下示例1示出了产品制造团体所使用的、用于运送他们产品的商店位置的XML格式...
示例1:<available-at>
  <store>
     <name>The Electronics Store(电子商店)</name>
       <address>
            <street>23 Transistor Dr.</street>
            <city>Circuit</city>
            <state>WA</state>
            <zip>12345</zip>
        </address>
  </store>
  <store>...</store>
  <store>...</store>
  </available-at>
然而,在内部,服务提供商405将兴趣点表示成一个点阵列,用Java类来定义每一点,如下面示例2中所示。
示例2:
  public class Point{
    String label;//紧挨着点显示的文本
    LatitudeLongitude location;//在地形图上点的位置
  }
为了能让广大范围的客户端团体容易访问他们的服务,服务提供商405将希望能够接受以多种XML格式(即比如示例1中所示的那种格式)的数据,然后让那个数据自动地映射到服务提供商405的本地程序设计语言内的类似数据结构中。
图5A-5B举例说明了示例性函数,如上面相对于图4所述的那样,该函数并入本发明一个实施例的语言扩展,以供将XML文档映射到Java对象和将Java对象映射到XML文档。在举例说明的示例中,每当服务提供商405从客户端410那里接收到需要被转换成Java对象的XML文档时,该服务提供商405就将会调用“FromXML”函数(如图5A所示)。同样,每当服务提供商405需要将内部Java对象转换成供客户端410使用的XML时,服务提供商405就将会调用图5B的“ToXML”函数。
现在参照图5A,在图5A里,举例说明了“FromXML”函数。假定新客户端处在以XML文档的形式将位置数据发送到服务提供商405的过程中,所述XML文档包含示例1中所示的结构。刚一接收到所述数据,服务提供商405就将启动对“FromXML”的功能调用。在所述函数内要注意的项当中,语句500还使用除“.length”指令以外的“双点”运算符(如上所述)以导航通过接收到的XML结构并为所提供的每个XML地址分配一个新的点对象。接下来,对于XML数据中所提供的每个地址,根据服务提供商405的内部数据约束来确定显示标签和点位置(如示例2所示)。在语句505中,“availableat..address”返回一个地址元素列表,其进而又被迭代地赋值给变量“a”。接下来,利用后跟点操作符的内嵌的parent()函数来确定每个商店(store)的名称。此外,利用点操作符来确定那个商店所处的街道地址、城市、州和邮政编码。正如语句510所说明的那样,通过直接访问后裔地址元素而返回的字符串被连接在一起,以形成点标签。另外,在LatitudeLongitude函数(未示出)中使用包含街道、城市、州及邮政编码信息的地址信息,所述LatitudeLongitude函数计算给出输入地址的映射位置。
在图5B中,举例说明了一个“ToXML”函数,以用来将基于Java的点位置转换成示例1中所示的XML元素。开始,由语句525利用XML文字来构造根节点“<available-at>”。接下来,语句530利用“String.split()”函数来分析显示标签,以确定每个点的商店名称、街道地址、城市、州及邮政编码。最后,语句535创建每个点的商店元素,这些商店元素被附加到来自语句525的根节点。
图7A-C举例说明了根据现有技术中所公知的常规应用和技术、将XML文档映射到Java对象和将Java对象映射到XML文档的示例性函数。正如可以容易看出的,利用Java和标准XML文档对象模型(DOM)来实现上面举例说明的函数所需要代码的数量及复杂度是相当大的。然而,比较起来,通过给出了本发明包含前述语言扩展的教导,可以显著地将这样的努力缩减到最小程度。
示例性主机系统
图6举例说明了适用于本发明的宿有映射服务100及解释器104的示例性计算机系统。如图所示,计算机系统600包括一个或多个处理器602,及系统存储器604。另外,计算机系统600包括:大容量存储设备606(比如磁盘、硬盘、CDROM等)、输入/输出设备608(比如键盘、光标控制器等)、以及通信接口610(比如网络接口卡、调制解调器等)。这些元件都经由系统总线612而彼此相互耦合,所述系统总线代表一条或多条总线。在多条总线的情况下,这些总线通过一个或多个总线桥(未示出)而桥接在一起的。这些元件中的每一个都执行它们在本技术领域中所公知的常规功能。具体来讲,利用系统存储器604和大容量存储器606来存储实现本发明之解释器和/或映射服务的程序设计指令的作业拷贝和永久拷贝。可以将所述程序设计指令的永久拷贝加载到工厂中的大容量存储器606里,或者例如通过分布式介质(未示出)或通过通信接口610(从分布式服务器(未示出))来将所述程序设计指令的永久拷贝加载到实地中的大容量存储器里。这些元件602-612的结构组成都是已知的,因此将不作进一步描述。
结论和总结
因此,从上面的说明可知,已经描述了对基于脚本的语言的新颖XML扩展。所述新颖的方案特别适用于在程序设计语言与数据表示语言之间映射数据对象。虽然已经参照举例说明的实施例和上面枚举的实施例对本发明作了描述,但是本发明并不局限于这些所描述的实施例。在符合以下权利要求中所阐述的本发明范围的情况下,可以作出许多修改和变更。因此,上述实施例仅仅是说明性的,而不限制本发明本身。

Claims (51)

1.一种方法,包括:
接收映射定义,该映射定义将数据表示语言的选定元素映射到一个或多个程序设计语言的选定对象;
判定映射定义是否包括映射定义部分,该映射定义部分具有一条或多条定义语句,所述定义语句以脚本语言的面向数据表示的语言元素来表示,所述脚本语言包括面向数据表示的语言元素;以及
处理映射定义,包括依照所述数据表示语言元素的语法和语义定义,来处理具有映射定义语句的映射定义,所述映射定义语句包括所述脚本语言的数据表示语言元素。
2.一种设备,包括:
在其中存储有多条程序设计指令的存储介质,当执行该程序设计指令时,使所述设备能够:
接收映射定义,该映射定义将数据表示语言的选定元素映射到一个或多个程序设计语言的选定对象;
判定映射定义是否包括映射定义部分,该映射定义部分具有一条或多条定义语句,所述定义语句以脚本语言的面向数据表示的语言元素来表示,所述脚本语言包括面向数据表示的语言元素,以及处理映射定义,包括依照所述面向数据表示的语言元素的语法和语义定义,来处理具有映射定义语句的映射定义,所述映射定义语句包括所述脚本语言的面向数据表示的语言元素;和
一个或多个处理器,与存储介质相耦合以执行所述程序设计指令。
3.一种方法,包括:
接收映射定义,该映射定义将XML数据结构的选定元素映射到一个或多个Java类的选定对象;
判定映射定义是否包括以脚本语言的语言元素来表示的一条或多条定义语句;
如果映射定义包括以脚本语言的语言元素来表示的一条或多条定义语句,则判定所述一条或多条定义语句是否包括赋值语句,该赋值语句包括具有XML数据类型的变量以及将被赋值给该变量的数据串;以及
如果判定一条或多条定义语句包括赋值语句、而该赋值语句包括具有XML数据类型的变量,则处理所述赋值语句,包括将所述数据串作为XML对象来处理。
4.如权利要求3所述的方法,其中:根据所述数据串的结构,将所述数据串隐式地标识为与XML数据类型相关联。
5.如权利要求4所述的方法,其中:根据一元运算符的存在,将所述数据串隐式地标识为与XML数据类型相关联。
6.如权利要求5所述的方法,其中:所述一元运算符由“<”符号来表示。
7.如权利要求4所述的方法,其中:根据所述数据串当中一个或多个基于XML的文字的存在,将所述数据串隐式地标识为与XML数据类型相关联。
8.如权利要求3所述的方法,其中:根据XML标识前缀的存在,将所述数据串显式地标识为与XML数据类型相关联。
9.如权利要求8所述的方法,其中:所述标识前缀是‘XML’。
10.一种设备,包括:
在其中存储有多条程序设计指令的存储介质,当执行该程序设计指令时,使所述设备能够:
接收映射定义,该映射定义将XML数据结构的选定元素映射到一个或多个Java类的选定对象,
判定映射定义是否包括以脚本语言的语言元素来表示的一条或多条定义语句,
如果映射定义包括以脚本语言的语言元素来表示的一条或多条定义语句,则判定所述一条或多条定义语句是否包括赋值语句,该赋值语句包括具有XML数据类型的变量以及将被赋值给该变量的数据串,以及
如果判定一条或多条定义语句包括赋值语句、而该赋值语句包括具有XML数据类型的变量,则处理所述赋值语句,包括将所述数据串作为XML对象来处理;以及
一个或多个处理器,与存储介质相耦合以执行所述程序设计指令。
11.如权利要求10所述的设备,其中:根据所述数据串的结构,将所述数据串隐式地标识为与XML数据类型相关联。
12.如权利要求11所述的设备,其中:根据一元运算符的存在,将所述数据串隐式地标识为与XML数据类型相关联。
13.如权利要求11所述的设备,其中:所述一元运算符由“<”符号来表示。
14.如权利要求11所述的设备,其中:根据所述数据串当中一个或多个基于XML的文字的存在,将所述数据串隐式地标识为与XML数据类型相关联。
15.如权利要求10所述的设备,其中:根据XML标识前缀的存在,将所述数据串显式地标识为与XML数据类型相关联。
16.如权利要求15所述的设备,其中:所述标识前缀是‘XML’。
17.一种方法,包括:
接收映射定义,该映射定义将XML数据结构的选定元素映射到一个或多个Java类的选定对象;
判定映射定义是否包括以脚本语言的语言元素来表示的一条或多条定义语句;
如果映射定义包括以脚本语言的语言元素来表示的一条或多条定义语句,则判定所述一条或多条定义语句是否包括含有嵌入式表达式的表达式;
如果一条或多条定义语句包括含有嵌入式表达式的表达式,则动态解析嵌入式表达式的值;以及
将包含已解析的嵌入式函数的表达式作为XML数据类型来处理。
18.如权利要求17所述的方法,其中:所述嵌入式函数由一对预定标识符包围。
19.如权利要求18所述的方法,其中:所述预定标识符对包括一组卷曲花括号。
20.一种设备,包括:
在其中存储有多条程序设计指令的存储介质,当执行该程序设计指令时,使所述设备能够:
接收映射定义,该映射定义将XML数据结构的选定元素映射到一个或多个Java类的选定对象,
判定映射定义是否包括以脚本语言的语言元素来表示的一条或多条定义语句,
如果映射定义包括以脚本语言的语言元素来表示的一条或多条定义语句,则判定所述一条或多条定义语句是否包括含有嵌入式表达式的表达式,
如果一条或多条定义语句包括含有嵌入式表达式的表达式,则动态解析嵌入式表达式的值,以及
将包含已解析的嵌入式函数的表达式作为XML数据类型来处理;以及
一个或多个处理器,与存储介质相耦合以执行所述程序设计指令。
21.如权利要求20所述的设备,其中:所述嵌入式函数由一对预定标识符包围。
22.如权利要求21所述的设备,其中:所述预定标识符对包括一组卷曲花括号。
23.一种方法,包括:
接收映射定义,该映射定义将XML数据结构的选定元素映射到一个或多个Java类的选定对象;
判定映射定义是否包括以脚本语言的语言元素来表示的一条或多条定义语句;
如果映射定义包括以脚本语言的语言元素来表示的一条或多条定义语句,则判定一条或多条定义语句是否包括一表达式,所述表达式包括被预定义的导航运算符分隔开的XML数据结构的第一元素和第二元素;以及
处理所述表达式,并且返回所述第一元素的一个或多个子元素,所述第一元素具有与所述第二元素的名称等同的名称。
24.如权利要求23所述的方法,其中:所述导航运算符包括一句点(“.”)。
25.如权利要求23所述的方法,进一步包括:
检索与一个或多个子元素相关联的内容,并且至少利用所述内容的与第二表达式有关联的一部分。
26.如权利要求23所述的方法,进一步包括:
判定一个或多个子元素中的任意子元素是否包含第二组一个或多个子元素;以及
如果判定所述一个或多个子元素中的至少一个包含第二组一个或多个子元素,则返回与第二组一个或多个子元素相关联的值。
27.如权利要求23所述的方法,其中:所述表达式进一步包括一文字值,并且在其中所述被访问的元素被赋予该值。
28.一种设备,包括:
在其中存储有多条程序设计指令的存储介质,当执行该程序设计指令时,使所述设备能够:
接收映射定义,该映射定义将XML数据结构的选定元素映射到一个或多个Java类的选定对象,
判定映射定义是否包括以脚本语言的语言元素来表示的一条或多条定义语句,
如果映射定义包括以脚本语言的语言元素来表示的一条或多条定义语句,则判定一条或多条定义语句是否包括一表达式,所述表达式包括被预定义的导航运算符分隔开的XML数据结构的第一元素和第二元素,以及
处理所述表达式以访问XML数据结构的所述第二元素,并且返回所述第一元素的一个或多个子元素,所述第一元素具有与所述第二元素的名称等同的名称;以及
一个或多个处理器,其与存储介质相耦合以执行所述程序设计指令。
29.如权利要求28所述的设备,其中:所述导航运算符包括一句点(“.”)。
30.如权利要求28所述的设备,进一步包括指令,当执行这些指令时,使所述设备能够:
检索与所述一个或多个子元素相关联的内容,并且至少使用所述内容的与第二表达式有关联的一部分。
31.如权利要求28所述的设备,进一步包括指令,当执行这些指令时,使所述设备能够:
判定所述一个或多个子元素中的任意子元素是否包含第二组一个或多个子元素;以及
如果判定所述一个或多个子元素中的至少一个包含第二组一个或多个子元素,则返回与第二组一个或多个子元素相关联的值。
32.如权利要求28所述的设备,其中:所述表达式进一步包括一文字值,并且在其中所述被访问的元素被赋予该值。
33.一种方法,包括:
接收映射定义,该映射定义将XML数据结构的选定元素映射到一个或多个Java类的选定对象;
判定映射定义是否包括以脚本语言的语言元素来表示的一条或多条定义语句;
如果映射定义包括以脚本语言的语言元素来表示的一条或多条定义语句,则判定所述一条或多条定义语句是否包括一表达式,所述表达式包括与属性运算符相关联的XML数据结构的至少一个元素;以及
如果一条或多条定义语句包括一表达式、而所述表达式包括与属性运算符相关联的XML数据结构的至少一个元素,则访问与由所述属性运算符来标识的属性相关联的值。
34.如权利要求33所述的方法,其中:所述表达式进一步包括将被赋予所述属性值的变量。
35.如权利要求33所述的方法,其中:所述表达式进一步包括一文字值,并且在其中所述属性被赋予该值。
36.如权利要求33所述的方法,其中:所述属性运算符是‘.@’。
37.一种设备,包括:
在其中存储有多条程序设计指令的存储介质,当执行该程序设计指令时,使所述设备能够:
接收映射定义,该映射定义将XML数据结构的选定元素映射到一个或多个Java类的选定对象,
判定映射定义是否包括以脚本语言的语言元素来表示的一条或多条定义语句,
如果映射定义包括以脚本语言的语言元素来表示的一条或多条定义语句,则判定所述一条或多条定义语句是否包括一表达式,所述表达式包括与属性运算符相关联的XML数据结构的至少一个元素,以及
如果一条或多条定义语句包括一表达式、而所述表达式包括与所述属性运算符相关联的XML数据结构的至少一个元素,则访问与所述属性相关联的值;以及
一个或多个处理器,与存储介质相耦合以执行所述程序设计指令。
38.如权利要求37所述的设备,其中:所述属性运算符是‘.@’。
39.一种方法,包括:
接收映射定义,该映射定义将XML数据结构的选定元素映射到一个或多个Java类的选定对象;
判定映射定义是否包括以脚本语言的语言元素来表示的一条或多条定义语句;
如果映射定义包括以脚本语言的语言元素来表示的一条或多条定义语句,则判定一条或多条定义语句是否包括一表达式,所述表达式包括被预定义的导航运算符分隔开的XML数据结构的第一元素和第二元素;以及
处理所述表达式以访问XML数据结构的所述第二元素以及所述第二元素的所有后裔。
40.如权利要求39所述的方法,其中:所述导航运算符包括至少两个连续的句点(‘..’)。
41.一种设备,包括:
在其中存储有多条程序设计指令的存储介质,当执行该程序设计指令时,使所述设备能够:
接收映射定义,该映射定义将XML数据结构的选定元素映射到
一个或多个Java类的选定对象,
判定映射定义是否包括以脚本语言的语言元素来表示的一条或多条定义语句,
如果映射定义包括以脚本语言的语言元素来表示的一条或多条定义语句,则判定一条或多条定义语句是否包括一表达式,所述表达式包括被预定义的导航运算符分隔开的XML数据结构的第一元素和第二元素,以及
处理所述表达式以访问XML数据结构的所述第二元素以及所述第二元素的所有后裔;以及
一个或多个处理器,与存储介质相耦合以执行所述程序设计指令。
42.如权利要求41所述的设备,其中:所述导航运算符包括至少两个连续的句点(‘..’)。
43.一种方法,包括:
接收映射定义,该映射定义将XML数据结构的选定元素映射到一个或多个Java类的选定对象;
判定映射定义是否包括以脚本语言的语言元素来表示的一条或多条定义语句;
如果映射定义包括以脚本语言的语言元素来表示的一条或多条定义语句,则判定所述一条或多条定义语句是否包括一表达式,所述表达式包括定义左侧操作数和索引值的索引运算符;以及
处理所述表达式以访问XML数据结构的单个元素,所述XML数据结构具有等同于索引值的次序位置。
44.如 权利要求43所述的方法,其中:所述索引运算符包括一组方括号([])。
45.一种设备,包括:
在其中存储有多条程序设计指令的存储介质,当执行该程序设计指令时,使所述设备能够:
接收映射定义,该映射定义将XML数据结构的选定元素映射到一个或多个Java类的选定对象,
判定映射定义是否包括以脚本语言的语言元素来表示的一条或多条定义语句,
如果映射定义包括以脚本语言的语言元素来表示的一条或多条定义语句,则判定所述一条或多条定义语句是否包括一表达式,所述表达式包括定义左侧操作数和索引值的索引运算符,以及处理所述表达式以访问XML数据结构的单个元素,所述XML数据结构具有等同于该索引值的次序位置;以及
一个或多个处理器,与存储介质相耦合以执行所述程序设计指令。
46.如权利要求45所述的设备,其中:所述索引运算符包括一组方括号([])。
47.一种方法,包括:
接收映射定义,该映射定义将XML数据结构的选定元素映射到一个或多个Java类的选定对象;
判定映射定义是否包括映射定义部分,该映射定义部分具有一条或多条定义语句,所述一条或多条定义语句以脚本语言的面向XML的语言元素来表示,所述脚本语言包括面向XML的语言元素;以及
处理映射定义,包括依照所述面向XML的语言元素的语法和语义定义来处理具有映射定义语句的映射定义,所述映射定义语句包括所述脚本语言的面向XML的语言元素。
48.一种设备,包括:
在其中存储有多条程序设计指令的存储介质,当执行该程序设计指令时,使所述设备能够:
接收映射定义,该映射定义将XML数据结构的选定元素映射到一个或多个Java类的选定对象,
判定映射定义是否包括映射定义部分,该映射定义部分具有一条或多条定义语句,所述一条或多条定义语句以脚本语言的面向XML的语言元素来表示,所述脚本语言包括面向XML的语言元素,以及
处理映射定义,包括依照所述面向XML的语言元素的语法和语义定义来处理具有映射定义语句的映射定义,所述映射定义语句包括所述脚本语言的面向XML的语言元素;以及
一个或多个处理器,与存储介质相耦合以执行所述程序设计指令。
49.一种方法,包括:
接收映射定义,该映射定义将XML数据结构的选定元素映射到一个或多个Java类的选定对象;
判定映射定义是否包括以脚本语言的语言元素来表示的一条或多条定义语句;
如果映射定义包括以脚本语言的语言元素来表示的一条或多条定义语句,则判定所述一条或多条定义语句是否包括一表达式,所述表达式包括具有预定义的一元运算符的文字值;以及
如果判定所述一条或多条定义语句包括一表达式,所述表达式包括具有预定义的一元运算符的文字值,则将所述表达式作为XML对象来处理。
50.如权利要求49所述的方法,其中:所述一元运算符由“<”符号来表示。
51.一种方法,包括:
接收映射定义,该映射定义将XML数据结构的选定元素映射到一个或多个Java类的选定对象;
判定映射定义是否包括以脚本语言的语言元素来表示的一条或多条定义语句;
如果映射定义包括以脚本语言的语言元素来表示的一条或多条定义语句,则判定所述一条或多条定义语句是否包括一表达式,所述表达式包括迭代运算符;以及
如果判定所述一个或多个定义语句包括含有迭代运算符的表达式,则将所述表达式作为XML对象来处理,以迭代地访问由迭代运算符来标识的一个或多个元素的列表。
CNB028171241A 2001-07-02 2002-06-28 用于处理xml对象的程序设计语言扩展及相关应用 Expired - Fee Related CN1320454C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US09/898,898 2001-07-02
US09/898,898 US6754884B1 (en) 2001-07-02 2001-07-02 Programming language extensions for processing XML objects and related applications

Publications (2)

Publication Number Publication Date
CN1549966A true CN1549966A (zh) 2004-11-24
CN1320454C CN1320454C (zh) 2007-06-06

Family

ID=25410184

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB028171241A Expired - Fee Related CN1320454C (zh) 2001-07-02 2002-06-28 用于处理xml对象的程序设计语言扩展及相关应用

Country Status (6)

Country Link
US (1) US6754884B1 (zh)
EP (1) EP1410184A4 (zh)
CN (1) CN1320454C (zh)
AU (1) AU2002354768B8 (zh)
CA (1) CA2454608A1 (zh)
WO (1) WO2003005191A1 (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100416567C (zh) * 2004-11-30 2008-09-03 国际商业机器公司 用于对象模型与xml间转换的可共享双向方法和系统
CN100445947C (zh) * 2006-03-28 2008-12-24 华为技术有限公司 一种移动终端业务处理的方法及系统
CN101965561A (zh) * 2008-03-04 2011-02-02 微软公司 用于异步方法的声明性支持
CN102147726A (zh) * 2011-04-01 2011-08-10 烽火通信科技股份有限公司 一种基于脚本的业务配置实现方法
CN101699397B (zh) * 2009-10-09 2015-09-16 上海宝信软件股份有限公司 实现Java与XML数据绑定的方法

Families Citing this family (65)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040117776A1 (en) * 1999-02-09 2004-06-17 Paul Pazandak Type-specific objects from markup and web-oriented languages, and systems and methods therefor
US20010029604A1 (en) * 2001-04-27 2001-10-11 Jacob Dreyband Descriptive data construct mapping method and apparatus
US20040031015A1 (en) * 2001-05-24 2004-02-12 Conexant Systems, Inc. System and method for manipulation of software
US6918107B2 (en) * 2001-07-02 2005-07-12 Bea Systems, Inc. Programming language extensions for processing data representation language objects and related applications
US7222333B1 (en) 2001-10-15 2007-05-22 Cisco Technology, Inc. Techniques for generating software application build scripts based on tags in comments
US7552222B2 (en) 2001-10-18 2009-06-23 Bea Systems, Inc. Single system user identity
US20030093471A1 (en) * 2001-10-18 2003-05-15 Mitch Upton System and method using asynchronous messaging for application integration
JP2003140960A (ja) * 2001-10-30 2003-05-16 Hitachi Ltd Xmlデータのデータ変換方法及びプログラム
US7155705B1 (en) * 2001-11-26 2006-12-26 Cisco Technology, Inc. Techniques for binding an application with a data exchange format based on tags in comments
US20030110446A1 (en) * 2001-12-10 2003-06-12 Sun Microsystems, Inc. Object class for facilitating conversion between Java and XML
US6859810B2 (en) * 2001-12-10 2005-02-22 Bea Systems, Inc. Declarative specification and engine for non-isomorphic data mapping
US7080352B2 (en) * 2002-01-30 2006-07-18 Dloo, Incorporated Method and system for creating programs using code having coupled syntactic and semantic relationships
US20030159105A1 (en) * 2002-02-21 2003-08-21 Hiebert Steven P. Interpretive transformation system and method
US7516447B2 (en) 2002-02-22 2009-04-07 Bea Systems, Inc. Methods and apparatus for building, customizing and using software abstractions of external entities
US7424717B2 (en) 2002-05-01 2008-09-09 Bea Systems, Inc. Systems and methods for business process plug-in development
US7526519B2 (en) * 2002-05-01 2009-04-28 Bea Systems, Inc. High availability application view deployment
US20040078440A1 (en) * 2002-05-01 2004-04-22 Tim Potter High availability event topic
US8135772B2 (en) * 2002-05-01 2012-03-13 Oracle International Corporation Single servlets for B2B message routing
US7257645B2 (en) 2002-05-01 2007-08-14 Bea Systems, Inc. System and method for storing large messages
US7155438B2 (en) 2002-05-01 2006-12-26 Bea Systems, Inc. High availability for event forwarding
US7676538B2 (en) 2002-05-02 2010-03-09 Bea Systems, Inc. Systems and methods for application view transactions
US7493628B2 (en) 2002-05-02 2009-02-17 Bea Systems, Inc. Shared common connection factory
US7484224B2 (en) * 2002-05-02 2009-01-27 Bae Systems, Inc. Adapter deployment without recycle
US7222148B2 (en) * 2002-05-02 2007-05-22 Bea Systems, Inc. System and method for providing highly available processing of asynchronous service requests
US7114148B2 (en) * 2002-09-30 2006-09-26 Microsoft Corporation Runtime services for network software platform
ATE516537T1 (de) * 2002-10-01 2011-07-15 Sap Ag Prüfung von skriptsprachen mit schnittstellen mittels annotationen in xml
US7213034B2 (en) * 2003-01-24 2007-05-01 Symyx Technologies, Inc. User-configurable generic experiment class for combinatorial materials research
US7650591B2 (en) * 2003-01-24 2010-01-19 Bea Systems, Inc. Marshaling and un-marshaling data types in XML and Java
US20050022164A1 (en) * 2003-02-25 2005-01-27 Bea Systems, Inc. Systems and methods utilizing a workflow definition language
US7293038B2 (en) 2003-02-25 2007-11-06 Bea Systems, Inc. Systems and methods for client-side filtering of subscribed messages
US7584474B2 (en) * 2003-02-25 2009-09-01 Bea Systems, Inc. Systems and methods for transaction chaining
US7774697B2 (en) 2003-02-25 2010-08-10 Bea Systems, Inc. System and method for structuring distributed applications
US20040167915A1 (en) * 2003-02-25 2004-08-26 Bea Systems, Inc. Systems and methods for declaratively transforming data objects between disparate representations
US7752599B2 (en) * 2003-02-25 2010-07-06 Bea Systems Inc. Systems and methods extending an existing programming language with constructs
US7539985B2 (en) * 2003-02-26 2009-05-26 Bea Systems, Inc. Systems and methods for dynamic component versioning
US7707564B2 (en) 2003-02-26 2010-04-27 Bea Systems, Inc. Systems and methods for creating network-based software services using source code annotations
US7076772B2 (en) * 2003-02-26 2006-07-11 Bea Systems, Inc. System and method for multi-language extensible compiler framework
US20040230955A1 (en) * 2003-02-26 2004-11-18 Bea Systems, Inc. System for multi-language debugging
US8032860B2 (en) * 2003-02-26 2011-10-04 Oracle International Corporation Methods for type-independent source code editing
US7650276B2 (en) 2003-02-26 2010-01-19 Bea Systems, Inc. System and method for dynamic data binding in distributed applications
US7444620B2 (en) * 2003-02-28 2008-10-28 Bea Systems, Inc. Systems and methods for a common runtime container framework
US7636722B2 (en) * 2003-02-28 2009-12-22 Bea Systems, Inc. System and method for describing application extensions in XML
US7650592B2 (en) 2003-03-01 2010-01-19 Bea Systems, Inc. Systems and methods for multi-view debugging environment
US7653936B2 (en) * 2003-06-25 2010-01-26 Microsoft Corporation Distributed expression-based access control
US7685566B2 (en) * 2003-07-03 2010-03-23 Microsoft Corporation Structured message process calculus
US20050050298A1 (en) * 2003-08-25 2005-03-03 International Business Machines Corporation Method and system for mapping open grid services architecture service data to native resource representation
US8640090B2 (en) * 2003-11-10 2014-01-28 Sap Ag Active and modifiable data dictionary
WO2007001329A2 (en) * 2004-07-29 2007-01-04 Infoassure, Inc. Cryptographic key management
US7376661B2 (en) * 2004-12-03 2008-05-20 Wings Software, Ltd XML-based symbolic language and interpreter
US7665073B2 (en) * 2005-04-18 2010-02-16 Microsoft Corporation Compile time meta-object protocol systems and methods
US7945904B2 (en) * 2005-08-22 2011-05-17 Microsoft Corporation Embedding expression in XML literals
US20070055964A1 (en) * 2005-09-06 2007-03-08 Morfik Technology Pty. Ltd. System and method for synthesizing object-oriented high-level code into browser-side javascript
AU2006314188B2 (en) 2005-11-16 2014-01-16 Pro Natura Gesellschaft Fur Gesunde Ernahrung Mbh Agent for use in the case of fructose intolerance
US8176469B2 (en) * 2006-05-04 2012-05-08 Oracle International Corporation Inter language interoperability using a variant type
US7958492B2 (en) * 2006-05-04 2011-06-07 Oracle International Corporation Integration of external schemas and types into native programming languages
US7802240B2 (en) * 2006-06-26 2010-09-21 Oracle America, Inc. Mechanism for compiling programs
US7405677B2 (en) * 2006-08-08 2008-07-29 International Business Machines Corporation Apparatus, system, and method for incremental encoding conversion of XML data using Java
US20080141230A1 (en) * 2006-12-06 2008-06-12 Microsoft Corporation Scope-Constrained Specification Of Features In A Programming Language
US8850414B2 (en) * 2007-02-02 2014-09-30 Microsoft Corporation Direct access of language metadata
US7761484B2 (en) 2007-02-09 2010-07-20 Microsoft Corporation Complete mapping between the XML infoset and dynamic language data expressions
CN102254233B (zh) * 2010-05-20 2014-04-23 深圳市金蝶中间件有限公司 流程驱动方法及装置
US8464233B2 (en) * 2010-06-21 2013-06-11 Microsoft Corporation Compile time interpretation of markup codes
US9047095B2 (en) * 2011-07-12 2015-06-02 Sap Se Embedding of a non-imperative programming language for data transformation operations within an imperative programming language
US9348888B1 (en) * 2013-09-24 2016-05-24 Emc Corporation Iterative filter expression processing for filtering embedded data objects
US10296655B2 (en) 2016-06-24 2019-05-21 International Business Machines Corporation Unbounded list processing

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5329619A (en) 1992-10-30 1994-07-12 Software Ag Cooperative processing interface and communication broker for heterogeneous computing environments
US6253252B1 (en) 1996-07-11 2001-06-26 Andrew Schofield Method and apparatus for asynchronously calling and implementing objects
US5970490A (en) 1996-11-05 1999-10-19 Xerox Corporation Integration platform for heterogeneous databases
US5991803A (en) * 1997-03-28 1999-11-23 Telefonaktiebolaget Lm Ericsson (Publ) Decoupling service creation environment from service logic execution environment
CA2210755C (en) 1997-07-17 2003-12-23 Ibm Canada Limited - Ibm Canada Limitee Creating proxies for distribution of beans and event objects
US6070184A (en) 1997-08-28 2000-05-30 International Business Machines Corporation Server-side asynchronous form management
US6314429B1 (en) 1997-10-08 2001-11-06 Mitel Corporation Bi-directional conversion library
US6209018B1 (en) 1997-11-13 2001-03-27 Sun Microsystems, Inc. Service framework for a distributed object network system
US6226675B1 (en) 1998-10-16 2001-05-01 Commerce One, Inc. Participant server which process documents for commerce in trading partner networks
US6427228B1 (en) * 1999-05-12 2002-07-30 International Business Machines Corporation Combining a meta data file and java source code to dynamically create java classes and javabeans
US6490564B1 (en) * 1999-09-03 2002-12-03 Cisco Technology, Inc. Arrangement for defining and processing voice enabled web applications using extensible markup language documents
US6578192B1 (en) * 1999-10-20 2003-06-10 International Business Machines Corporation Method and system for supporting dynamic document content expressed in a component-level language
US20010047385A1 (en) 1999-12-30 2001-11-29 Jeffrey Tuatini Passthru to shared service funtionality
US6404445B1 (en) 1999-12-30 2002-06-11 Cybrant Corporation Method and system for modeling data
US6643652B2 (en) 2000-01-14 2003-11-04 Saba Software, Inc. Method and apparatus for managing data exchange among systems in a network
US6449620B1 (en) 2000-03-02 2002-09-10 Nimble Technology, Inc. Method and apparatus for generating information pages using semi-structured data stored in a structured manner
US6594823B1 (en) * 2000-09-13 2003-07-15 Microsoft Corporation Method and system for representing a high-level programming language data structure in a mark-up language
US20020099738A1 (en) 2000-11-22 2002-07-25 Grant Hugh Alexander Automated web access for back-end enterprise systems
US20010029604A1 (en) 2001-04-27 2001-10-11 Jacob Dreyband Descriptive data construct mapping method and apparatus
US6745208B2 (en) 2001-05-31 2004-06-01 International Business Machines Corporation Method and apparatus for synchronizing an XML document with its object model

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100416567C (zh) * 2004-11-30 2008-09-03 国际商业机器公司 用于对象模型与xml间转换的可共享双向方法和系统
CN100445947C (zh) * 2006-03-28 2008-12-24 华为技术有限公司 一种移动终端业务处理的方法及系统
CN101965561A (zh) * 2008-03-04 2011-02-02 微软公司 用于异步方法的声明性支持
CN101699397B (zh) * 2009-10-09 2015-09-16 上海宝信软件股份有限公司 实现Java与XML数据绑定的方法
CN102147726A (zh) * 2011-04-01 2011-08-10 烽火通信科技股份有限公司 一种基于脚本的业务配置实现方法
CN102147726B (zh) * 2011-04-01 2013-09-04 烽火通信科技股份有限公司 一种基于脚本的业务配置实现方法

Also Published As

Publication number Publication date
AU2002354768B2 (en) 2008-05-15
CN1320454C (zh) 2007-06-06
EP1410184A1 (en) 2004-04-21
CA2454608A1 (en) 2003-01-16
EP1410184A4 (en) 2006-09-13
AU2002354768B8 (en) 2008-06-12
US6754884B1 (en) 2004-06-22
WO2003005191A1 (en) 2003-01-16

Similar Documents

Publication Publication Date Title
CN1320454C (zh) 用于处理xml对象的程序设计语言扩展及相关应用
US6918107B2 (en) Programming language extensions for processing data representation language objects and related applications
AU2002354768A1 (en) Programming language extensions for processing XML objects and related applications
AU2002318459A1 (en) Programming language extensions for processing data representation language objects and related applications
US7665073B2 (en) Compile time meta-object protocol systems and methods
CN100389572C (zh) 一种远程调用通信组件的系统及方法
JP4625198B2 (ja) 動的ウェブページコンテンツファイルからのサーバ側コード生成
CN101452453B (zh) 一种输入法网址导航的方法和一种输入法系统
US8549497B2 (en) High-level hypermedia synthesis for adaptive web
US6859810B2 (en) Declarative specification and engine for non-isomorphic data mapping
US7707152B1 (en) Exposing rich internet application content to search engines
US20020078105A1 (en) Method and apparatus for editing web document from plurality of web site information
US8533693B2 (en) Embedding expressions in XML literals
US20020099738A1 (en) Automated web access for back-end enterprise systems
US7240101B2 (en) Method and apparatus for efficiently reflecting complex systems of objects in XML documents
KR20050000328A (ko) 쿼리 최적화기 시스템 및 방법
CN101984429A (zh) 获取目标页面的方法、装置、搜索引擎和浏览器
CN111045678A (zh) 页面执行动态代码的方法、装置、设备及存储介质
CN101146040B (zh) 分析网站流量的方法和装置
US20150074633A1 (en) Systems and methods for generating, linking, and presenting computer code representations from diverse sources
CN110069259A (zh) 基于idl文件的解析方法、装置、电子设备和存储介质
US7827537B2 (en) Searching computer programs that use different semantics
US7669178B2 (en) System and method for interacting with computer programming languages at semantic level
US7051015B1 (en) System and method for implementing a flexible data-driven target object model
US20040205587A1 (en) System and method for enumerating arbitrary hyperlinked structures in which links may be dynamically calculable

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
C17 Cessation of patent right
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20070606

Termination date: 20110628