CN1722132A - 用于将上下文信息嵌入在文档中的方法和系统 - Google Patents

用于将上下文信息嵌入在文档中的方法和系统 Download PDF

Info

Publication number
CN1722132A
CN1722132A CN 200510075832 CN200510075832A CN1722132A CN 1722132 A CN1722132 A CN 1722132A CN 200510075832 CN200510075832 CN 200510075832 CN 200510075832 A CN200510075832 A CN 200510075832A CN 1722132 A CN1722132 A CN 1722132A
Authority
CN
China
Prior art keywords
document
configuration information
knowledge base
context
recognizer
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
CN 200510075832
Other languages
English (en)
Inventor
R·R·达尔弗
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.)
Microsoft Corp
Original Assignee
Microsoft Corp
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
Priority claimed from US10/891,093 external-priority patent/US20050268219A1/en
Application filed by Microsoft Corp filed Critical Microsoft Corp
Publication of CN1722132A publication Critical patent/CN1722132A/zh
Pending legal-status Critical Current

Links

Images

Landscapes

  • Document Processing Apparatus (AREA)

Abstract

通用智能标签模块具有通用识别器和通用动作处理器。通用模块为平台提供对具有智能标签配置信息的知识库的访问并为每个驻留在平台上的主机应用程序提供识别器和动作处理器。知识库可以是可用于许多平台的共享数据存储器。通用模块可在运行时间从知识库动态加载或卸载选定的识别器和动作处理器。通用模块可向主机应用程序注册,并实现智能标签接口。通用模块可确定文档上下文并根据所确定的上下文从知识库加载识别器和动作处理器。通用模块可求出表达式(例如,规则.NET表达式)的值,并在文档中对存储在数据源中的数据进行查找。

Description

