CN101192141B - 一种将uoml封装成应用程序编程接口的方法 - Google Patents

一种将uoml封装成应用程序编程接口的方法 Download PDF

Info

Publication number
CN101192141B
CN101192141B CN200610114649A CN200610114649A CN101192141B CN 101192141 B CN101192141 B CN 101192141B CN 200610114649 A CN200610114649 A CN 200610114649A CN 200610114649 A CN200610114649 A CN 200610114649A CN 101192141 B CN101192141 B CN 101192141B
Authority
CN
China
Prior art keywords
uoml
programming language
data type
api function
api
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.)
Expired - Fee Related
Application number
CN200610114649A
Other languages
English (en)
Other versions
CN101192141A (zh
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.)
BEIJING SURESENSE INTERNATIONAL INFORMATION TECHNOLOGY Co Ltd
TIANJIN SHUSHENG INVESTMENT CO Ltd
Original Assignee
BEIJING SURESENSE INTERNATIONAL INFORMATION TECHNOLOGY 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 BEIJING SURESENSE INTERNATIONAL INFORMATION TECHNOLOGY Co Ltd filed Critical BEIJING SURESENSE INTERNATIONAL INFORMATION TECHNOLOGY Co Ltd
Priority to CN200610114649A priority Critical patent/CN101192141B/zh
Priority to EP07721752A priority patent/EP2124156A4/en
Priority to PCT/CN2007/070132 priority patent/WO2008061457A1/zh
Publication of CN101192141A publication Critical patent/CN101192141A/zh
Priority to US12/415,643 priority patent/US8316379B2/en
Application granted granted Critical
Publication of CN101192141B publication Critical patent/CN101192141B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

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

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computing Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Devices For Executing Special Programs (AREA)
  • Stored Programmes (AREA)

Abstract

本发明公开了一种将UOML封装成API的方法,包括如下步骤:将UOML对象映射为编程语言的复合数据类型,UOML对象的属性对应于复合数据类型中简单数据类型变量或复杂数据类型变量,UOML对象的子元素对应于复合数据类型中的简单或复合数据类型变量;将UOML操作映射为编程语言的API函数原型,UOML操作的对象对应于API函数原型的参数;根据上述步骤中定义的映射,在编程语言的API函数体内将该函数对应的操作转换为UOML的操作,并将操作的返回结果转换为编程语言的返回类型。通过上述的方法实现UOML针对不同编程语言的API函数,从而不同编程语言的应用开发者可以直接通过调用对应的API函数来实现文档库系统上的应用,提高了开发效率。

Description