用于将上下文信息嵌入在文档中的方法和系统
优先权要求
本申请要求2004年5月28日提交的U.S.临时申请No.60/575,548的利益。
技术领域
以下所述的各种实施例通常涉及电子文档的生成和处理,且更具体而非排他地涉及这类文档中上下文信息的添加和处理。
背景技术
在许多真实场景中,用户愿意方便地访问出现在文档(例如,文本文档、电子数据表、电子邮件等)中的有关人、公司、地址等的附加信息。由华盛顿雷蒙德的微软公司开发的智能标签技术提供了向文档添加和访问这种上下文信息的机制。图1A到1C图示了添加上下文信息到文本文档一部分中的智能标签技术的一个示例。
图1A示出出现在一文本文档中的地址100“One Microsoft Way,Redmond,Washington 98052”。位于地址100下面的虚线102指出该文本文档的这部分具有一智能标签(即,关联于这部分文本的上下文信息)。智能标签技术包括一识别器,它在文档中检查预选串,对它而言可用多组关联的上下文信息。上下文信息存储在动态链接库(DLL)或其它数据存储器中。然后识别器将这个上下文信息附属于识别串。
图1B示出“选项”按钮110,当用户把光标放在虚线102上时智能标签技术显示出来。智能标签技术还显示出指出选项按钮110用于显示智能标签动作菜单的附加图形112。智能标签技术包括一动作处理器,它处理关联于识别串的上下文信息来提供用户可关于识别串所采取的动作。
图1C示出当用户激活选项按钮110时所显示的菜单120。菜单120示出用户关于地址100可采取的各种动作。动作处理器当由用户选择时显示菜单120并执行动作。
尽管这个示例示出了基于文本文档的识别串的智能标签,智能标签还可基于除文本串外的其它类型数据和/或在其它类型的文档或文件中。其它智能标签可提供来识别其它类型的数据(例如,人名、公司、产品、日期、地点等),每个关联于不同的上下文信息和可执行的动作(启动到这个人的电子邮件、察看这个人的日程表、显示该公司的电话号码、显示发往该公司的发票、显示对该产品的服务请求等)。这个简单的示例说明了对于用户智能标签技术是多么强大和有用。
目前,智能标签可在应用程序接应用程序的原则上实现。即,用户必须具有为每个有智能标签能力的应用程序注册的识别器和动作处理器,以便当应用程序打开时,识别器和动作处理器将被例示。对于大型组织而言,部署识别器和动作处理器并为每个应用程序注册它们可能是个重大任务。维护(例如,更新和删除现有识别器和动作处理器;添加新的识别器和动作处理器)智能标签对大型组织而言也是艰难的任务。
此外,识别器将应用于所有类型的用该应用程序编写的文档,尽管识别器可识别出对某些类型的文档没有用的数据(例如,在给私人朋友信中识别出你客户的产品名)。更进一步,编写智能标签的开发者必须实现识别器和动作处理器的接口,这倾向于为开发者增加开销和复杂度。
发明内容
按照各个实施例的各方面,提供了通用智能标签系统。在一个方面,为计算平台提供对包括智能标签配置信息的知识库的访问并为每个驻留在该平台的有智能标签能力的的应用程序提供识别器和动作处理器的通用智能标签模块(它包括通用识别器和通用动作处理器)。知识库可能是可用于许多计算平台的共享数据存储器。通用智能标签模块可在运行时间动态地从知识库加载和卸载选定的识别器和动作处理器。共享知识库有利地简化了识别器和动作处理器的维护。
在另一方面,通用智能标签模块与有智能标签能力的应用程序一起处理所有注册并实现智能标签运行所需要的所有接口(例如,组件对象模型或COM接口)。此方面大大降低了开发者编写智能标签的复杂度。
在还有另一方面中,通用智能标签模块确定文档的上下文并根据所确定的上下文从知识库加载识别器和动作处理器。当不能确定上下文时,通用智能标签模块可加载缺省识别器和动作处理器组。此方面允许计算平台具有为文档上下文定制的一组识别器和动作处理器,以避免识别出文档中不相关的数据段。
在还有另一方面中,通用智能标签模块本身可求出表达式的值。此方面降低了开发者的复杂度,因为开发者只需要指定知识库中的表达式,而不用编写求表达式值的代码。在一相关方面中,通用智能标签模块本身可在文档中执行对存储在数据源中的数据的查找。此相关方面降低了开发者的复杂度,因为开发者只需要指定数据源的位置,而不用编写执行查找的代码。
附图说明
参考以下附图描述了非有限和非穷尽的实施例,其中除非特别指明所有各视图中相同的参考数字代表相同的部分。
图1A-1C是示出智能标签如何对于文档中选定的数据段呈现上下文信息的图。
图2是一功能方框图,示出依照一个实施例的系统,用于从知识库将识别器和动作处理器加载进本地机器。
图3是一流程图,依照一个实施例,概要示出动态加载和调用识别器和动作处理器中通用智能标签模块的操作流程。
图4是一流程图,依照一个实施例,概要示出用于部署部分通用智能标签模块系统的过程。
图5是一功能方框图,概要示出一示例性计算环境,其中这里所述的技术和机制的各实施例都可以实现。
详细说明
以下技术和机制针对实现一种将上下文信息嵌入文档中的方法和系统。一般而言,为一或多台本地机器提供通用模块。每个通用模块可访问包含可在文档打开时由本地机器动态加载的识别器和动作处理器的知识库。知识库可驻留在远程机器(或跨多台远程机器分布)并由本地机器共享。在一个实施例中,系统基于来自微软公司可用的智能标签技术。下面描述这个一般概念的特定实现。
图2是一功能方框图,示出依照一个实施例的系统200,用于前述的从知识库204将识别器和动作处理器加载进本地机器202。该实施例基于智能标签技术,尽管其它的实施例可能使用其它技术将上下文信息嵌入到文档中。在这个实施例中,本地机器202包括通用智能标签模块210和一或多个有智能标签能力的应用程序212。有智能标签能力的应用程序在这里也可称为主机应用程序。通用智能标签模块210在这个实施例中是个软件组件,在实现于本地机器202上的计算环境(未示出)中执行。示例计算环境在下面结合图5描述。在系统200中,通用智能标签模块210和知识库204可交换信息,如箭头216所示。
而且,在这个实施例中,通用智能标签模块210包括从知识库204加载配置信息的配置加载器224、执行对从知识库204加载的识别器的调用的通用识别器226和执行对从知识库204加载的动作处理器的调用的通用动作处理器228。在一些实施例中,通用动作处理器228还执行表达式求值(例如,按照由微软开发的.NET框架的表达式)。尽管这个示例描述通用智能标签模块210为具有几个“子模块”,在其它实施例中,这些子模块的功能可能分布于更少(或更多)的子模块中并以不同的组合方式。
在这个实施例中,知识库204包括智能标签配置信息230、以及识别器和动作处理器232。智能标签配置信息230包含相关于识别器和动作处理器232的每个识别器和动作处理器的位置的信息。例如,配置信息可包括一组指针,一个指针指向识别器和动作处理器的每一个。在一个实施例中,智能标签配置信息230是以元数据形式,但在其它实施例中,配置信息可包含在文件、文档或其它合适的形式中。尽管图2所述为单一设备,知识库204可分布于可由本地机器202访问的几台设备上。例如,智能标签配置信息230可以存储在一台设备中,同时识别器和动作处理器232存储在另一设备中,而仍由单一逻辑位置表示。由于识别器和动作处理器存储在单一逻辑位置,识别器和动作处理器的部署和维护可能显著地是较少的复杂度和较少的时间开销。
在一些实施例中,识别器和动作处理器232包括指定上下文的识别器和动作处理器。识别器和动作处理器232还可包括用于每个主机应用程序的识别器和动作处理器的标准组,且因此不必需关联于特定上下文。
在一些实施例中,文档的“上下文”称为文档的目的和用途。文档的上下文的示例可包括用于创建文档的主机应用程序、用于创建文档的样式表、文档的属性等等。例如,法律文档(例如,合同)可具有大大不同于科学文档的上下文。用于具有“法律”上下文的文档的识别器可适应于识别法律术语而忽略科学术语;用于科学文档的识别器可适应于识别科学术语而忽略法律术语。然后开发者可对文档的每个上下文创建识别器和/或动作处理器,存储在知识库204中。尽管以上实施例使用了智能标签技术,其它实施例可使用其它技术将上下文信息嵌入到文档中。
图3依照一个实施例,概要示出动态加载和调用识别器和动作处理器中通用智能标签模块210(图2)的操作流程。参考图2和3,通用智能标签模块210操作流程的这个示例当本地机器202的用户用主机应用程序打开或创建文档时开始。
在方框302,通用智能标签模块210被例示。在这个实施例中,响应打开文档,本地机器202打开主机应用程序,它依次将通用智能标签模块210加载入存储器,因为通用智能标签模块210是向主机应用程序注册的(例如,当通用智能标签模块210在本地机器202中安装时)。
在方框304,为文档确定出一或多个上下文。在这个实施例中,配置通用智能标签模块210的配置加载器224以确定文档的上下文,例如,通过检查以下内容的一或多个:文档的属性;文档的样式表;用于创建文档的主机应用程序;附属于文档的大纲;或任意包含在文档中的其它相关信息。上下文和确定它们的机制一般由主机应用程序的开发者创建,尽管在一些情况下,第三方开发者可扩展上下文。开发者还可创建存储于知识库204的相应的指定上下文识别器和动作处理器。一些文档可能没有任何确定的上下文。
在方框306,智能标签配置信息230从知识库204获取并加载进本地机器202。在这个实施例中,配置加载器224发送对智能标签配置信息230的请求到知识库204,并作为响应,接收来自知识库204的智能标签配置信息230。
在方框308,一或多个识别器和一或多个动作处理器从知识库204获取并加载进本地机器202。在这个实施例中,配置加载器224根据如方框304中确定的文档上下文选择包含在智能标签配置信息230中的一或多个识别器和动作处理器。当在方框304没有确定上下文时,配置加载器224则可选择一缺省组的识别器和动作处理器。配置员和/或管理员可定义和修改这个缺省组。
在方框310,在方框308选定的识别器和动作处理器随后从知识库204获取并加载进本地机器202。在这个实施例中,配置加载器224发送对选定的智能标签处理模块(例如,识别器和动作处理器)的请求(包括从智能标签配置信息230获取的选定的识别器和动作处理器的位置信息)到知识库204。响应这些请求,配置加载器224将从知识库204接收选定的处理模块。以这种方式,指定上下文的识别器和动作处理器可在运行时间动态地加载(并当不再需要时卸载),由此通过提供相关的智能标签和减少不相关智能标签的数量来改善用户的体验。
选定处理模块的一或多个可以是由开发者编写的DLL形式,配置员和/或管理员将之存储于知识库204。在一些实施例中,处理模块还可以是表示规则表达式(例如,按照前述的.NET框架的表达式)的形式。在其它实施例中,可使用或创建来自不同框架或语言的表达式。当求值时,该表达式确定文本段中的模式或串。智能标签用由选定的文本上的配置所提供的定义创建。在一些其它实施例中,处理模块还可以是表示数据源或数据源的位置的形式。数据源可包含串或数据段的列表,开发者为之创建智能标签。数据源可以是,例如,数据库、电子表格、列表文件、XML文档等形式。
在方框312,使用在方框310加载的识别器在文档上执行识别操作。在这个实施例中,通用识别器226从文档中选择数据段,对每个数据段,进行对所加载识别器的调用,以确定是否有关联于这个数据段的智能标签。这个实施例允许开发者简化加载识别器的实现,因为每个识别器只需要实现一个方法调用(例如,ISmartTagRecognizer2接口的.Recognize2(...)方法调用)。通用识别器226然后处理所有其它需要支持智能标签实现的接口。这个特征的示例在下面结合图4对表达式识别器描述。
在方框314,使用在方框310加载的动作处理器在文档上执行动作处理操作。在这个实施例中,识别器识别文本并插入智能标签。当用户使用智能标签时,通用动作处理器228得到激活,且通用智能标签模块210传递执行至在方框310动态加载的正确的动作处理器。方框312和314然后可对来自文档其它部分的数据段重复执行,直至处理完整个文档。
在一可供选择的实施例中,通用智能标签模块210(图2)不需要在执行方框310时加载数据源内容。当然,通用识别器226(图2)可在执行方框312时加载数据源内容。
尽管以上过程是顺序示出和描述的,在其它实施例中,方框中所述的操作可以不同顺序、多次和/或并行执行。此外,尽管以上实施例使用了智能标签技术,其它实施例可使用其它技术将上下文信息嵌入进文档。
图4依照一个实施例示出了部署部分通用智能标签模块200(图2)的过程。这个示例针对为注册的主机应用程序部署新识别器402的管理员或配置员。对于新应用程序,配置员或管理员将需要为这些注册创建必需的注册项。例如这可在用户登录时通过脚本执行。
新识别器402可由主机应用程序的开发者创建。如果例如,开发者创建了新识别器,在一个实施例中适应于SmartTag interface2版本(例如,参见微软可用的智能标签软件开发者工具(SDK)),识别器只需要提供.Recognize2(...)方法调用的实现。下面提供规则.NET表达式的样本实现,以识别已知软件故障(bug)的标识符(即故障号)。相应于识别器的动作处理器随后将获得包含特定于所识别故障号的信息的智能标签。
namespace MyNamespace
{
///<小结>
///智能标签类
///</小结>
public class MyRecognizerClass:ISmartTagRecognizer2
{
   private static Regex RegularExpresssion=new Regex(
    @″(^|\W)(?<BugNumber>\d{4,5})($|\W)″,
    RegexOptions.Compiled|RegexOptions.Multiline|
          RegexOptions.ExplicitCapture);
   public SmartTagRecognizer()
   {
   }
   public void Recognize2(string Text,IF_TYPE DataType,int LocaleID,
          ISmartTagRecognizerSite2 RecognizerSite,string
       ApplicationName,
          ISmartTagTokenList TokenList)
   {
      Match match=RegularExpresssion.Match(Text);
      while(match.Success)
      {
         Group matchGroup=match.Groups[″BugNumber″];
         const string formatString=
            ″<?xml version=\″1.0\″?>″+
            ″<BugReference id=′{0}′/>″;
         string context=string.Format(formatString,matchGroup.Value);
         ISmartTagProperties propBag=RecognizerSite.GetNewPropertyBag();
         propBag.Write(″data″,context);
         RecognizerSite.CommitSmartTag(″http://UniqueSmartTagName″,
                      matchGroup.Index+1,matchGroup.Length,propBag);
         match=RegularExpresssion.Match(Text,
                      matchGroup.Index+matchGroup.Length);
     }
  }
}
}
在方框404,确定识别器的类型。在这个实施例中,有三种类型的识别器(也就是DLL、规则表达式和数据源),尽管在其它实施例中可有大量不同类型。在这个实施例中,动作处理器是DLL。
在判定框406,判定识别器402是否是数据源类型。在这个实施例中,配置员或管理员作出这个判定。如果识别器402是数据源类型,则操作流程前进到方框408。
在方框408,配置员或管理员只需要在知识库204(图2)中存储识别器402的数据源的副本并输入指向智能标签配置信息230(图2)中所存储的数据源的位置的指针(或用于确定所存储的数据源的位置的其它机制)。如果在方框406判定识别器不是数据源,操作流程前进至方框410。
在判定框410,判定识别器402是否是规则表达式。在这个实施例中,配置员或管理员作出这个判定。如果识别器402是规则表达式类型,操作流程则前进至方框412。
在方框412,配置员或管理员只需要在智能标签配置信息230(图2)中存储表示规则表达式的数据。前述故障号表达式的示例提供如下:
  <SmartTagRecognizer
ExpressionToDetect=″(^|\W)(?<BugNumber>\d{4,5})($|\W)″
  ExpressionToGenerate=″<?xml version=\″1.0\″?><BugReference id=′{0}′
/>″/>
在这个实施例中,通用智能标签模块210(图2)具有所有该识别器所需的信息,直接来自智能标签配置信息230而不是必须用单独的操作从知识库204得到表达式。在这个实施例中,如果在方框410判定识别器402不是规则表达式,则识别器402是DLL类型,且操作流程前进到方框414。
在方框414,配置员或管理员需要在知识库204(图2)中存储识别器402的DLL的副本并将指向DLL所存储位置的指针(或其它确定DLL位置的机制)添加到智能标签配置信息230(图2)中。将位置信息添加进智能标签配置信息230的示例提供如下:
   <SmartTagRecognizer Location=″\\some_share\MyRecognizer.dll″
ClassName=″MyNamespace.MyRecognizerClass″/>
对于部署动作处理器,配置员或管理员实际上将执行类似于方框414的操作,来存储动作处理器DLL于知识库204并将指向DLL的指针添加进智能标签配置信息230(图2)。
尽管以上过程是顺序示出并描述的,但在其它实施例中,方框中所述操作可以不同顺序、多次和/或并行地执行。此外,尽管以上实施例使用了智能标签技术,其它实施例可使用其它技术将上下文信息嵌入到文档中。
示例操作环境
以上所述的各种实施例可在服务器和客户机的计算机环境中实现。适合用于服务器和客户机的示例计算机环境结合图5在下面描述。
参考图5,用于实现本发明的示例性系统包括计算设备,诸如计算设备500。在其最基本配置中,计算设备500一般包括至少一个处理单元502和存储器504。根据计算设备的准确配置和类型,存储器504可以是易失性的(诸如RAM)、非易失性的(诸如ROM、闪存等)或两者的某些结合。这个最基本配置由虚线506在图5中说明。另外,设备500还可具有附加的部件/功能。例如,设备500还可包括附加存储器(可移动的和/或不可移动的),包括但不限于,磁或光盘或磁带。这样的附加存储器在图5中由可移动存储器508和不可移动存储器510说明。计算机存储介质包括以用于诸如计算机可读指令、数据结构、程序模块或其它数据等信息的存储的任意方法或技术实现的易失性和非易失性的、可移动和不可移动的介质。存储器504、可移动存储器508和不可移动存储器510都是计算机存储介质的示例。计算机存储介质包括,但不限于,RAM、ROM、EEPROM、闪存或其它存储技术、CD-ROM、数字通用盘(DVD)或其它光存储器、磁盒、磁带、磁盘存储器或其它磁存储设备或任意其它可用来存储所需信息并可被设备500访问的介质。任意这种计算机存储介质都可以是设备500的一部分。
设备500还可包含允许设备与其它设备通信的通信连接512。通信连接512是通信介质的示例。通信介质一般包含计算机可读指令、数据结构、程序模块或在诸如载波或其它传输机制的调制数据信号中的其它数据并包括任意信息传输介质。术语“调制数据信号”指具有以在信号中编码信息这种方式设置或改变的其特征的一或多个的信号。作为示例而非限制,通信介质包括诸如有线网络或直接线缆连接的有线介质和诸如声波、RF、红外和其它无线介质的无线介质。这里所用的术语计算机可读介质包括存储介质和通信介质两种。
设备500还可具有诸如键盘、鼠标、笔、声音输入设备、触摸输入设备等的输入设备514。诸如显示器、扬声器、打印机等的输出设备516也可包括在内。所有这些设备都是本领域众所周知的,且不需要在这里长篇讨论。
设备500可包括各种计算机可读介质。计算机可读介质可是是任何由设备500访问的可用介质,并包括易失性和非易失性介质、可移动和不可移动介质。作为示例而非限制,计算机可读介质可包括计算机存储介质和通信介质。计算机存储介质包括以用于诸如计算机可读指令、数据结构、程序模块或其它数据等信息的存储的任意方法或技术实现的易失性和非易失性的、可移动和不可移动的介质。计算机存储介质包括,但不限于,RAM、ROM、EEPROM、闪存或其它存储技术、CD-ROM、数字通用盘(DVD)或其它光盘存储器、磁盒、磁带、磁盘存储器或其它磁存储设备或任意其它可用来存储所需信息并可被设备500访问的介质。通信介质一般包含计算机可读指令、数据结构、程序模块或在诸如载波或其它传输机制的调制数据信号中的其它数据并包括任意信息传输介质。术语“调制数据信号”指具有以在信号中编码信息这种方式设置或改变的其特征的一或多个的信号。作为示例而非限制,通信介质包括诸如有线网络或直接线缆连接的有线介质和诸如声波、RF、红外和其它无线介质的无线介质。以上任意的结合也应包括在计算机可读介质的范围内。
这里各种模块和技术在计算机可执行指令的通用上下文中描述,诸如程序模块,由一或多台计算机或其它设备执行。通常,程序模块包括例程、程序、对象、组件、数据结构等,用于执行特定任务或实现特定抽象数据类型。这些程序模块等可作为原代码执行或可下载并执行,诸如在虚拟机或其它即时(just-in-time)编译执行环境中。一般地,程序模块的功能可如在各种实施例中所希望的结合或分布。
这些模块和技术的实现可存储在或传输在某些形式的计算机可读介质上。计算机可读介质可以是任意可由计算机访问的可用介质。作为示例而非限制,计算机可读介质可包括“计算机存储介质”和“通信介质”。
“计算机存储介质”包括以用于诸如计算机可读指令、数据结构、程序模块或其它数据等信息的存储的任意方法或技术实现的易失性和非易失性的、可移动和不可移动的介质。计算机存储介质包括,但不限于,RAM、ROM、EEPROM、闪存或其它存储技术、CD-ROM、数字通用盘(DVD)或其它光存储器、磁盒、磁带、磁盘存储器或其它磁存储设备或任意其它可用来存储所需信息并可被计算机访问的介质。
“通信介质”一般包含计算机可读指令、数据结构、程序模块或在诸如载波或其它传输机制的调制数据信号中的其它数据。通信介质也包括任意信息传输介质。术语“调制数据信号”指具有以在信号中编码信息这种方式设置或改变的其特征的一或多个的信号。仅作为非限制示例,通信介质包括诸如有线网络或直接线缆连接的有线介质和诸如声波、RF、红外和其它无线介质的无线介质。以上任意的结合也应包括在计算机可读介质的范围内。
这个说明书通篇进行了对“一个实施例”、“实施例”或“示例实施例”的引用,它们是指特定描述的部件、结构或特征至少包括在本发明的一个实施例中。因而,这种短语的使用可称为多于一个实施例。而且,所述部件、结构或特征可在一或多个实施例中用任意适合的方式组合。
但是,相关领域中的熟练技术人员可认识到,本发明可没有一或多个特定细节或者用其它方法、资源、材料等而实施。在其它情况中,众所周知的结构、资源或操作未示出或详细描述,只是为了避免遮蔽本发明的各方面。
尽管示出和描述了示例实施例和应用程序,要理解本发明不限于以上描述的精确配置和资源。可在这里所公开的本发明的方法和系统的排列、操作和细节上进行各种对那些本领域熟练技术人员显而易见的修改、变化和变体,而不脱离权利要求的发明的范围。