一种将UOML封装成应用程序编程接口的方法
技术领域
本发明涉及电子文档处理技术,特别涉及一种将UOML封装成应用程序编程接口的方法。
背景技术
UOML规范是一系列以“动作+对象”格式定义的、通过XML语言描述的文档库系统命令。本申请人在中国专利申请号为CN200510131641.1的专利申请说明书中,对其进行了详细的说明。由于XML具有跨平台、跨语言的能力,所以,UOML规范的提出,解决了文档库系统命令本身的跨平台、跨语言交换的问题。但是,在实际应用过程中,对文档库的操作一般通过编程语言实现的代码控制,因此,在代码中需要实现对UOML XML文本的解析和处理。如果每个应用开发人员在自己的代码中实现对UOML XML文本的解析和处理,工作量大且开发效率低下。
发明内容
本发明要解决的一个技术问题是提供一种方法,通过该方法可以将UOML封装成不同编程语言的应用程序编程接口(API),以提高文档库系统应用开发者的开发效率。
本发明提供的将UOML封装成编程语言的API的方法,包括如下步骤:
将UOML操作的对象映射为编程语言的复合数据类型;所述UOML操作的对象的属性和/或子元素对应于复合数据类型中简单数据类型变量或复杂数据类型变量;
将UOML操作映射为编程语言的API函数原型,其中,UOML操作的属性和子元素对应于API函数原型的参数;
当调用一个API函数时,根据API函数原型和UOML操作的映射关系,API函数生成UOML操作命令,并将生成的UOML操作命令发送给文档库系统;
在文档库系统执行所述UOML操作命令后,所述API函数将来自所述文档库系统的返回结果转换为符合编程语言返回类型的返回值。
上述的方法,其中,当所述编程语言支持函数的多态性定义时,将多个对象的UOML操作映射为编程语言的一个API函数原型,并通过所述API函数原型的参数的类型来区分对不同对象的操作。
对于面向对象的编程语言,所述的编程语言中的复合数据类型为类,所述的编程语言的API函数原型为类的成员函数,所述UOML操作的属性和子元素对应于类成员函数的参数。面向对象的编程语言包括C++、Object-C、Delphi、Java、Python或Ruby。
对于非面向对象的编程语言,所述的编程语言中的复合数据类型为结构;所述的编程语言的API函数原型为全局函数原型,所述UOML操作的属性和子元素对应于所述全局函数原型的参数。非面向对象的编程语言包括C、TCL、Pascal或Perl。
进一步,对于具有和C++和C语言接口的编程语言,所述API函数通过与C或者C++的接口调用C++,C语言封装的API函数来生成所述UOML操作命令。
通过本发明提供的方法,可以实现将UOML封装成编程语言的API。开发人员在一编程语言上开发对文档库系统的应用时,可以直接调用生成的封装好的该编程语言的API,从而省去了大量的解析UOML的工作量,提高了开发的效率。
附图说明
图1所示为本发明的将UOML封装成编程语言API的方法流程图;
图2所示为本发明的将UOML封装成面向对象语言API的方法流程图;
图3所示为本发明的将UOML封装成非面向对象语言API的方法流程图;
图4所示为本发明的编程语言的API封装层次示意图。
具体实施方式
本发明的基本思想是,利用UOML规范的“动作+对象”的格式特点,以及UOML对象和编程语言中的类或结构的内在对应关系,提供一种可以将UOML封装为不同的编程语言的应用程序编程接口(API)的方法,从而利用不同编程语言对文档库系统进行应用开发时可以直接调用该语言为UOML提供的API,提高开发人员的开发效率。
如图1所示,本发明的将UOML封装成编程语言API的方法包括如下步骤:
步骤101,将UOML对象映射为编程语言的复合数据类型,UOML对象的属性对应于复合数据类型中简单数据类型变量或复杂数据类型变量,UOML对象的子元素对应于复合数据类型中简单或复合数据类型变量。
首先在编程语言中提供UOML对象的对应表示。利用编程语言的复合数据类型的用户自定义功能,将每个UOML对象映射到一个定义的复合数据类型。复合数据类型可以是面向对象的语言中的类,或者是非面向对象的语言中的结构。其中,UOML对象中的属性在复合数据类型中可以通过简单数据类型的变量或者复杂数据类型的变量来表示,如整型(INT)、字符类型(CHAR)或者浮点类型(FLOAT)的变量,或者相应的数组等。UOML对象的子元素通常属于UOML中的对象,在编程语言中定义了相应的复合数据类型,在这种情况下,在复合数据类型中,UOML对象的子元素通过该子元素对应的复合数据类型的变量来表示。UOML对象的一些不是UOML对象的子元素也可以通过简单数据类型的变量来表示。需要指出的是,上述的简单类型的变量或者复杂数据类型的变量以及复合数据类型的变量包含指针变量的情形。
步骤102,将UOML操作映射为编程语言的API函数原型,UOML操作的属性和子元素对应于API函数原型的参数。
由于UOML规范中的操作可能支持多个对象,在将UOML操作转换为编程语言的API函数原型时,需要考虑该编程语言是否支持函数的多态性定义。如果编程语言不支持函数的多态性定义,需要为每个操作支持的对象定义一个API函数模型,如果支持,则可以只定义一个API函数原型,通过函数原型中参数的类型来区分对不同对象的操作。UOML操作的属性和子元素对应于API函数原型的参数。对于面向对象的语言,可以将API函数定义为类的成员函数,在这种情况下,如果操作的属性或者子元素同时是该类的成员变量,则在成员函数原型中可以不包含这些参数,而在函数体中直接引用这些变量。当然,也可以和非面向对象的语言一样,把操作所有的属性和子元素都作为函数原型的参数。
步骤103,根据函数原型对应的操作和函数原型的参数,在编程语言的API函数体内实现函数功能向UOML操作的转换和执行,并将操作的返回结果转换为编程语言的返回类型。
在编程语言的API函数体内,根据函数原型和UOML操作的映射关系,以及函数参数和UOML操作的属性和子元素的对应关系,生成UOML的操作命令。将生成的操作命令发送给文档库系统,文档库系统执行后会返回执行结果。由于文档库系统返回的执行结果是UOML格式,所以需要将其转换为编程语言中对应的返回类型。
通常编程语言可以分为面向对象的语言和非面向对象的语言。由于编程语言本身的特点不同,所以对不同的编程语言,将UOML封装成编程语言API的具体实现也有一些不同。
下面以C++为例,介绍UOML封装成面向对象的语言的API的方法。
如图2所示,为本发明提供的一种将UOML封装成面向对象语言API的方法流程图。包括如下步骤:
步骤201,将UOML对象映射为面向对象语言的类,对象的属性对应于类中简单数据类型变量或复杂数据类型变量,对象的子元素对应于类中的类变量或简单数据类型变量。
以UOML文档对象为例,首先在C++语言中定义一个对应的类UOML_Doc。该类可以从C++的所有类的基类CObject派生,也可以没有派生的基类。还有一种实现是,首先为所有的UOML对象定义一个基类:
class UOML_Obj
{
public:
  virtual~UOML_Obj();
  void Init(UOML_Obj_Type type);
  UOML_Obj Clone(bool bMaintainRef=true);
};
然后在基类UOML_Obj上派生UOML_Doc。
为UOML文档对象定义对应类UOML_Doc之后,将UOML文档对象的子元素映射为UOML_Doc类的对应的成员变量。UOML文档对象包含metadata(元数据),pageset(各页面)fontinfo(嵌入字库)等子元素。这些子元素分别有对应的类:metadata用UOML_Meta类表示,pageset用UOML_Page类表示,fontinfo用UOML_FontInfo类表示。所以UOML文档对象的这些子元素在UOML_Doc类定义中有对应的成员变量:UOML_Metametadata;UOML_Page*pageset;UOML_FontInfo fontinfo。其中,pageset子元素还可以通过UOML_Page的数组来表示。由于UOML文档对象不包含属性,所以没有属性向成员变量的映射。
同理,对于UOML页对象,为其定义UOML_page类。将UOML页对象的resolution,size,rotation,log等属性,在UOML_Page类定义中用整型或浮点类型的成员变量表示,而UOML页对象的GS,metadata等子元素在UOML_page类中以相应类的成员变量表示。
通过上述的方式,可以为UOML的所有对象在面向对象的语言中定义相应的类,包括文档库(UOML_DOCBASE)、文档集(UOML_DOCSET)、文档(UOML_DOC)、页(UOML_PAGE)、层(UOML_LAYER)、对象组(UOML_OBJGROUP)、文字(UOML_TEXT)、图像(UOML_IMAGE)、直线(UOML_LINE)、曲线(UOML_BEIZER)、圆弧(UOML_ARC)、路径(UOML_PATH)、源文件(UOML_SRCFILE)、背景色(UOML_BACKCOLOR)、前景颜色(UOML_COLOR)、ROP(UOML_ROP)、字符尺寸(UOML_CHARSIZE)、字体(UOML_TYPEFACE)、角色(UOML_ROLE)、权限(UOML_PRIV)等对象.本技术领域的技术人员可以参照上面的说明来具体实现,在此不一一赘述.
步骤202,将UOML操作映射为面向对象语言的类的成员函数,UOML操作的属性和子元素对应于类成员函数的参数。
以UOML文档对象为例,作用于UOML文档对象的操作,如打开(UOML_OPEN)、关闭(UOML_CLOSE)等,在UOML_Doc类内定义相应的成员函数:Open()和Close()。操作UOML_OPEN的属性包括文档所在的位置信息,将作为成员函数Open()的参数:Open(char*szDocPath)。而UOML_CLOSE的子元素包括文档对象的句柄,也将作为成员函数Close()的参数。
对于UOML的其它操作,如获取(UOML_GET)、设置(UOML_SET)、插入(UOML_INSERT)、删除(UOML_DELETE)、检索查询(UOML_QUERY)等也可以通过上述的方式对应到类的成员函数。
步骤203,在成员函数体内将该函数对应的操作转换为UOML的操作,并将操作的返回结果转换为面向对象语言的返回类型。
例如在UOML_Doc类的成员函数Open(char*szDocPath)的实体内,把相应的调用转为对文档库调用的UOML XML字符串,并发送到文档库:
<?xml version=″1.0″encoding=″UTF-8″?>
<UOML_OPEN create=″true″>
    <path val=szDocPath/>
</UOML_OPEN>
文档库收到请求后即执行操作。如果打开文档成功,即返回XML字符串。在Open()函数体内部,根据接到的字符串构建UOML_Doc对象,然后作为函数的返回值返回该对象。
上面以C++语言为例对面向对象的语言进行UOML到API的封装方法,可以看出的是,上述方法对其它的一些面向对象的语言,如Object-C、Delphi、Java、Python、Ruby等同样适用。
下面以编程语言C为例,介绍UOML封装成非面向对象语言的API的方法。
如图3所示,为本发明提供的一种将UOML封装成非面向对象语言API的方法流程图。包括如下步骤:
步骤301,将UOML对象映射为非面向对象语言的结构,对象的属性对应于结构中简单数据类型变量或复杂数据类型变量,对象的子元素对应于结构中结构变量或简单数据类型变量。
以UOML文档对象为例,首先在C语言中定义一个对应的结构struct_UOML_Doc。
为UOML文档对象定义对应结构struct_UOML_Doc之后,将UOML文档对象的子元素映射为结构struct_UOML_Doc的对应的成员变量.UOML文档对象包含metadata(元数据),pageset(各页面)fontinfo(嵌入字库)等子元素.这些子元素分别有对应的结构定义:metadata用结构struct_UOML_Meta表示,pageset用结构struct_UOML_Page表示,fontinfo用结构struct_UOML_FontInfo表示.所以UOML文档对象的这些子元素在结构struct_UOML_Doc定义中有对应的成员变量:struct_UOML_Meta_metadata;struct_UOML_Page*pageset;struct_UOML_FontInfo fontinfo。其中,pageset子元素还可以通过struct_UOML_page的数组来表示。由于UOML文档对象不包含属性,所以没有属性向成员变量的映射。
同理,对于UOML页对象,为其定义结构struct_UOML_Page。将UOML页对象的resolution,size,rotation,log等属性,在结构struct_UOML_Page定义中用整型或浮点类型的成员变量表示,而UOML页对象的GS,metadata等子元素在结构struct_UOML_Page中以相应的成员变量表示。
通过上述的方式,可以为UOML的所有对象在非面向对象的语言中定义相应的结构,包括文档库(UOML_DOCBASE)、文档集(UOML_DOCSET)、文档(UOML_DOC)、页(UOML_PAGE)、层(UOML_LAYER)、对象组(UOML_OBJGROUP)、文字(UOML_TEXT)、图像(UOML_IMAGE)、直线(UOML_LINE)、曲线(UOML_BEIZER)、圆弧(UOML_ARC)、路径(UOML_PATH)、源文件(UOML_SRCFILE)、背景色(UOML_BACKCOLOR)、前景颜色(UOML_COLOR)、ROP(UOML_ROP)、字符尺寸(UOML_CHARSIZE)、字体(UOML_TYPEFACE)、角色(UOML_ROLE)、权限(UOML_PRIV)等对象。本技术领域的技术人员可以参照上面的说明来具体实现,在此不一一赘述。
步骤302,将UOML操作映射为非面向对象语言的全局函数原型,UOML操作的属性和子元素对应于函数原型的参数。
以UOML文档对象为例,对于作用于UOML文档对象的操作,如打开(UOML_OPEN)、关闭(UOML_CLOSE)等,定义相应的API函数原型:
struct_UOML_Doc*UOML_Doc_Open(char*szDocPath)和
void UOML_Doc_Close(HANDLE*hDocHandle)。
操作UOML_OPEN的属性包括文档所在的位置信息,将作为API函数UOML_Doc_Open()的参数:szDocPath。而UOML_CLOSE的子元素包括文档对象的句柄,也将作为API函数UOML_Doc_Close的参数:hDocHandle。
对于UOML的其它操作,如获取(UOML_GET)、设置(UOML_SET)、插入(UOML_INSERT)、删除(UOML_DELETE)、检索查询(UOML_QUERY)等也可以通过上述的方式对应到API函数原型。
步骤303,在函数体内将该函数对应的操作转换为UOML的操作,并将操作的返回结果转换为非面向对象语言的返回类型。
例如在API函数UOML_Doc_Open(char*szDocPath)的实体内,把相应的调用转为对文档库调用的UOML XML字符串,并发送到文档库:
<?xml version=″1.0″encoding=″UTF-8″?>
<UOML_OPEN create=″true″>
    <path val=szDocPath/>