Claims (33)

1.一种向文档添加上下文信息的方法,其特征在于,包括:
确定一文档的上下文;
从一知识库加载关联于所述上下文信息的配置信息;以及
响应于所述上下文和配置信息,从所述知识库加载处理模块,其中,所述处理模块将在被激活时向所述文档添加上下文信息。
2.如权利要求1所述的方法,其特征在于,从一知识库加载配置信息包括从远离于向其加载所述配置信息要加载的位置的一知识库加载配置信息。
3.如权利要求1所述的方法,其特征在于,从一知识库加载配置信息包括加载指向一动态链接库(DLL)的指针。
4.如权利要求1所述的方法,其特征在于,从一知识库加载配置信息包括加载一包括所述配置信息的数据源。
5.如权利要求1所述的方法,其特征在于,从一知识库加载配置信息包括加载一包括所述配置信息的表达式。
6.如权利要求1所述的方法,其特征在于,从一知识库加载配置信息包括如果不能确定上下文则加载缺省配置信息。
7.如权利要求1所述的方法,其特征在于,所述配置信息包括应用于多个上下文的信息。
8.如权利要求1所述的方法,其特征在于,所述知识库可由多个实体访问。
9.如权利要求1所述的方法,其特征在于,还包括卸载所述加载的配置信息。
10.如权利要求1所述的方法,其特征在于,还包括卸载所述加载的处理模块。
11.如权利要求1所述的方法,其特征在于,还包括对一处理模块进行一次调用,以识别出文档中选定的数据段。
12.如权利要求11所述的方法,其特征在于,还包括响应于一识别出的数据段,对另一处理模块进行一次调用。
13.如权利要求1所述的方法,其特征在于,所述文档的上下文包括所述文档的属性。
14.如权利要求1所述的方法,其特征在于,所述文档的上下文包括一关联于所述文档的样式表。
15.如权利要求1所述的方法,其特征在于,所述文档的上下文包括一附属于所述文档的大纲。
16.如权利要求1所述的方法,其特征在于,所述文档的上下文包括一用于创建所述文档的主机应用程序。
17.一种具有执行如权利要求1所述的方法的机器可读介质。
18.一种向文档添加上下文信息的装置,其特征在于,所述装置包括:
用于确定所述文档的上下文的装置;
用于从一知识库加载关联于所述上下文信息的配置信息的装置;以及
用于响应于所述上下文和所述配置信息从所述知识库加载处理模块的装置,其中,所述处理模块将在被激活时向所述文档添加上下文信息。
19.如权利要求18所述的装置,其特征在于,所述知识库远离于所述装置定位。
20.如权利要求18所述的装置,其特征在于,所述配置信息包括指向动态链接库(DLL)的指针、数据源以及表达式中的一个或多个。
21.如权利要求18所述的装置,其特征在于,所述用于加载配置信息的工具响应用于所述确定装置不能确定所述文档的上下文而加载缺省配置信息。
22.如权利要求18所述的装置,其特征在于,还包括用于卸载所加载的配置信息的工具以及用于卸载所加载的处理模块的装置。
23.如权利要求18所述的装置,其特征在于,还包括用于对一处理模块进行一次调用以识别出所述文档中选定的数据段的装置。
24.如权利要求23所述的装置,其特征在于,还包括用于响应于一所识别出的数据段对另一处理模块进行一次调用的装置。
25.一种向文档添加上下文信息的系统,其特征在于,所述系统包括:
第一识别器,它对加载的第二识别器进行一次调用以识别出所述文档中一选定的数据段;
第一动作处理器,它响应由所述第一识别器识别出的一数据段对加载的第二动作处理器进行调用;以及
一配置加载器,它确定所述文档的一上下文,并作为响应,从一知识库加载关联于所述上下文信息的配置信息。
26.如权利要求25所述的系统,其特征在于,所述配置加载器将响应于所述加载的配置信息加载所述第二识别器和动作处理器。
27.如权利要求25所述的系统,其特征在于,所述配置加载器还将响应于所述加载的配置信息加载多个识别器和多个动作处理器。
28.如权利要求25所述的系统,其特征在于,当所述系统被安装在一机器中时,将向用于创建所述文档的主机应用程序注册。
29.如权利要求25所述的系统,其特征在于,所述第二识别器不需要向用于创建所述文档的主机应用程序注册。
30.如权利要求25所述的系统,其特征在于,所述配置信息包括指向动态链接库的指针、数据源和表达式中的一或多个。
31.如权利要求25所述的系统,其特征在于,所述知识库驻留在一个不是所述系统所驻留在的机器的机器上。
32.如权利要求25所述的系统,其特征在于,所述知识库可被不是驻留在所述系统所驻留在的机器上的机器上的其它系统访问。
33.一种具有实现如权利要求25所述的系统的组件的机器可读介质。
CN 200510075832 2004-05-28 2005-05-27 用于将上下文信息嵌入在文档中的方法和系统 Pending CN1722132A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US60/575,548 2004-05-28
US10/891,093 US20050268219A1 (en) 2004-05-28 2004-07-14 Method and system for embedding context information in a document
US10/891,093 2004-07-14

Publications (1)

Publication Number Publication Date
CN1722132A true CN1722132A (zh) 2006-01-18

Family

ID=35912442

Family Applications (1)

Application Number Title Priority Date Filing Date
CN 200510075832 Pending CN1722132A (zh) 2004-05-28 2005-05-27 用于将上下文信息嵌入在文档中的方法和系统

Country Status (1)

Country Link
CN (1) CN1722132A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102375869A (zh) * 2010-08-04 2012-03-14 普瑞姆库马尔·朱娜拉 在设备上管理应用程序的系统,方法及装置

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102375869A (zh) * 2010-08-04 2012-03-14 普瑞姆库马尔·朱娜拉 在设备上管理应用程序的系统,方法及装置
US9207924B2 (en) 2010-08-04 2015-12-08 Premkumar Jonnala Apparatus for enabling delivery and access of applications and interactive services
US9210214B2 (en) 2010-08-04 2015-12-08 Keertikiran Gokul System, method and apparatus for enabling access to applications and interactive services
US9215273B2 (en) 2010-08-04 2015-12-15 Premkumar Jonnala Apparatus for enabling delivery and access of applications and interactive services
CN102375869B (zh) * 2010-08-04 2017-09-08 普瑞姆库马尔·朱娜拉 在设备上管理应用程序的系统,方法及装置
US10255059B2 (en) 2010-08-04 2019-04-09 Premkumar Jonnala Method apparatus and systems for enabling delivery and access of applications and services
US11640287B2 (en) 2010-08-04 2023-05-02 Aprese Systems Texas Llc Method, apparatus and systems for enabling delivery and access of applications and services