</UOML_OPEN>
文档库收到请求后即执行操作。如果打开文档成功,即返回XML字符串。在UOML_Doc_Open()函数体内部,根据接到的字符串构建UOML_Doc对象,然后作为函数的返回值返回该对象。
上面以C语言为例对非面向对象的语言进行UOML到API的封装方法,可以看出的是,上述方法对其它的一些非面向对象的语言,如TCL、Pascal、Perl等同样适用。
如图4所示,为本发明的编程语言的封装层次示意图。过程401表示的是将C/C++语言封装的API在对应函数体内直接转换为UOML XML操作命令,过程402表示的是将其它非C/C++的编程语言封装的API在对应函数体内直接转换为UOML XML操作命令。对于其它非C/C++的编程语言的API封装,除了在对应的API函数体内直接转换为UOML XML操作命令,还可以利用这些编程语言跟C++或C语言的接口,在该编程语言的函数体内,直接调用C++,C语言封装成的对应API函数,正如过程403所示。而实际向UOML XML操作命令的转换在C/C++封装的API函数体内完成。以编程语言Java为例,可以利用Java语言的本地接口规范(Java Native Interface,简称JNI),在Java封装的API函数体内,绑定(binding)C/C++封装的对应API函数,而不需要进行直接的UOML XML转换。大多数脚本语言都提供了利用C++或C语言作扩展的机制,利用这种机制,就可以实现脚本语言的API对本地应用程序API函数的绑定。上述的脚本语言,除了Java,还可以包括TCL、Perl、Python和Ruby等语言。
通过上述提供的方法,可以实现将UOML封装成编程语言的API。开发人员在一编程语言上开发对文档库系统的应用时,可以直接调用生成的该编程语言封装的的API,从而省去了大量的解析UOML的工作量,提高了开发的效率。
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。

Claims (8)

1.一种将UOML封装成编程语言的应用程序编程接口API的方法,其特征在于,包括如下步骤:
将UOML操作的对象映射为编程语言的复合数据类型,所述UOML操作的对象的属性和/或子元素对应于复合数据类型中简单数据类型变量或复杂数据类型变量;
将UOML操作映射为编程语言的API函数原型,其中,UOML操作的属性和子元素对应于API函数原型的参数;
当调用一个API函数时,根据API函数原型和UOML操作的映射关系,API函数生成UOML操作命令,并将生成的UOML操作命令发送给文档库系统;
在文档库系统执行所述UOML操作命令后,所述API函数将来自所述文档库系统的返回结果转换为符合编程语言返回类型的返回值。
2.如权利要求1所述的方法,其特征在于,当所述编程语言支持函数的多态性定义时,将多个对象的UOML操作映射为编程语言的一个API函数原型,并通过所述API函数原型的参数的类型来区分对不同对象的操作。
3.如权利要求1所述的方法,其特征在于,所述编程语言为面向对象的编程语言,所述的编程语言中的复合数据类型为类,所述的编程语言的API函数原型为类的成员函数,所述UOML操作的属性和子元素对应于类成员函数的参数。
4.如权利要求3所述的方法,其特征在于,所述的面向对象的编程语言包括C++、Object-C、Delphi、Java、Python或Ruby。
5.如权利要求1所述的方法,其特征在于,所述编程语言为非面向对象的编程语言,所述的编程语言中的复合数据类型为结构;所述的编程语言的API函数原型为全局函数原型,所述UOML操作的属性和子元素对应于所述全局函数原型的参数。
6.如权利要求5所述的方法,其特征在于,所述的非面向对象的编程语言包括C、TCL、Pascal或Perl。
7.如权利要求3或5所述的方法,其特征在于,所述编程语言具有和C或者C++的接口,所述API函数通过与C或者C++的接口调用C++或C语言封装的API函数来生成所述UOML操作命令。
8.如权利要求7所述的方法,其特征在于,所述的编程语言包括Java、TCL、Perl、Python或Ruby。
CN200610114649A 2006-11-20 2006-11-20 一种将uoml封装成应用程序编程接口的方法 Expired - Fee Related CN101192141B (zh)

Priority Applications (4)

Application Number Priority Date Filing Date Title
CN200610114649A CN101192141B (zh) 2006-11-20 2006-11-20 一种将uoml封装成应用程序编程接口的方法
EP07721752A EP2124156A4 (en) 2006-11-20 2007-06-19 METHOD FOR PACKING UOML IN AN APPLICATION PROGRAMMING INTERFACE
PCT/CN2007/070132 WO2008061457A1 (fr) 2006-11-20 2007-06-19 Procédé pour emballer l'uoml dans une interface de programmation d'applications
US12/415,643 US8316379B2 (en) 2006-11-20 2009-03-31 Method for invoking UOML instructions

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN200610114649A CN101192141B (zh) 2006-11-20 2006-11-20 一种将uoml封装成应用程序编程接口的方法