Similar Documents

Publication Publication Date Title
US8627303B2 (en) Memory optimization of virtual machine code by partitioning extraneous information
CN111090437B (zh) 应用部署方法、装置及计算机可读存储介质
JP5085022B2 (ja) 継ぎ目なくオブジェクトを比較するシステムおよび方法
CN1749964A (zh) 在基本输入和输出系统启动期间产生媒体输出
CN1573749A (zh) 使用外部计划主题的Web网页绘制机制
CN1203404C (zh) 具有逐模块验证的完全迟缓链接
CN1841362A (zh) 用于处理电子表格的方法和系统
CN1647042A (zh) 定制软件抽象的方法
CN1609789A (zh) 模块化对象串行化体系结构
CN1302014A (zh) 用于自动软件配置的请求调度程序
JP2009525533A (ja) Xna関係管理
CN1263314A (zh) 一种动态的基于对象格式的用于数据操纵的系统和方法
EP1600860A2 (en) Method and system for embedding context information in a document
CN1682183A (zh) 在客户机-服务器通信中处理增量数据的方法和计算机系统
CN1658609A (zh) 定制应用内容供应的系统和方法
CN1969272A (zh) 自动生成内容的导入
CN1678994A (zh) 用于提供访问用户界面信息的系统和方法
CN101042645A (zh) 统一软件开发环境的方法、设备及系统
US11301224B1 (en) Robotic process automation system with a command action logic independent execution environment
CN1723461A (zh) 用于数据库存储中的对象持久存储的系统和方法
CN1684035A (zh) 优先级绑定
US9817671B2 (en) Rule-based activation of behaviors in an extensible software application
CN109254808A (zh) 接口调用方法、装置及计算机可读存储介质
CN1662011A (zh) 使用元数据定义映射来构建组件应用程序的系统和方法
CN112817657A (zh) 一种应用程序启动项加载方法、装置、系统及存储介质

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