Publications (2)

Publication Number Publication Date
CN101192141A CN101192141A (zh) 2008-06-04
CN101192141B true CN101192141B (zh) 2010-05-12

Family

ID=39429391

Family Applications (1)

Application Number Title Priority Date Filing Date
CN200610114649A Expired - Fee Related CN101192141B (zh) 2006-11-20 2006-11-20 一种将uoml封装成应用程序编程接口的方法

Country Status (4)

Country Link
US (1) US8316379B2 (zh)
EP (1) EP2124156A4 (zh)
CN (1) CN101192141B (zh)
WO (1) WO2008061457A1 (zh)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2316071A4 (en) 2008-06-19 2011-08-17 Servicemesh Inc CLOUD DATA PROCESSING GATEWAY, CLOUD DATA PROCESSING HYPERVISOR, AND METHOD FOR IMPLEMENTING THEM
US9489647B2 (en) 2008-06-19 2016-11-08 Csc Agility Platform, Inc. System and method for a cloud computing abstraction with self-service portal for publishing resources
US10411975B2 (en) 2013-03-15 2019-09-10 Csc Agility Platform, Inc. System and method for a cloud computing abstraction with multi-tier deployment policy
US8931038B2 (en) * 2009-06-19 2015-01-06 Servicemesh, Inc. System and method for a cloud computing abstraction layer
US20110179049A1 (en) * 2010-01-19 2011-07-21 Microsoft Corporation Automatic Aggregation Across Data Stores and Content Types
US8759527B2 (en) 2010-08-25 2014-06-24 Bayer Cropscience Ag Heteroarylpiperidine and -piperazine derivatives as fungicides
US20120117118A1 (en) * 2010-11-10 2012-05-10 Sony Corporation Search and deep linking in internet-enabled tv
CN102299956A (zh) * 2011-07-07 2011-12-28 北京书生数字图书馆软件技术有限公司 一种调用文档库系统的方法和装置
CN104657144B (zh) * 2015-03-06 2018-02-13 东信和平科技股份有限公司 一种实现智能卡数据跟踪的方法
CN106250248A (zh) * 2016-07-28 2016-12-21 努比亚技术有限公司 一种对返回数据进行类型转换的方法和装置
CN113486106B (zh) * 2021-07-30 2023-03-14 西安西热电站信息技术有限公司 一种Python获取SIS或监管系统数据并大数据分析的方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6480865B1 (en) * 1998-10-05 2002-11-12 International Business Machines Corporation Facility for adding dynamism to an extensible markup language
CN1783090A (zh) * 2004-11-30 2006-06-07 国际商业机器公司 用于对象模型与xml间转换的可共享双向方法和系统

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040015840A1 (en) * 2001-04-19 2004-01-22 Avaya, Inc. Mechanism for converting between JAVA classes and XML
US7010796B1 (en) * 2001-09-28 2006-03-07 Emc Corporation Methods and apparatus providing remote operation of an application programming interface
EP1644827A1 (en) * 2003-07-11 2006-04-12 Computer Associates Think, Inc. Automated patching of code for schema derived classes
CN1979511B (zh) 2005-12-09 2012-04-18 北京书生国际信息技术有限公司 一种文档数据安全管理系统和方法
CN100547590C (zh) 2005-12-05 2009-10-07 北京书生国际信息技术有限公司 文档处理系统
CN100507913C (zh) 2005-12-12 2009-07-01 北京书生国际信息技术有限公司 一种文档处理方法及系统

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6480865B1 (en) * 1998-10-05 2002-11-12 International Business Machines Corporation Facility for adding dynamism to an extensible markup language
CN1783090A (zh) * 2004-11-30 2006-06-07 国际商业机器公司 用于对象模型与xml间转换的可共享双向方法和系统

Also Published As

Publication number Publication date
US20090187927A1 (en) 2009-07-23
EP2124156A1 (en) 2009-11-25
EP2124156A4 (en) 2010-01-06
CN101192141A (zh) 2008-06-04
WO2008061457A1 (fr) 2008-05-29
US8316379B2 (en) 2012-11-20

Similar Documents

Publication Publication Date Title
CN101192141B (zh) 一种将uoml封装成应用程序编程接口的方法
US8850416B1 (en) System and method for creating target byte code
US8327328B2 (en) System and method for creating target byte code
US7694284B2 (en) Shareable, bidirectional mechanism for conversion between object model and XML
US9086931B2 (en) System for translating diverse programming languages
CN107861728B (zh) 用于传统程序语言向现代程序语言转换的方法及其系统
US9965259B2 (en) System for translating diverse programming languages
KR101150003B1 (ko) 소프트웨어 개발 툴 생성 방법
CN101840334B (zh) 一种软件构件服务化封装方法
CA2312814C (en) Apparatus and method for allowing object-oriented programs created with different framework versions to communicate
CN100389391C (zh) 一种利用脚本及其编译器调用宿主软件函数的系统与方法
JP2005018777A (ja) 共通問い合わせ実行時システムおよびアプリケーションプログラミングインターフェイス
JP2001502823A (ja) インターフェイス定義言語によって定義されたデータ構造体を異種システム間で移送するための方法および装置
KR20040007545A (ko) 소프트웨어 객체와 구조화 언어 요소 기반 문서간의 매핑시스템 및 방법
EP1452962B1 (en) System and method for defining and using subclasses declaratively within markup
Ide et al. Bridging the gaps: interoperability for GrAF, GATE, and UIMA
US20050177818A1 (en) Integration of external tools into an existing design environment
CN112379886A (zh) 数据格式转换系统及其方法
Rasmussen et al. Bridging the language gap in scientific computing: the Chasm approach
US8527968B2 (en) Translation device, translation method, and storage medium for program
Kim et al. Migrating Legacy Software Systems to Corba based Distributed Environments through an Automatic Wrapper Generation Technique [versión electrónica]
Lauer Introducing Vala Programming: A Language and Techniques to Boost Productivity
Mössenböck C# to the Point
Long CATY: an ASN. 1-C++ translator in support of distributed object-oriented applications
KR20000037864A (ko) 객체 연결 및 내장 방식을 이용한 문서 작성 방법

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
ASS Succession or assignment of patent right

Owner name: BEIJING SURSEN ELECTRONIC TECHNOLOGY CO., LTD. BEI

C41 Transfer of patent application or patent right or utility model
COR Change of bibliographic data

Free format text: CORRECT: ADDRESS; FROM: 100083 13/F, SHINING BUILDING, NO.35, XUEYUAN ROAD, HAIDIAN DISTRICT, BEIJING TO: 100191 ROOM 407, TAIXING BUILDING, NO.11, HUYUAN EAST ROAD, HAIDIAN DISTRICT, BEIJING

TR01 Transfer of patent right

Effective date of registration: 20101101

Address after: 100191, room 407, Taixing building, 11 Garden East Road, Beijing, Haidian District

Co-patentee after: Beijing Sursen Electronic Technology Co., Ltd.

Patentee after: Beijing Suresense International Information Technology Co., Ltd.

Co-patentee after: Beijing Sursen Network Technology Co., Ltd.

Co-patentee after: Beijing Sursen Digital Library Software Technology Co., Ltd.

Address before: 100083, Haidian District, Xueyuan Road, Beijing No. 35, Nanjing Ning building, 13 floor

Patentee before: Beijing Suresense International Information Technology Co., Ltd.

ASS Succession or assignment of patent right

Owner name: TIANJIN SHUSHENG INVESTMENT CO., LTD.

Free format text: FORMER OWNER: BEIJING SURESENSE INTERNATIONAL INFORMATION TECHNOLOGY CO., LTD.

Effective date: 20120302

Owner name: BEIJING SURSEN DIGITAL LIBRARY SOFTWARE TECHNOLOGY

Free format text: FORMER OWNER: BEIJING SURSEN ELECTRONIC TECHNOLOGY CO., LTD. BEIJING SURSEN NETWORK TECHNOLOGY CO., LTD. BEIJING SURSEN DIGITAL LIBRARY SOFTWARE TECHNOLOGY CO., LTD.

Effective date: 20120302

C41 Transfer of patent application or patent right or utility model
COR Change of bibliographic data

Free format text: CORRECT: ADDRESS; FROM: 100191 HAIDIAN, BEIJING TO: 300308 HEBEI, TIANJIN

TR01 Transfer of patent right

Effective date of registration: 20120302

Address after: 300308, Tianjin Airport Economic Zone, No. 80 North River Road airport business park, 9 East, building 2

Co-patentee after: Beijing Sursen Digital Library Software Technology Co., Ltd.

Patentee after: Tianjin Shusheng Investment Co., Ltd.

Co-patentee after: Beijing Sursen Network Technology Co., Ltd.

Co-patentee after: Beijing Suresense International Information Technology Co., Ltd.

Address before: 100191, room 407, Taixing building, 11 Garden East Road, Beijing, Haidian District

Co-patentee before: Beijing Sursen Electronic Technology Co., Ltd.

Patentee before: Beijing Suresense International Information Technology Co., Ltd.

Co-patentee before: Beijing Sursen Network Technology Co., Ltd.

Co-patentee before: Beijing Sursen Digital Library Software Technology Co., Ltd.

ASS Succession or assignment of patent right

Owner name: BEIJING SURSEN DIGITAL LIBRARY SOFTWARE TECHNOLOGY

Free format text: FORMER OWNER: BEIJING SURSEN DIGITAL LIBRARY SOFTWARE TECHNOLOGY CO., LTD. BEIJING SURSEN NETWORK TECHNOLOGY CO., LTD. BEIJING SURESENSE INTERNATIONAL INFORMATION TECHNOLOGY CO., LTD.

Effective date: 20140319

C41 Transfer of patent application or patent right or utility model
TR01 Transfer of patent right

Effective date of registration: 20140319

Address after: 300308, two floor, building 9, airport business park, 80 Ring Road North, Tianjin Airport Economic Zone

Patentee after: Tianjin Shusheng Investment Co., Ltd.

Patentee after: Beijing Sursen Digital Library Software Technology Co., Ltd.

Patentee after: Beijing Sursen Network Technology Co., Ltd.

Patentee after: Beijing Suresense International Information Technology Co., Ltd.

Patentee after: Beijing Sursen Electronic Technology Co., Ltd.

Address before: 300308, Tianjin Airport Economic Zone, No. 80 North River Road airport business park, 9 East, building 2

Patentee before: Tianjin Shusheng Investment Co., Ltd.

Patentee before: Beijing Sursen Digital Library Software Technology Co., Ltd.

Patentee before: Beijing Sursen Network Technology Co., Ltd.

Patentee before: Beijing Suresense International Information Technology Co., Ltd.

ASS Succession or assignment of patent right

Owner name: BEIJING SURSEN DIGITAL LIBRARY SOFTWARE TECHNOLOGY

Free format text: FORMER OWNER: BEIJING SURSEN DIGITAL LIBRARY SOFTWARE TECHNOLOGY CO., LTD. BEIJING SURSEN NETWORK TECHNOLOGY CO., LTD. BEIJING SURESENSE INTERNATIONAL INFORMATION TECHNOLOGY CO., LTD. BEIJING SURSEN ELECTRONIC TECHNOLOGY CO., LTD.

Effective date: 20140827

C41 Transfer of patent application or patent right or utility model
TR01 Transfer of patent right

Effective date of registration: 20140827

Address after: 300308, two floor, building 9, airport business park, 80 Ring Road North, Tianjin Airport Economic Zone

Patentee after: Tianjin Shusheng Investment Co., Ltd.

Patentee after: Beijing Sursen Digital Library Software Technology Co., Ltd.

Patentee after: Beijing Sursen Network Technology Co., Ltd.

Patentee after: Beijing Suresense International Information Technology Co., Ltd.

Address before: 300308, two floor, building 9, airport business park, 80 Ring Road North, Tianjin Airport Economic Zone

Patentee before: Tianjin Shusheng Investment Co., Ltd.

Patentee before: Beijing Sursen Digital Library Software Technology Co., Ltd.

Patentee before: Beijing Sursen Network Technology Co., Ltd.

Patentee before: Beijing Suresense International Information Technology Co., Ltd.

Patentee before: Beijing Sursen Electronic Technology Co., Ltd.

TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20170823

Address after: 300308, Tianjin Airport Economic Zone, No. 80 North River Road airport business park, 9 East, building two

Co-patentee after: Beijing Suresense International Information Technology Co., Ltd.

Patentee after: Tianjin Shusheng Investment Co., Ltd.

Address before: 300308, two floor, building 9, airport business park, 80 Ring Road North, Tianjin Airport Economic Zone

Co-patentee before: Beijing Sursen Digital Library Software Technology Co., Ltd.

Patentee before: Tianjin Shusheng Investment Co., Ltd.

Co-patentee before: Beijing Sursen Network Technology Co., Ltd.

Co-patentee before: Beijing Suresense International Information Technology Co., Ltd.

CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20100512

Termination date: 20181120

CF01 Termination of patent right due to non-payment of annual fee