基于内容的表示提供内容的系统、方法和计算机程序产品的制作方法

文档序号:6656404阅读:110来源:国知局
专利名称:基于内容的表示提供内容的系统、方法和计算机程序产品的制作方法
技术领域
本发明总体上涉及提供内容的系统和方法,更具体地讲,涉及提供分级构建的内容的表示从而基于该表示提高检索或访问内容的效率的系统、方法和计算机程序产品。
背景技术
在如今的教育环境下,越来越多的人寻求与真正多样且种类繁多的主题相关的知识和进一步的教育。可以理解,教育和培训的形式多种多样。教育从非常小的年纪开始并延伸到高中。之后,人们可以参加各种大学、学院或技术中心中的任一个。然而,教育和培训并不限于这些正规环境。作为示例,许多公司、机构和其它实体执行培训项目,对人们进行他们各自的工作所需的技能的培训。此外,在接受了大学教育之后,占越来越大的比率的许多人参加某些类型的研究生院。研究生院可包括医学院、法学院、商学院、以及各种各样的其它高级课程。即使在这种高等教育之后,例如,人们仍然参加会议、研讨会以及其它有组织的会议,以交换信息和思想。
因此,从非常小的年纪开始教育和培训就存在于我们的生活中,并且对于某些人可能永远不会结束。如上所述,这种教育的形式多种多样。然而,这种教育的共同点是必须将信息从拥有知识的人和材料传达给想要知识的人。在下文中将提供知识的人称为“教师”,而将接收知识的那些人称为“学生”。
可通过医学学生的培训环境来了解当前使用的教学方法。通常,医学学生带着充实他或她寻求的知识的希望开始他或她的教育。通常,从医学学生步入教室的那一天起,灯就会熄灭并且幻灯片开始在屏幕上放映。显示幻灯片的速率平均可多达每小时180张幻灯片。然而,幻灯片在医学学生前面掠过,她期望消化该信息。
教学所用的信息可来自于许多源。例如,显示给医学学生的幻灯片可以是教授多年收集的成果。此外,这些幻灯片可以是该教授从退休前曾是系主任的其导师处获得的独一无二的幻灯片。
这些学生正确地意识到这些幻灯片具有巨大价值。然而,这些学生观看了一次这些幻灯片,而且仅观看了一次,然后这些幻灯片就永远消失了。然后,课后,这些学生单独或成群地工作,试图回想(conjure up)这些幻灯片。当在课堂上显示幻灯片时,学生通常不能够成功地领悟这些幻灯片。但是在真正掌握该幻灯片的精髓之前,下一张幻灯片已开始显示。然后,课后学生可能接近教授并谦恭地请求幻灯片的拷贝。然而,这些幻灯片通常代表教授的职业。结果,教授不愿帮助以任何形式再现他的文档。
以上情景示出了阻碍信息和知识从教师交流给学生的多种情况之一。因此,该情景导致学生对他们所接触的知识进行重建。该重建可以为以下形式对幻灯片或该日在课堂上出现的任何其它信息的笔记或粗略再现。因此,需要提供一种对各方都有益且可接受的从教师向学生交流知识的方法。
另外,会出现这样的情况,即,教师确实准备并向学生提供了材料。然而,即使在此情况下也有共同的问题。例如,教师会从资源图书复制喜欢的图,并将该图粘贴到他们自己创建的材料中。然后,教师会在该复制图周围写上该教师自己的文字。举例来说,这导致了潜在的版权侵犯。此外,随着桌面出版能力的出现,累积这些材料变得越来越容易。学生准确地意识到该材料直接来自教授,并因而认为该材料具有很大价值。此外,例如,大学可能要求学生购买教授的材料。另外,大学会推荐学生从特定出版商购买一系列材料。
因此,在学术界以及在其它学习环境中形成了这样的情况,即,管理人、教员和学生对于其学习材料的质量下降感到气馁和关注。从提供材料的教师的角度以及从接收材料的学生的角度,人们都感到气馁。对于学生,该情况尤其令人气馁,因为他们在考试情况以及其它情况下对该材料的掌握将会决定其职业的成功。
为了解决前述问题,已开发了这样的系统,所述系统从多种多样的源有效地收集信息,并以有效方式将该集(collection)中的一项或更多项材料提供给学生。根据一个这样的系统,可使用户使用在容易访问的集中的一个组织的全部教育课程。即,集可以以对于特定组织(例如大学或公司)是通用的为特征,集包括该特定组织使用的所有课程材料。然后该系统可提供对该集中信息的导航,从而允许用户与该集中的一项或更多项材料进行交互,就好像这些项例如单单是教科书、期刊、视频或论文一样。
在这种系统中,可以从各种源(诸如不同的教授和/或出版商)获得包括文本和图形的课程材料,然后将这些课程材料数字化。在这点上,可以将文本再次键入或者用程序转换,而图形可被扫描。然后,可以使用“标记”语言(诸如可扩展标记语言(XML))将文本和图形重新组合。在这种情况下,以分级的方式来构建课程材料。即,书包括章,章包括节,节包括小节,等等。然后,在一个或更多个章、节、小节等中,课程可以包括诸如图表和/或流程图的图形。
应该明白,这种数字化的课程材料会具有非常大的文件,这些文件需要大容量存储器来存储并呈现(render)以显示给用户。例如,将书《内科医学原理(PRINCIPLES OF INTERNAL MEDICINE)》全面数字化并且根据XML进行标记将需要40MB。在这种情况下,会要求计算机系统(诸如由用户操作的计算机系统)花费非理想量的时间来呈现数字化的课程材料以显示给用户,并且在某些情况下,会将该计算机系统过载到使该计算机系统无法正确显示材料的程度。
因此,期望将材料配置为使得在任何给定时间仅仅呈现材料的一部分以供显示。然而,即使以这种方式构建材料,也会要求计算机系统花费非理想量的时间来呈现用于显示的材料。在这点上,为了仅仅呈现以分级方式构建的课程材料的一部分,通常需要计算机系统从上到下地以分级方式从存储器中访问材料,并且遍历所访问的材料,直到定位课程材料的特定部分。然而,这种处理通常是低效的,这是因为该处理要求计算机系统访问课程材料的多个部分(即,在定位期望部分之前所遍历的那些部分),但是之后计算机系统在呈现用于显示的期望部分时并没有使用这些部分。

发明内容
鉴于上述背景,本发明的实施例提供了改进的用于提供内容的系统、方法和计算机程序产品。本发明的实施例的系统、方法和计算机程序产品能够产生包括至少一个项(更典型地为包括多个项)的分级构建的内容的表示。所述内容的表示随后能够提供给例如客户机,从而使其基于所述表示访问所述内容的至少一部分。有利的是,通过基于所述表示来访问内容,能够呈现所述内容或所述内容的选定部分,而不像传统系统中所要求的,需要客户机从上到下以分级方式访问内容,并且遍历所访问的材料,直到定位所述内容的选定部分。这样,客户机仅需访问内容中客户机在随后呈现用于显示的选定部分时会使用的那些部分,所述内容的表示就会帮助客户机访问内容并在随后呈现内容。
根据本发明的一个方面,提供了一种提供内容的系统,所述系统包括源和客户机。所述源能够产生所述内容的表示,所述内容是分级构建的并且包括具有关联类型的至少一个项。在这点上,所述源能够产生包括标识表和至少一个类型表的表示,各内容项包括在所述标识表中以及基于所述项的类型而被包括在类型表中。在产生所述表示之后,所述源能够将所述内容的表示提供给例如所述客户机。然后,所述客户机能够接收所述内容的表示,并且基于所述表示来访问所述内容的至少一部分。
所述源还能够通过产生所述内容的包括表示所述至少一个项的至少一个节点的基于树状的表示,以及遍历所述内容的所述基于树状的表示从而处理所述内容的分级结构中的所述至少一个项,来产生所述内容的表示。在这种情况下,所述源能够在对所述内容的所述基于树状的表示进行遍历期间产生所述标识表和至少一个类型表。更具体地讲,所述源能够遍历所述内容的所述基于树状的表示并且通过首先识别内容项、将所述项添加到所述标识表、然后基于所述项的类型将所述项添加到类型表,来产生所述标识表和至少一个类型表。然后,所述源能够针对所述内容项中的至少一个,对所述项进行识别,并且将所述项添加到所述标识表和类型表。
在一个典型示例中,内容项各自具有或者是元素、或者是属性、或者是字符数据的关联类型。在这点上,当至少一个项具有关联的元素类型时,所述源能够产生元素表,当至少一个项具有关联的属性类型时,所述源能够产生属性表,当至少一个项具有关联的字符数据类型时,所述源能够产生字符数据表。
另外在这种情况下,各字符数据项可以包括至少一个词语(term)。这样,所述源能够产生所述内容的还包括字符数据索引的表示,所述字符数据索引包括至少一个字符数据项的至少一个词语。更具体地讲,所述源能够通过遍历字符数据项,将所述字符数据项的至少一个词语添加到所述字符数据索引,来产生所述字符数据索引。然后,所述源能够针对所述至少一个词语,识别包括对应词语的各字符数据项的双亲(parent)项。与前面相似,针对来自所述字符数据表的至少一个字符数据项,所述源能够遍历字符数据项、添加至少一个词语并且识别各个对应的字符数据项的双亲项。
关于客户机更具体地讲,所述客户机能够通过基于所述标识表和至少一个类型表重建所述内容的至少一部分的基于树状的表示,来访问所述内容的至少一部分。随后,所述客户机能够根据所重建的基于树状的表示产生所述内容的至少一部分,从而访问所产生的内容剂量。更具体地讲,所述客户机能够通过产生所述基于树状的表示的至少一个节点来重建所述基于树状的表示,各节点表示所述内容的对应部分的项。例如,所述客户机能够通过从所述标识表中选择所述内容的对应部分内的项、针对选定的项产生所述基于树状的表示的节点、以及当选定的项具有至少一个后代项时遍历选定的项的至少一个后代项,来产生所述基于树状的表示的节点。在这点上,对所述后代项的遍历包括产生表示至少一个后代项中的每一个的节点,并且将所述节点与对应的双亲项相关联。
所述客户机还能够在所述内容的表示中搜索一个或更多个内容项。在这种情况下,所述客户机能够接收识别所述内容的至少一个项的查询。所述客户机随后能够在所述内容的表示中搜索由所述查询识别的项,并且其中,所述客户机能够基于所述搜索访问所述内容的至少一部分,被访问的内容部分包括由所述查询识别的项。所述客户机随后能够通过以下步骤来访问所述内容的至少一部分重建所述内容的至少一部分的基于树状的表示,所述内容的所述至少一部分包括由所述查询识别的内容项;以及根据所重建的基于树状的表示,产生所述内容的至少一部分。
更具体地讲,当内容项各自具有元素、属性或字符数据的关联类型时,所述客户机能够接收包括一个或更多个元素项的名称或者一个或更多个属性项的名称的查询。在这种情况下,针对任何元素项和属性项,所述内容的表示中的标识表能够包括与对应项相关联的名称。因此,所述客户机能够通过在所述标识表中搜索与包括在所述查询中的名称相匹配的名称,来搜索所述内容的表示。相比较,所述客户机能够接收这样的查询,所述查询包括至少一个字符数据项中所包括的至少一个词语。在这些情况下,所述内容的表示还可包括字符数据索引,所述字符数据索引包括至少一个字符数据项的至少一个词语。这样,所述客户机能够通过在所述字符数据索引中搜索与包括在所述查询中的至少一个词语相匹配的至少一个词语,来搜索所述内容的表示。
根据本发明的其它方面,提出了用于提供内容的方法和计算机程序产品。此外,提出了用于提供内容的源,以及提出了用于访问内容的客户机。通过产生所述内容的表示以及基于所述表示访问所述内容的部分,本发明的实施例允许客户机呈现所述内容的部分,而不用像在传统系统中,需要从上到下以分级方式访问内容,并且遍历所访问的内容,直到定位所述内容的选定部分。如上面指出以及下面所解释的,客户机仅需访问内容中由客户机随后在呈现用于显示的选定部分时会使用的那些部分,因此所述内容的表示有助于客户机访问内容并在随后呈现内容。因此,本发明的实施例的系统、方法和计算机程序产品解决了现有技术中的问题并且提供了另外的优点。


已经概括地描述了本发明,现在将描述附图,这些附图不是必须按比例绘制的,在附图中图1是根据本发明实施例的表示分级构建的内容并且基于该表示访问内容的系统的框图;图2是根据本发明实施例的能够作为源和/或客户机工作的实体的框图;图3是示出了根据本发明实施例的提供内容的方法中的各步骤的流程图;图4A和4B是示出了根据本发明的一个实施例的表示分级构建的内容的方法中的各步骤的流程图;图5是根据本发明实施例的内容的基于树状的表示的示意图;图6是示出了根据本发明的一个实施例的访问内容的方法中的各步骤的流程图;图7A、7B和7C是示出了根据本发明的一个实施例的根据内容的二元(binary)表示重建内容的基于树状的表示的方法中的各步骤的流程图;图8是示出了根据本发明的一个实施例的搜索内容的方法中的各步骤的流程图;以及图9A、9B、9C和9D是示出了根据本发明的一个实施例的在内容的表示中搜索一个或更多个内容项的方法中的各步骤的流程图。
具体实施例方式
在下文中将参照附图更充分地描述本发明,附图中示出了本发明的优选实施例。然而,本发明可以以许多不同的形式实现,并且不应被解释为限于在此阐述的实施例;而是,提供这些实施例是为了使本公开彻底和完整,并将本发明的范围完全传达给本领域的技术人员。在全文中,相似的标号表示相似的部件。
参照图1,表示分级构建的内容并基于该表示来访问内容的系统10包括一个或更多个内容源12和客户机14(各显示了一个)。各内容源12能够直接和/或间接地与一个或更多个客户机14进行通信。类似地,各客户机14能够直接和/或间接地与一个或更多个源12进行通信。例如,一个或更多个源12能够向一个或更多个客户机14提供内容,所述内容存储在可移动电子存储介质16(例如DVD)上。另外或者另选的是,例如,一个或更多个源12能够跨一个或更多个网络18向一个或更多个客户机14提供内容。该网络可包括一个或更多个不同类型的网络的多个不同组合中的任一个。例如,该网络可包括一个或更多个数据网络(诸如局域网(LAN)、城域网(MAN)、和/或广域网(WAN)(例如互联网))以及包括一个或更多个有线和/或无线语音网络,这些语音网络包括有线网络(诸如公共交换电话网(PSTN))和/或无线网络(诸如IS-136(TDMA)、GSM、和/或IS-95(CDMA))。然而,出于例示的目的,如下所述,除非另外指出,该网络包括互联网(即WAN)。
源12和客户机14可包括能够根据本发明的实施例进行操作的多个不同的实体、装置等中的任何一个或更多个。在这点上,一个或更多个源12和客户机14可包括、包含或被实施在一个或更多个处理单元(processing element)(诸如笔记本计算机、台式计算机、服务器计算机等中的一个或更多个)中。另外或者另选的是,一个或更多个源12和客户机14可包括、包含或被实施在一个或更多个便携式电子装置(诸如移动电话、便携式数字助理(PDA)、寻呼机等中的一个或更多个)中。例如,源12和客户机14可各自包括能够跨互联网(例如,网络18)而彼此进行通信的处理单元。然而,应该理解,该一个或更多个源12和客户机14可包括执行各实体的一个或更多个功能的用户或与该用户相关联。因此,如下所述,术语“源”可表示源和/或源用户,反之亦然。类似地,术语“客户机”可表示客户机和/或客户机用户,反之亦然。
现在参照图2,示出了根据本发明的一个实施例的能够作为源12和/或客户机14进行工作的实体的框图。虽然作为分立的实体示出,但在某些实施例中,一个或更多个实体可支持逻辑上分立但共存于该(些)实体中的源12和客户机14两者。还应该明白,一个或更多个实体能够执行一个或更多其它实体的一个或更多个功能。在这点上,源12能够执行客户机14的一个或更多个功能。另外或者另选的是,客户机14能够执行源12的一个或更多个功能。
如所示出的,能够作为源12和/或客户机14进行工作的实体通常可包括连接到存储器22的处理器20。处理器20还可连接到用于发送和/或接收数据、内容等的至少一个接口24或其它装置。在这点上,该接口可包括用户接口,该用户接口可包括显示器和用户输入接口。用户输入接口进而可包括允许实体从用户接收数据的多个装置(诸如电子扫描仪、键盘、鼠标)中的任何一个和/或能够接收数据、内容等的多个其它装置组件等中的任何一个。
存储器22可包括易失性和/或非易失性存储器,并且通常存储内容、数据等。在这点上,存储器22通常存储软件应用26、指令等,以供处理器20执行根据本发明实施例的与实体的操作相关联的步骤。例如,如下所述,当实体包括源12时,存储器22可存储与源12相关联的软件应用,诸如用于管理分级构建的内容的内容管理器。另外,例如,当实体包括客户机14时,存储器22可存储与该客户机14相关联的软件应用,诸如用于访问由源12提供的内容的访问应用。
根据本发明的实施例,通常,源12能够将一个或更多个内容提供给一个或更多个客户机14。例如,源12能够在容易访问的集中提供一个组织的一个或更多个教学课程。在这种情况下,集可以以对于特定组织(例如大学或公司)是通用的为特征,集包括该特定组织使用的多个课程材料。然而,应该理解,课程材料仅仅是源12能够提供给客户机14的多个不同类型的内容、信息、数据等之一。因此,如在此使用的,可以将术语“课程材料”、“内容”、“信息”和“数据”互换地使用,用来表示源12向客户机14提供的课程材料、内容、信息和数据。
简而言之,如下所述,在将内容提供给客户机14之前,源12能够以这样的方式来管理内容,与传统技术相比较,该方式便于客户机14以更加迅速和有效的方式来呈现内容。更具体地讲,在源12上运行的内容管理器(即,软件应用26)能够构建产生分级构建的内容的表示,在下文中将该表示称作内容的“二元表示”。客户机14能够接收内容的二元表示,并随后基于该二元表示访问内容的所有部分或选定部分。更具体地讲,在客户机14上运行的访问应用(即,软件应用25)能够接收内容(如果期望的话可以是内容的选定部分)的二元表示,并且基于该二元表示重建该内容或部分内容。有利的是,通过基于二元表示访问内容,客户机14能够随后呈现内容或内容的选定部分,而不像在传统系统中所需要的那样,要求访问应用从上到下以分级方式从存储器22中访问内容,并且遍历所访问的内容,直到定位内容的选定部分。这样,访问应用仅需访问内容的、客户机14在呈现用于显示的选定部分时会随后使用的那些部分,因此内容的二元表示有助于访问应用访问内容并随后呈现内容。
如在此所述的,各自包括软件(即,软件应用25)的内容管理器和访问应用各自能够分别在源12和客户机14上运行。然而,应该理解,作为另一选择,可以将内容管理器和/或访问应用实施在固件、硬件等中。另外,虽然在此将内容管理器和访问应用分别示出和描述为在源12和客户机14上运行,但是应该理解,内容管理器和/或访问应用能够在实体(例如,个人计算机、笔记本计算机、服务器计算机等)上运行,该实体与源12和/或客户机14分离并且诸如跨互联网(即,网络18)与源12和/或客户机14通信。
现在将描述图3,图3示出了根据本发明的实施例的提供内容的方法的流程图。该方法包括源12将一个或更多个内容(诸如一个或更多个课程材料)提供给一个或更多个客户机14。在这点上,源12可以将内容直接提供给一个或更多个客户机14。作为另一选择,源12可以例如经由来自源12的这种内容的多个发布者或其它提供者中的任何一个或更多个,将内容间接提供给一个或更多个客户机14。不管源12是直接还是间接地将内容提供给客户机14,源12都可以以多种不同方式中的任何一种来提供内容。
在提供课程材料的优选实施例中,例如,如框28所示,源12能够经由源12的用户输入接口(例如,接口24)接收课程材料。在接收到课程材料之后,源12可以将接收到的材料存储在源12的存储器22中。另外,在接收到课程材料之后,如框30所示,源12可以将课程材料格式化和数字化。随后,如框32所示,源12能够帮助源用户构建课程材料,或者以其它方式构建课程材料。例如,源12可以根据可扩展标记语言(XML)来构建或标记课程材料。然而,应该理解,源12可以根据多种其它标记语言、格式等中的任何一种来构建课程材料。
本领域的技术人员应该明白,与超文本标记语言(HTML)相似,XML使用标签来描述一页文本中的元素。然而,HTML仅使用预定标签,而XML允许页面开发者定义标签。这样,XML标签几乎能够用于识别任何数据项。因此,XML允许标记文档以与数据库记录相似的方式工作。在这点上,可将XML文档中的文本分成两组字符数据和标记。标记包括能够由XML组件的标签和句法定义的元素和属性,而字符数据组成存储在内容中的信息。
更具体地讲,元素是包括开始标签和结束标签的标记项,该开始标签和结束标签限定了某些类型的数据。元素内的数据可包括其它元素或字符数据。另一方面,属性能够将值与元素相关联,诸如用于存储可能对内容结构没有太多贡献但是增加了元素的信息值的数据。例如,描述人体解剖学的数字化教科书可以包括人类心脏的图像的元素。在这种情况下,人类心脏元素可以包括以用于识别图像的值(“image.gif”)引用图像源的属性(例如,src)。应该明白,元素和属性可以包括用于识别标记项的种类的名称或其它标识符。在这点上,元素的名称可包括各元素的开始标签和结束标签内所包括的内容,属性的名称包括具有关联值的内容。
通常,可将XML刻画为一系列包含信件的信封(即,XML标签),其中,信封识别各信封内的信件。另一方面,信件等同于标记文档中的文本,其中,可通过与各文本相关联的XML标签来识别文本。应该明白,与XML结合使用,文档类型定义(DTD)提供了规则,在这些规则下,使用XML对文档进行标记。在这点上,DTD指定了XML标记文档的结构,包括文档内容的嵌套方式。
可以根据人类决策技术来标记课程内容。在这种情况下,源用户能够与源12进行交互以标记课程内容。作为另一选择,源12可以根据自动技术(通常没有用户交互)来标记课程内容。例如,源12能够基于对课程内容内的一个或更多个关键字的检测来标记课程内容。然后,在标记课程内容之后,源12能够将标记的课程材料存储在源12的存储器22中。
更具体地讲,源12可操作而首先从源12的存储器22下载课程材料。然后,对于每项课程材料,源12能够确定该项是图形还是文本。如果该项是图形,则源12然后可将该图形数字化(如果需要的话),并且随后对该图形加标签以指定该图形在标记文本中的位置。另一方面,如果该项是文本,则如上所述,源12能够用合适的标记语言来构建该文本。然后,在对图形加了标签并对文本进行了标记之后,如果期望,源12能够例如通过对源12正确地数字化并构建课程材料进行验证,来验证课程材料。
如下所述,在源12标记课程材料之时或之后,源12(或更具体地为内容管理器(即,软件应用26))能够产生材料的二元表示。简而言之,内容管理器能够产生多个包括多项课程材料的表,其中,各项都被表示在通用的标识ID(标识符)表以及项类型专用的类型表中。例如,根据XML,内容项的特征在于项的类型,诸如元素、属性或字符数据。在这点上,各项可以包括关联的标识ID和类型ID,关联的标识ID用于识别标识表内的项,类型ID用于识别各类型表(元素表、属性表或字符数据表)内的项。然后,在各个表中,ID可以包括与内容的各个项有关的一条或更多条信息。
在源12构建课程材料并且产生课程材料的二元表示之后,如框34所示,源12可以汇集一个或更多个“记录集”,每个“记录集”识别一个或更多个客户机用户特别感兴趣的一个或更多个课程材料。在一个典型情形中,多个不同客户机用户感兴趣的课程材料被存储在源12的存储器22中。在这种情况下,然后可使用存储在源12的存储器22中的课程材料为一个或更多个客户机用户产生课程材料的一个或更多个后端集或子集。然而,在形成后端集之前,源12可以产生一个或更多个记录集。
为了产生记录集,源12能够首先汇集或接收一个或更多个客户机用户所期望或特别感兴趣的一个或更多个课程材料的列表。例如,对于包括解剖学课程的学生的客户机用户,该课程材料列表可以包括Henry Gray所著的教科书《人体解剖学(ANATOMY OF THE HUMAN BODY)》。另外或者另选的是,该课程材料列表可以包括这些学生特别感兴趣的其它文本、视频和/或音频内容。不管列出的课程材料是什么,对于所列出的课程材料,源12可以随后将所列出的课程材料或者至少存储在源12的存储器22中或可以以其它方式获得的那些列出的课程材料添加到特定记录集中。在这点上,如果源12确定了一个课程材料存储在存储器22中或可以以其它方式获得,则源12可以检索该课程材料并且将该课程材料添加到对应的记录集。一旦完成,就可将包括所有可用课程材料的各记录集存储在源12的存储器22中。
如上所示,在产生一个或更多个记录集之后,如框36所示,源12可以基于所产生的记录集来汇集一个或更多个可访问的后端集。最初,在源12产生或存储包括多个不同客户机用户期望或特别感兴趣的课程材料的记录集的情况下,源12可以接收选择特定记录集的输入。当接收到对特定记录集的选择时,源12可以从存储器22中检索包括至少一个课程材料的二元表示的选定记录集。然后,源12可以继续将该记录集中的课程材料的二元表示添加到可访问的后端集中。
在汇集一个或更多个后端集之后,如框40所示,源12可以提供或帮助提供包括课程材料的二元表示的后端集。在这点上,可以以多种不同方式中的任何一种方式提供包括二元表示的后端集。例如,可将一个或更多个后端集存储在可移动电子存储介质16(诸如磁盘、CD、或更典型的DVD)上。然后可将DVD提供给一个或更多个客户机用户,或者更具体地讲,提供给对存储在各DVD上的后端集的内容材料特别感兴趣的那些客户机用户。作为另一选择,例如,可由一个或更多个客户机用户跨一个或更多个网络18可访问的源12或另一处理器(例如,服务器计算机)来存储或保持一个或更多个后端集。如果想得到与提供内容的这种技术有关的更多信息,请参见于2001年8月8日提交的标题为“System and Method for Providing a Curriculum Repository”的第WO02/17276 A1号PCT专利申请公报,通过引用将其内容全部包括于此。
如上所示,在源12标记课程材料时或者在源12标记课程材料之后,源12(或者更具体地为内容管理器(例如,软件应用26))能够产生材料的二元表示。现在将参照图4A和图4B,图4A和图4B示出了根据本发明的一个实施例的表示分级构建的内容的方法中的各步骤。如上所述,内容管理器能够产生多个包括多项课程材料的表,其中,各项都被表示在通用的标识ID(标识符)表以及项类型专用的类型表中。例如,根据XML,内容项的特征在于项的类型,诸如元素、属性或字符数据,每个内容项具有通用的标识ID以及对于各表具有关联的ID。然后,如框42所示,管理分级构建的内容的方法可以包括将标识表、元素表、属性表和字符数据表初始化。在这点上,例如,可将各表初始化为不包括任何项,可将与各表的项相关联的编号ID初始化为1。
在初始化这些表之前或者之后,如框44所示,源12的内容管理器(即,软件应用26)能够基于内容项产生内容的基于树状的表示,诸如XML树。例如,考虑下面根据XML分级构建的内容<Book>
<Chapterx1>
<Section 1 emphasis=“bold”>
content 11<Image src=“c:/image11.jpg”/>
</Section 1>
<Section 2 emphasis=“bold”>
content 12</Section 2>
</Chapter1>
<Chapter2>
<Section 1 emphasis=“bold”>
content 21<Image src=“c:/image21a.jpg”/>
<Image src=“c:/image21b.jpg”/>
</Section1>
<Section2 emphasis=“bold”>
content22</Section2>
</Chapter2>
</Book>
根据前面的分级构建的内容,能够产生图5的基于树状的表示。如所示出的,该树的每个节点对应于一项内容,其为元素、属性或字符数据。由圆形节点表示的每个元素项可以与双亲节点所表示的一个或更多个高等级项和/或子节点或后代节点所表示的一个或更多个低等级项相关联。在这点上,每个属性或字符数据项与一元素相关联,因此,分别由作为元素双亲节点的子的矩形或三角形节点来表示。
如在此所述的,双亲可以指等级高于各项的项或者表示这种高等级项的节点。同样地,子或后代可以指等级低于各项的项或者表示这种低等级项的节点。另外,应该明白,子通常指第一等级的下级项,而后代通常指至少第一等级的下级项。在这点上,应该理解,除非另外说明,否则于此描述的针对子执行的操作通常能够同样地针对后代进行。
在初始化这些表并且产生内容的基于树状的表示之后,如框46所示,源12的内容管理器(即,软件应用26)能够诸如根据前序遍历技术来遍历内容的基于树状的表示。然后,通过遍历内容的基于树状的表示,内容管理器能够与内容分级结构中的内容的每个其它项相关地处理每个内容项。在这点上,本领域的技术人员应该明白,树的前序遍历可被定义为通过处理树的基础项(即,根),然后递归地处理各双亲节点的所有子树或后代,来处理树的所有节点。例如,可以通过按以下顺序处理节点来前序遍历图5所示的内容的基于树状的表示“Book”、“Chapter 1”、“Section 1”、“emphasis=‘bold、“content11”、“Image”、“src=image11.jpg”、“Section 2”、“emphasis=‘bold、“content12”、“Chapter 2”、“Section 1”、“emphasis=‘bold、“content21”、“Image”、“src=image21a.jpg”、“Image”、“src=image21b.jpg”、“Section 2”、“emphasis=‘bold和“content22”。
当前序遍历内容的基于树状的表示时,如框48和50所示,源12的内容管理器(即,软件应用26)能够识别第一节点(例如,“Book”)所表示的内容项以及项类型(例如,元素、属性或字符数据)。然后,如框52所示,可将各项添加到对应的项类型的表中,并且向其分配对应的类型ID(先前初始化为1)的当前值。例如,对于图5所示的基于树状的表示,第一节点所表示的项(即,“Book”)是元素,因此,该项可被添加到元素表中并且向其分配元素ID 1。随后,如框54所示,例如通过将元素类型ID从1递增到2,可将对应的表的类型ID递增1。
另外,在识别了第一节点所表示的项之后,如框56所示,源12的内容管理器(即,软件应用26)能够确定第一节点所表示的项是否已被添加到标识表中。在这点上,可以唯一地将节点所表示的各个项添加到标识表中并且向其分配唯一的标识ID。然而,在一个优选实施例中,内容管理器通过参考具有各自的项类型/名称的各项的类型ID,向项类型和名称的各个唯一组合(即,各个唯一的项类型/名称对)分配唯一的标识ID,来将各项添加到标识表中。如果内容管理器确定了对应的项类型/名称没有被添加到标识表中,则如框58所示,然后可将项类型/名称添加到标识表中,并且向其分配标识ID(先前初始化为1)的当前值。否则,如果内容管理器确定了对应的项类型/名称已经添加到标识表中,则可向该项分配已经与对应的项类型/名称相关联的标识ID。
例如,对于图5所示的基于树状的表示,第一节点所表示的项的项类型/名称为“元素/Book”。由于标识表被初始化为不包括任何项,所以源12的内容管理器(即,软件应用26)能够识别出项类型/名称“元素/Book”还没有添加到标识表中,并且将对应的项类型/名称添加到标识表中,将识别ID分配给对应的项类型/名称。此外,内容管理器可以以标识ID 1将先前分配给对应项“Book”的类型ID(即,元素ID 1)的引用包括在类型表中。然后,在将标识ID的当前值分配给对应的项类型/名称之后,如框60所示,内容管理器例如通过将元素类型ID从1递增到2,可以将标识表的标识ID递增1。
除了将第一节点(例如,“Book”)所表示的内容项添加到对应的类型表以及将类型ID分配给该对应项以外,如框62所示,源12的内容管理器(即,软件应用26)能够将任何一个或更多个其它数据添加到类型表中,该多个数据与对应项相关联,从而与对应的类型ID相关联。例如,元素表可以包括与第一节点所表示的项相关联的标识ID和/或名称、以及/或者双亲元素ID。但是由于第一节点所表示的项没有双亲,所以该项的双亲元素ID可被忽略或设置为0。另外,例如,元素表可以识别第一节点的子(如果存在的话)。在这点上,元素表可以包括第一节点所表示的项的子的标识ID和类型ID、和/或对应项的最后一个后代的元素ID。然而,应该明白,在将包括第一节点所表示的项的各项添加到元素表之前,对应项的子通常没有添加到标识表或元素表中。因此,通常在对应的双亲被添加到元素表之后以及在子/后代被添加到元素表并被添加到(或引用到)标识表之时或之后,对双亲识别各个子的标识ID和类型ID以及最后一个后代的元素ID。
在已经识别并添加了第一节点所表示的项或者由类型表和标识表对其识别之后,如框64所示,源12的内容管理器(即,软件应用26)能够通过确定该树是否包括更多节点,来继续对内容的基于树状的表示进行前序遍历。然后,如果该树确实包括更多节点,则如框66和50所示,内容管理器能够识别下一节点和节点类型(例如,元素、属性或字符数据)。然后,可以对该树的各节点重复该技术,包括将各节点添加到对应的类型表和标识表中,以及将对应的类型ID和标识ID分配给各节点。然而,如下所述,字符数据项通常没有相关联的名称。这样,在标识表内,内容管理器能够通过忽略字符数据项的名称或者认为字符数据项的名称为空值,而将唯一的标识ID分配给字符数据项。
源12的内容管理器(即,软件应用26)还能够继续将其它数据添加到类型表中(见框62)。然而,应该明白,属性和字符数据项通常没有子项或下级项。这样,属性表和字符数据表通常不包括对应项的子的标识ID和类型ID或者对应项的最后一个后代的元素ID。代替的是,属性表通常还包括各属性项的值,字符数据表通常还包括各字符数据项的文本。
在源12的内容管理器(即,软件应用26)前序遍历该树并且处理各节点时或者之后,如框68所示,内容管理器能够对包括在内容的至少一个字符数据项内的至少一个词语建立索引。在这点上,如下所述,客户机14能够在内容的二元表示中搜索所述内容的一个或更多个项。在一个实施例中,客户机14能够基于项的名称查询二元表示。然而,如上所示,虽然元素和属性能够包括名称,但是字符数据通常不包括这种名称。即使在字符数据确实包括名称的那些情况下,该名称也不反映包括在字符数据内的所有词语。这样,内容管理器能够对包括在字符数据项内的词语建立索引,随后允许客户机14在内容(或更具体地为该内容的二元表示)中查询这些词语。
源12的内容管理器(即,软件应用26)能够以多种不同方式中的任意一种来对字符数据项的词语建立索引。在一个实施例中,例如,内容管理器通过遍历包括在字符数据表中的一个或更多个字符数据项来对词语建立索引。然后,对于源12或源用户期望建立索引的每个词语,内容管理器能够将该词语添加到字符数据索引并且在字符数据索引中将该词语与包括该词语的字符数据项的双亲元素ID相关联。例如,假定具有字符数据ID 1的字符数据的文本“content 11”包括词语“heart”。在这种情况下,内容管理器能够将词语“heart”添加到字符数据索引,并且将该词语与双亲元素ID 3(即,“Section 1”)相关联。然后,如果具有字符ID 3的字符数据的文本“content 21”也包括词语“heart”,则内容管理器能够将双亲元素ID 7(即,“Section 1”)与字符数据索引中已经存在的词语相关联。然后,词语“heart”会与元素ID 3和元素ID 7相关联地出现在字符数据索引中(例如,“heart”-[3,7])。
在前序遍历该树并处理各节点(如果期望的话还对字符数据项的词语建立索引)之后,内容管理器已经产生了内容的二元表示。内容的二元表示包括标识表以及多个类型表(例如,元素、属性、字符数据等),每个表包括与由内容的基于树状的表示的节点表示的内容的每个项相关的多个不同的数据。此外,对于内容的字符数据项的词语,该二元表示可包括字符数据表或与字符数据表相关联。作为示例,可如下写出以上所示且在图5的基于树状表示中的举例构建的内容的二元表示的表

标识表

元素表


属性表

字符数据表然后,不管源12如何提供内容,都可将该内容提供为二元表示,客户机14的访问应用(即,软件应用26)能够从该二元表示中访问该内容的至少一部分。在这点上,图6示出了根据本发明的一个实施例的访问内容的方法的各步骤。如框70所示,该方法包括客户机14的访问应用接收内容的二元表示,该二元表示包括标识表和项类型表。如上所述,可以以多种不同方式中的任意一种方式(例如,通过跨一个或更多个网络18(例如,互联网)和/或从存储内容的二元表示的DVD中访问内容的二元表示)接收二元表示。不管源12如何接收内容的二元表示,如框72所示,该访问应用随后都能够通过首先诸如在客户机14的临时存储器(例如,易失性存储器)中重建内容的各部分的基于树状的表示,来访问内容的至少一部分。
客户机14的访问应用(即,软件应用26)能够以多种不同方式中的任意一种方式重建内容的各部分的基于树状的表示。在这点上,现在将参照图7A、7B和7C,图7A、7B和7C示出了从内容的二元表示重建内容的基于树状的表示的方法中的各步骤。如框74所示,访问应用能够通过读取、下载或接收各二元表示的标识表而开始。例如,访问应用能够从存储内容的二元表示的存储器(例如,DVD)中读取标识表。对所有内容重建基于树状的表示,然后,如框76所示,访问应用能够选择与第一标识ID和类型ID相关联的项,即项(1,1)。随后,如框78所示,访问应用能够产生内容的基于树状的表示的节点,所述节点用于项(1,1)。在这点上,访问应用能够从标识表中读取节点类型和名称,该节点类型和名称与项(1,1)相关联。然后,访问应用能够产生为该节点类型且包括该名称的节点。
在产生该节点之后,如框80所示,客户机14的访问应用(即,软件应用26)能够读取、下载或接收内容的二元表示的元素表(例如,元素表)。然后,如框82和84所示,访问应用能够从类型表中识别由所产生的节点表示的项的任何后代,这些后代是与项(1,1)相关联的后代。如果项(1,1)连一个后代也没有(通常需要至少一个子),则访问应用完成了内容的基于树状的表示。否则,如框86所示,访问应用能够前序遍历项(1,1)的后代,以继续重建内容的基于树状的表示。
对于在前序遍历期间处理的每个后代(即,项(1,1)的双亲的后代的子或项(1,1)自身的子),如框88所示,客户机14的访问应用(即,软件应用26)能够识别该后代的标识ID、类型ID(n,m)。然后,如框90所示,访问应用能够基于标识ID n产生内容的基于树状的表示的节点。与前面相似,访问应用能够从标识表中读取节点类型和名称,该节点类型和名称与项(n,m)相关联。然后,访问应用能够产生为该节点类型且包括该名称的节点。
在客户机14的访问应用(即,软件应用26)产生后代的节点之时或之后,如框92所示,访问应用可以例如通过从标识表中读取节点类型来确定该后代是否是内容的属性项或字符数据项。如果该后代是属性或字符数据,则如框94所示,访问应用能够从属性表或字符数据表中分别读取、下载或接收属性的值或字符数据的文本。例如,访问应用能够基于标识ID m对各表执行表查找,读取与后代(n,m)相关联的值/文本。然后,在访问应用接收到该值/文本之后,访问应用能够将各值/文本添加到针对该后代产生的节点。
在将该值/文本添加到节点后或者如果该后代不是属性或字符数据(即,如果该后代是元素),则如框96所示,访问应用能够将该后代节点与其双亲链接或相关联。如框98所示,客户机14的访问应用(即,软件应用26)然后能够通过确定项(1,1)是否包括更多后代,来继续前序遍历项(1,1)的后代。如果项(1,1)确实包括更多后代,则再次如框88所示,访问应用能够识别下一后代的标识ID、类型ID。然后,可对项(1,1)的各个后代重复该技术,包括为各个后代产生节点,添加各个属性/字符数据项的值/文本,并且将该节点链接到对应的双亲。然后,在前序遍历项(1,1)的后代之后,访问应用已经根据内容的二元表示重建了内容的基于树状的表示。
如上所示,客户机14的访问应用(即,软件应用26)能够通过从标识表中选择与第一标识ID和类型ID相关联的项(即,项(1,1)),来对所有内容重建基于树状的表示。然而,应该理解,访问应用也可以同等地仅对内容的一部分重建基于树状的表示。在这种情况下,例如,访问应用能够从标识表中选择与内容的要重建的部分相关联的第一项。例如,如果仅期望重建并且因而访问上述内容的从元素项“Chapter 2”开始的部分,则访问应用能够从标识表中选择项(9,6)。随后,如前面一样,访问应用能够继续对项“Chapter 2”和对应项的后代重建内容的基于树状的表示。
另外,虽然访问应用能够重建双亲的所有后代的基于树状的表示,但是访问应用仅通过产生双亲的节点而不需要前序遍历对应双亲的后代就能够进行。作为另一选择,访问应用能够配置为仅前序遍历双亲的一部分后代。例如,访问应用能够配置为仅前序遍历双亲的那些属性和/或字符数据后代,而不处理对应双亲的元素后代。
再次参照图6,在重建内容的基于树状的表示之后,如框100所示,客户机14的访问应用(即,软件应用26)能够根据例如在客户机14的临时存储器(例如,易失性存储器)中重建的内容的基于树状的表示来产生内容。访问应用能够以多种不同方式中的任意一种方式(例如,以与源12的内容管理器在产生同一内容的二元表示时采用的方式相对的方式)产生内容。随后,如框102所示,访问应用可以访问所产生的内容。例如,访问应用能够呈现所产生的内容以显示给客户机用户。
应该明白,在多种情况下,可能期望在内容中查询一个或更多个项从而使得随后能够访问这些项。例如,可能期望在内容中查询内容的一个或更多个图形。在这种情况下,客户机14的访问应用(即,软件应用26)能够以这样的方式搜索内容的二元表示不需要访问应用低效地从上到下以分级方式从存储器中访问内容,以及遍历所访问的内容直到定位选定项。接下来参照图8,图8示出了根据本发明的一个实施例的在内容的表示中搜索内容的一个或更多个项(例如为了以后访问该查询结果)的方法的各步骤。如框104所示,本发明的该方面的方法包括客户机14的访问应用例如以与上述方式(见图6的框70)相同的方式接收内容的包括标识表和项类型表的二元表示。不管源12如何接收内容的二元表示,如框106所示,访问应用都能够随后接收客户机用户的查询,该查询识别内容的一个或更多个项。例如,访问应用能够接收这样的查询,该查询包括一个或更多个元素项或属性项的名称(例如,“Chapter 1”)或一个或更多个字符数据项的词语。
在接收到该查询之后,如框108所示,客户机14的访问应用(即,软件应用26)能够基于该查询在内容的二元表示中搜索内容的一个或更多个项。然后,如框110所示,访问应用能够(例如,在客户机14的临时存储器中)重建内容的表示搜索结果的至少一部分的基于树状的表示。在这点上,访问应用能够搜索二元表示并且基于查询结果以多种不同方式中的任意一种方式重建基于树状的表示。参照图9A、9B、9C和9D,例如在一个实施例中,搜索内容的二元表示并且基于查询结果访问该内容的至少一部分的方法包括如框112所示,访问应用确定该查询是包括元素/属性名称还是包括字符数据的词语。
如果该查询包括元素/属性名称,则如框114所示,访问应用能够通过例如以上述方式读取、下载或接收对应的二元表示的标识表而继续。在接收到标识表之后,客户机14的访问应用(即,软件应用26)能够确定内容是否包括在客户机用户的查询中标识的期望内容项。更具体地讲,例如,如框116所示,访问应用能够确定标识表是否包括与包括在查询中的期望内容项的名称相匹配的至少一个内容项。然后,如果标识表不包括与期望项的名称相匹配的项,则识别出该内容不包括期望内容项的访问应用能够终止该查询以及对内容的二元表示的重建。此外,如果期望,则访问应用可通知客户机用户该内容不包括期望内容项。
如果标识表确实包括与期望项的名称相匹配的至少一个项,则客户机14的访问应用(即,软件应用26)能够推断该内容包括期望内容项。然后,如框118所示,访问应用能够从标识表中选择与匹配项的名称相关联的标识ID。应该明白,由于字符数据通常不包括项名称,所以与期望项的名称相匹配的项通常包括元素或属性。这样,选定的标识ID通常与一个或更多个元素或属性相关联。
在选择了标识ID之后,如框120所示,客户机14的访问应用(即,软件应用26)能够确定该标识ID是否与一个或更多个元素项相关联。如果该标识ID与元素项相关联,则如框122所示,访问应用能够读取、下载或接收对应的二元表示的元素表。另外,如框124所示,在接收元素表之前、之时或之后,访问应用能够选择与选定的标识ID相关联的元素ID。然后,如框126所示,访问应用能够产生内容的基于树状的表示的节点,该节点用于具有选定的元素ID和标识ID的项。如前面一样,访问应用能够通过从标识表中读取节点类型(即,元素)和名称并且产生为该节点类型且包括该名称的节点,来产生所述节点。
在产生了具有选定的元素ID和标识ID的项的节点之后,如上所述并且如图7B的框82和框84所示,客户机14的访问应用(即,软件应用26)能够从元素表中识别由所产生的节点表示的项的任何后代,这些后代是与具有选定的元素ID和标识ID的项相关联的后代。如果对应项具有至少一个后代,则访问应用能够前序遍历对应项的后代,从而针对这些后代产生内容的基于树状的表示的节点。在这点上,访问应用能够以多种不同方式中的任何一种方式(例如,以与上述的并且在图7B和7C的框86至98中示出的方式相同的方式)前序遍历这些后代并且产生节点。
在前序遍历了具有选定的元素ID和标识ID的项的后代之后,或者如果对应项连一个后代也没有,则如框128所示,客户机14的访问应用(即,软件应用26)能够根据标识ID确定该选定的标识ID是否具有任何其它关联的元素ID。然后,对于与选定的标识ID相关联的一个或更多个元素ID,如上所述,访问应用能够选择元素ID,并且针对具有选定的元素ID和标识ID的项产生基于树状的表示的节点。另外,对于与选定的标识ID相关联的一个或更多个元素ID,也如上所述,访问应用能够识别由所产生的节点表示的项的任何后代,并且前序遍历任何这样的后代,从而针对这些后代产生内容的基于树状的表示的节点。
如果标识ID与一个或更多个属性项相关联而不是与元素项相关联,则客户机14的访问应用(即,软件应用26)能够以与如上所述针对元素项的方式相同的方式来处理属性项。然而,在一个特定优选实施例中,访问应用改为识别对应的属性项的双亲元素,并且处理这些双亲元素。更具体地讲,如图9C的框130所示,如果标识ID与属性项相关联,则访问应用能够读取、下载或接收对应的二元表示的属性表。在访问应用接收属性表之前、之时或者之后,如框132所示,访问应用能够选择与选定的标识ID相关联的属性ID。随后,如框134所示,访问应用能够从属性表中识别对应属性的双亲的元素ID。然后,如框136所示,访问应用能够读取、下载或接收对应的二元表示的元素表,并且能够在定位双亲的元素ID之后确定双亲的标识ID。
在确定了选定的属性ID的双亲元素的标识ID之后,如框138所示,客户机14的访问应用(即,软件应用26)能够基于对应的标识ID产生双亲元素的基于树状的表示的节点。如前面一样,访问应用能够通过从标识表中读取节点类型(即,元素)和名称以及产生为该节点类型且包括该名称的节点,来产生所述节点。
在产生了双亲元素的节点之后,再次如上所述并且如图7B的框82和框84所示,客户机14的访问应用(即,软件应用26)能够从元素表中识别所产生的节点表示的双亲元素的任何后代,这些后代是与该双亲元素相关联的后代。应该明白,在这种情况下,双亲元素通常具有至少一个后代,属性项与选定的属性ID相关联。因此,访问应用能够前序遍历对应项的后代,从而针对这些后代产生内容的基于树状的表示的节点。如前所述,访问应用能够以多种不同方式中的任何一种方式(例如,以与上述的并且在图7B和图7C的框86至98中示出的方式相同的方式)前序遍历这些后代并且产生节点。
在前序遍历了双亲元素的后代之后,如框140所示,客户机14的访问应用(即,软件应用26)能够根据先前选定的与一个或更多个属性项相关联的标识ID,确定该选定的标识ID是否具有任何其它关联的属性ID。然后,如上所述,对于与选定的标识ID相关联的一个或更多个属性ID,访问应用能够选择属性ID,确定对应属性的双亲元素,并且产生该双亲元素的基于树状的表示的节点。另外,再次如上所述,对于与选定的标识ID相关联的属性ID的一个或更多个双亲元素ID,访问应用能够识别所产生的节点表示的双亲元素(包括对应属性)的后代,并且前序遍历这些后代,从而针对这些后代产生内容的基于树状的表示的节点。
参照图9D,如果查询不包括元素/属性名称,而是包括字符数据的词语,则如框142所示,客户机14的访问应用(即,软件应用26)能够读取、下载或接收对应的二元表示的字符数据索引。在接收到字符数据索引之后,如框144所示,访问应用能够确定该字符数据索引是否包括查询词语。如果该字符数据索引不包括与该查询词语相匹配的词语,则访问应用能够终止该查询以及对内容的二元表示的重建。此外,如前面一样,如果期望,则访问应用可通知客户机用户内容不包括期望内容项。
如果字符数据索引确实包括查询词语,则如框146所示,客户机14的访问应用(即,软件应用26)能够从字符数据索引中选择与该查询词语相关联的双亲元素的元素ID。随后,如框148所示,访问应用能够读取、下载或接收对应的二元表示的元素表,定位双亲的元素ID,并且确定双亲的标识ID。在确定了选定的双亲元素的标识ID之后,如框150所示,访问应用能够例如以与上述方式相同的方式,基于对应的标识ID,产生双亲元素的基于树状的表示的节点。
在产生了双亲元素的节点之后,再次如上所述并且如图7B的框82和框84所示,客户机14的访问应用(即,软件应用26)能够从元素表中识别所产生的节点表示的双亲元素的任何后代,这些后代是与该双亲元素相关联的后代。应该明白,在这种情况下,双亲元素通常具有至少一个后代,字符数据包括与选定的双亲元素ID相关联的词语。因此,访问应用能够前序遍历对应项的后代,从而针对这些后代产生内容的基于树状的表示的节点。如前所述,访问应用能够以多种不同方式中的任何一种方式(例如,以与上述的并且在图7B和7C的框86至98中示出的方式相同的方式)前序遍历这些后代并且产生节点。
在前序遍历了双亲元素的后代之后,如框152所示,客户机14的访问应用(即,软件应用26)能够再次根据在字符数据索引中找到的查询词语来确定该查询词语是否具有任何其它关联的双亲元素ID。然后,对于与字符数据索引中的查询词语相关联的一个或更多个双亲元素ID,如上所述,访问应用能够选择双亲元素ID,并且产生双亲元素的基于树状的表示的节点。另外,对于一个或更多个对应的双亲元素ID,再次如上所述,访问应用能够识别所产生的节点表示的双亲元素(包括字符数据,该字符数据包括对应的查询词语)的后代,并且前序遍历这些后代,从而针对这些后代产生内容的基于树状的表示的节点。
虽然前面解释了在内容中搜索包括在内容的一个或更多个字符数据项中的词语,但是应该明白,客户机14的访问应用(即,软件应用26)能够配置为对多于一个的词语进行查询,例如对包括所有两个或更多个词语的字符数据项进行查询。在这种情况下,访问应用能够搜索字符数据索引以选择与所有查询词语相关联的双亲元素ID,并且随后像前面一样处理这些双亲元素ID。作为另一选择,例如,访问应用能够配置为对包括两个或更多个词语中的至少一个的字符数据项进行查询。在这种情况下,访问应用能够配置为选择与任何一个或更多个查询词语相关联的双亲元素ID,并且像前面一样处理这些双亲元素ID。
如上所述,客户机14的访问应用(即,软件应用26)能够重建与对应标识ID相关联的一个或更多个元素(包括属性和/或字符数据的双亲元素)或者一个或更多个属性的基于树状的表示。然而,应该理解,访问应用能够配置为仅针对与对应标识ID相关联的选定数量的元素或属性重建基于树状的表示。在这点上,访问应用能够配置为仅针对在搜索内容时发现的元素或属性中选定的一个或更多个重建内容并且从而随后访问内容。例如,访问应用能够配置为仅重建并且从而访问“Book”的“Chapter1”的“Section1”,而不访问“Chapter2”的“Section1”。另外,例如,访问应用能够配置为仅重建并且从而访问“Book”的“Chapter2”的字符数据。
另外如上所述,当选定的标识ID与属性相关联时,或者当查询包括字符数据的词语时,客户机14的访问应用(即,软件应用26)能够分别从属性表或字符数据索引中识别对应属性或包括对应词语的字符数据的双亲的元素ID。访问应用然后能够重建该双亲及其后代(包括对应属性或包括对应词语的字符数据)的基于树状的表示。然后,应该理解,访问应用能够配置为从元素ID表中识别属性或字符数据的更高级祖先,并且重建该更高级祖先及其后代(包括属性或字符数据的双亲以及属性或字符数据自身)的基于树状的表示。相似地,当选定的标识ID与元素相关联时,访问应用能够配置为从元素ID表中识别元素的双亲或更高级祖先,并且重建该双亲或更高级祖先及其后代(包括该元素自身)的基于树状的表示。
再次参照图8,不管客户机14的访问应用(即,软件应用26)如何重建内容的至少一部分的基于树状的表示,如框154所示,访问应用能够随后例如以与上述方式相同的方式,根据例如在客户机14的临时存储器(例如,易失性存储器)中重建的内容的至少一部分的基于树状的表示,产生该内容的至少一部分。如框156所示,访问应用然后能够例如通过呈现所产生的内容以显示给客户机用户来访问所产生的内容。
如上所述,源12的内容管理器以及客户机14的访问应用能够通过前序遍历分级构建的内容并且在各种情况下识别一个或更多个项的后代来处理内容项。然而,应该理解,在不脱离本发明的精神和范围的情况下,内容管理器和/或访问应用能够以多种不同方式中的任何一种方式执行相同功能。例如,代替前序遍历内容并且识别一个或更多个项的后代,内容管理器和/或访问应用能够中序遍历内容并且识别一个或更多个项的一个或更多个祖先。
根据本发明的一个方面,本发明的系统10的全部或一部分(例如源12和/或客户机14的全部或部分)通常在计算机程序产品(例如,内容管理器、访问应用等)的控制下工作。执行本发明的实施例的方法的计算机程序产品包括计算机可读存储介质(诸如非易失性存储介质)和计算机可读程序代码部分(诸如在计算机可读存储介质中实现的一系列计算机指令)。
在这点上,图3、4A、4B、6、7A、7B、7C、8、9A、9B、9C和9D是根据本发明实施例的方法、系统和程序产品的流程图。应该理解,能够通过计算机程序指令来实现流程图的各框或步骤以及流程图中的框的组合。这些计算机程序指令可被装载到计算机或其它可编程设备以生成机器,从而在计算机或其它可编程设备上执行的指令创建了这样的装置,该装置用于实现在流程图框或步骤中指定的功能。这些计算机程序指令还可以存储在能够指示计算机或其它可编程设备以特定方式工作的计算机可读存储器中,从而存储在计算机可读存储器中的指令生成一件包括指令装置的制品,该指令装置用于实现在流程图框或步骤中指定的功能。该计算机程序指令还可以装载到计算机或其它可编程设备,使得在该计算机或其它可编程设备上执行一系列操作步骤,以生成计算机实现的处理,从而在该计算机或其它可编程设备上执行的指令提供实现在流程图框或步骤中指定的功能的步骤。
因此,流程图的框或步骤支持执行指定功能的装置的组合、执行指定功能的步骤的组合、以及执行指定功能的程序指令装置。还应该理解,可以通过执行指定功能或步骤的基于专用硬件的计算机系统或者专用硬件和计算机指令的组合来实现流程图的各框或步骤以及流程图中的框和步骤的组合。
受益于在上述说明和相关附图中提出的教导,本发明所属领域的技术人员将会想到本发明的许多变型例和其它实施例。因此,应该理解,本发明不限于所公开的特定实施例,变型例和其它实施例旨在包括在所附权利要求的范围内。尽管这里使用了特定术语,但是仅仅是在一般和描述意义上使用这些特定术语,而非为限制的目的。
权利要求
1.一种提供内容的系统,所述系统包括源,能够产生所述内容的表示,其中,所述内容是分级构建的并且包括具有关联类型的至少一个项,并且其中,所述源能够产生包括标识表和至少一个类型表的表示,各内容项被包括在所述标识表中并基于所述项的类型而被包括在类型表中,并且其中,所述源能够提供所述内容的表示;以及客户机,能够接收所述内容的包括所述标识表和至少一个类型表的表示,并且基于所述表示访问所述内容的至少一部分。
2.如权利要求1所述的系统,其中,所述源还能够通过产生所述内容的包括表示所述至少一个项的至少一个节点的基于树状的表示,并且遍历所述内容的所述基于树状的表示,从而处理所述内容的分级结构中的所述至少一个项,来产生所述内容的表示,并且其中,在对所述内容的所述基于树状的表示进行遍历期间,所述源能够产生所述标识表和至少一个类型表。
3.如权利要求2所述的系统,其中,所述源能够遍历所述内容的所述基于树状的表示并且通过识别内容项,将所述项添加到标识表以及基于所述项的类型将所述项添加到类型表,来产生所述标识表和至少一个类型表,并且其中,针对内容的所述至少一个项,所述源能够识别所述项,并将所述项添加到所述标识表和一类型表。
4.如权利要求1所述的系统,其中,所述至少一个项具有包括元素、属性和字符数据之一的关联类型,并且其中,当至少一个项具有关联的元素类型时,所述源能够产生元素表,当至少一个项具有关联的属性类型时,所述源能够产生属性表,当至少一个项具有关联的字符数据类型时,所述源能够产生字符数据表。
5.如权利要求4所述的系统,其中,各字符数据项包括至少一个词语,并且其中,所述源能够产生所述内容的还包括字符数据索引的表示,所述字符数据索引包括至少一个字符数据项的至少一个词语。
6.如权利要求5所述的系统,其中,所述源能够通过遍历字符数据项,将所述字符数据项的至少一个词语添加到所述字符数据索引,以及针对所述至少一个词语识别包括对应词语的各个字符数据项的双亲项,来产生所述字符数据索引,并且其中,针对来自所述字符数据表的至少一个字符数据项,所述源能够遍历字符数据项,添加至少一个词语并且识别各个对应字符数据项的双亲项。
7.如权利要求1所述的系统,其中,所述客户机能够通过基于所述标识表和至少一个类型表重建所述内容的至少一部分的基于树状的表示,并且根据所重建的基于树状的表示产生所述内容的至少一部分从而访问所产生的内容剂量,来访问所述内容的至少一部分。
8.如权利要求7所述的系统,其中,所述客户机能够通过产生所述基于树状的表示的至少一个节点来重建所述内容的至少一部分的所述基于树状的表示,各节点表示所述内容的对应部分的项。
9.如权利要求8所述的系统,其中,所述客户机能够通过从所述标识表中选择所述内容的对应部分内的项、针对选定的项产生基于树状的表示的节点、以及当选定的项具有至少一个后代项时遍历选定的项的至少一个后代项,来产生所述基于树状的表示的节点,并且其中,对所述至少一个后代项的遍历包括产生表示至少一个后代项中的每一个的节点,并且将所述节点与对应的双亲项相关联。
10.如权利要求1所述的系统,其中,所述客户机还能够接收识别所述内容的至少一个项的查询,并且在所述内容的表示中搜索由所述查询识别的所述至少一个项,并且其中,所述客户机能够基于所述搜索访问所述内容的至少一部分,被访问的内容部分包括由所述查询识别的所述至少一个项。
11.如权利要求10所述的系统,其中,所述客户机能够通过以下步骤来访问所述内容的至少一部分重建所述内容的至少一部分的基于树状的表示,所述内容的所述至少一部分包括由所述查询识别的内容的所述至少一个项;以及基于所重建的基于树状的表示产生所述内容的至少一部分。
12.如权利要求10所述的系统,其中,所述至少一个项具有包括元素、属性和字符数据之一的关联类型,并且其中,所述客户机能够接收包括至少一个元素项的名称和至少一个属性项的名称之一的查询。
13.如权利要求12所述的系统,其中,针对元素项和属性项中的至少一个,所述内容的表示中的所述标识表包括与对应项相关联的名称,并且其中,所述客户机能够通过在所述标识表中搜索与包括在所述查询中的名称相匹配的名称,来搜索所述内容的表示。
14.如权利要求10所述的系统,其中,所述至少一个项具有包括元素、属性和字符数据之一的关联类型,并且其中,所述客户机能够接收查询,所述查询包括至少一个字符数据项中所包括的至少一个词语。
15.如权利要求14所述的系统,其中,所述内容的表示还包括字符数据索引,所述字符数据索引包括至少一个字符数据项的至少一个词语,并且其中,所述客户机能够通过在所述字符数据索引中搜索与包括在所述查询中的至少一个词语相匹配的至少一个词语,来搜索所述内容的表示。
16.一种提供内容的方法,所述方法包括以下步骤产生所述内容的表示,其中,所述内容是分级构建的并且包括具有关联类型的至少一个项,并且其中,产生所述表示包括产生标识表和至少一个类型表,各内容项被包括在所述标识表中并基于所述项的类型而被包括在类型表中;提供所述内容的表示;以及基于所述内容的包括所述标识表和至少一个类型表的表示,访问所述内容的至少一部分。
17.如权利要求16所述的方法,其中,产生所述内容的表示还包括以下步骤产生所述内容的包括表示所述至少一个项的至少一个节点的基于树状的表示;以及遍历所述内容的所述基于树状的表示,从而处理所述内容的分级结构中的所述至少一个项,其中,产生标识表和至少一个类型表包括在对所述内容的所述基于树状的表示进行遍历期间,产生标识表和至少一个类型表。
18.如权利要求17所述的方法,其中,遍历所述内容的所述基于树状的表示以及产生标识表和至少一个类型表包括以下步骤识别内容项;将所述项添加到所述标识表;以及基于所述项的类型将所述项添加到类型表,其中,针对内容的所述至少一个项进行对项进行识别,将所述项添加到所述标识表并将所述项添加到类型表。
19.如权利要求16所述的方法,其中,所述至少一个项具有包括元素、属性和字符数据之一的关联类型,并且其中,产生至少一个类型表包括以下步骤当至少一个项具有关联的元素类型时产生元素表,当至少一个项具有关联的属性类型时产生属性表,当至少一个项具有关联的字符数据类型时产生字符数据表。
20.如权利要求19所述的方法,其中,各字符数据项包括至少一个词语,并且其中,产生所述内容的表示还包括产生包括至少一个字符数据项的至少一个词语的字符数据索引。
21.如权利要求20所述的方法,其中,产生字符数据索引包括以下步骤遍历字符数据项;将所述字符数据项的至少一个词语添加到所述字符数据索引;以及针对所述至少一个词语,识别包括对应词语的各字符数据项的双亲项;其中,针对来自所述字符数据表的至少一个字符数据项进行遍历字符数据项,添加至少一个词语以及识别各个对应字符数据项的所述双亲项。
22.如权利要求16所述的方法,其中,访问所述内容的至少一部分包括以下步骤基于所述标识表和至少一个类型表重建所述内容的至少一部分的基于树状的表示;以及根据所重建的基于树状的表示产生所述内容的至少一部分,从而访问所产生的内容剂量。
23.如权利要求22所述的方法,其中,重建所述内容的至少一部分的基于树状的表示包括产生所述基于树状的表示的至少一个节点,各节点表示所述内容的对应部分的项。
24.如权利要求23所述的方法,其中,产生所述基于树状的表示的节点包括以下步骤从所述标识表中选择所述内容的对应部分内的项;针对选定的项产生所述基于树状的表示的节点;以及当选定的项具有至少一个后代项时,遍历选定的项的至少一个后代项,其中,遍历至少一个后代项包括产生表示至少一个后代项的每一个的节点,并且将所述节点与对应的双亲项相关联。
25.如权利要求16所述的方法,所述方法还包括以下步骤接收识别所述内容的至少一个项的查询;以及在所述内容的表示中搜索由所述查询识别的所述至少一个项,其中,访问所述内容的至少一部分包括基于所述搜索访问所述内容的至少一部分,被访问的内容部分包括由所述查询识别的所述至少一个项。
26.如权利要求25所述的方法,其中,访问所述内容的至少一部分包括以下步骤重建所述内容的至少一部分的基于树状的表示,所述内容的所述至少一部分包括由所述查询识别的内容的所述至少一个项;以及根据所重建的基于树状的表示产生所述内容的至少一部分,从而访问所产生的内容部分。
27.如权利要求25所述的方法,其中,所述至少一个项具有包括元素、属性和字符数据之一的关联类型,并且其中,接收查询包括接收包括至少一个元素项的名称和至少一个属性项的名称之一的查询。
28.如权利要求27所述的方法,其中,针对元素项和属性项中的至少一个,所述内容的表示中的所述标识表包括与对应项相关联的名称,并且其中,搜索所述内容的表示包括在所述标识表中搜索与包括在所述查询中的名称相匹配的名称。
29.如权利要求25所述的方法,其中,所述至少一个项具有包括元素、属性和字符数据之一的关联类型,并且其中,接收查询包括接收包括至少一个字符数据项中所包括的至少一个词语的查询。
30.如权利要求29所述的方法,其中,所述内容的表示还包括字符数据索引,所述字符数据索引包括至少一个字符数据项的至少一个词语,并且其中,搜索所述内容的表示包括在所述字符数据索引中搜索与包括在所述查询中的至少一个词语相匹配的至少一个词语。
31.一种用于提供内容的计算机程序产品,所述计算程序产品包括其中存储有计算机可读程序代码部分的至少一个计算机可读存储介质,所述计算机可读程序代码部分包括第一可执行部分,用于产生所述内容的表示,其中,所述内容是分级构建的并且包括具有关联类型的至少一个项,并且其中,产生所述表示包括产生标识表和至少一个类型表,各内容项被包括在所述标识表中并基于所述项的类型而被包括在类型表中;第二可执行部分,用于提供所述内容的表示;以及第三可执行部分,用于基于所述内容的包括所述标识表和至少一个类型表的表示,访问所述内容的至少一部分。
32.如权利要求31所述的计算机程序产品,其中,所述第一可执行部分还适于通过产生所述内容的包括表示所述至少一个项的至少一个节点的基于树状的表示,并且遍历所述内容的所述基于树状的表示从而处理所述内容的分级结构中的所述至少一个项,来产生所述内容的表示,其中,所述第一可执行部分适于在对所述内容的所述基于树状的表示进行遍历期间产生标识表和至少一个类型表。
33.如权利要求32所述的计算机程序产品,其中,所述第一可执行部分适于遍历所述内容的所述基于树状的表示以及通过识别内容项、将所述项添加到所述标识表以及基于所述项的类型将所述项添加到类型表,来产生所述标识表和至少一个类型表,并且其中,针对内容的所述至少一个项,所述第一可执行部分适于对所述项进行识别,并将所述项添加到所述标识表以及类型表。
34.如权利要求31所述的计算机程序产品,其中,所述至少一个项具有包括元素、属性和字符数据之一的关联类型,并且其中,所述第一可执行部分适于在至少一个项具有关联的元素类型时产生元素表,在至少一个项具有关联的属性类型时产生属性表,在至少一个项具有关联的字符数据类型时产生字符数据表。
35.如权利要求34所述的计算机程序产品,其中,每个字符数据项包括至少一个词语,并且其中,所述第一可执行部分适于产生所述内容的还包括字符数据索引的表示,所述字符数据索引包括至少一个字符数据项的至少一个词语。
36.如权利要求35所述的计算机程序产品,其中,所述第一可执行部分适于通过遍历字符数据项、将所述字符数据项的至少一个词语添加到所述字符数据索引、以及针对所述至少一个词语识别包括对应词语的各字符数据项的双亲项,来产生所述字符数据索引,并且其中,针对来自所述字符数据表的至少一个字符数据项,所述第一可执行部分适于遍历字符数据项、添加至少一个词语以及识别各个对应字符数据项的双亲项。
37.如权利要求31所述的计算机程序产品,其中,所述第三可执行部分适于通过基于所述标识表和至少一个类型表重建所述内容的至少一部分的基于树状的表示以及根据所重建的基于树状的表示产生所述内容的至少一部分从而访问所产生的内容剂量,来访问所述内容的至少一部分。
38.如权利要求37所述的计算机程序产品,其中,所述第三可执行部分适于通过产生所述基于树状的表示的至少一个节点来重建所述内容的至少一部分的所述基于树状的表示,各节点表示所述内容的对应部分的项。
39.如权利要求38所述的计算机程序产品,其中,所述第三可执行部分适于通过从所述标识表中选择所述内容的对应部分内的项、针对选定的项产生所述基于树状的表示的节点、以及当选定的项具有至少一个后代项时遍历选定的项的至少一个后代项,来产生所述基于树状的表示的节点,并且其中,对所述至少一个后代项的遍历包括产生表示至少一个后代项的每一个的节点,并且将所述节点与对应的双亲项相关联。
40.如权利要求31所述的计算机程序产品,所述计算机程序产品还包括第四可执行部分,用于接收识别所述内容的至少一个项的查询;以及第五可执行部分,用于在所述内容的表示中搜索由所述查询识别的所述至少一个项,其中,所述第三可执行部分适于基于所述搜索访问所述内容的至少一部分,被访问的内容部分包括由所述查询识别的所述至少一个项。
41.如权利要求40所述的计算机程序产品,其中,所述第三可执行部分适于通过以下步骤来访问所述内容的至少一部分重建所述内容的至少一部分的基于树状的表示,所述内容的所述至少一部分包括由所述查询识别的内容的所述至少一个项;以及根据所重建的基于树状的表示产生所述内容的至少一部分,从而访问所产生的内容部分。
42.如权利要求40所述的计算机程序产品,其中,所述至少一个项具有包括元素、属性和字符数据之一的关联类型,并且其中,所述第四可执行部分适于接收包括至少一个元素项的名称和至少一个属性项的名称之一的查询。
43.如权利要求42所述的计算机程序产品,其中,针对元素项和属性项中的至少一个,所述内容的表示中的所述标识表包括与对应项相关联的名称,并且其中,所述第五可执行部分适于通过在所述标识表中搜索与包括在所述查询中的名称相匹配的名称,来搜索所述内容的表示。
44.如权利要求40所述的计算机程序产品,其中,所述至少一个项具有包括元素、属性和字符数据之一的关联类型,并且其中,所述第四可执行部分适于接收查询,所述查询包括至少一个字符数据项中所包括的至少一个词语。
45.如权利要求44所述的计算机程序产品,其中,所述内容的表示还包括字符数据索引,所述字符数据索引包括至少一个字符数据项的至少一个词语,并且其中,所述第五可执行部分适于通过在所述字符数据索引中搜索与包括在所述查询中的至少一个词语相匹配的至少一个词语,来搜索所述内容的表示。
46.一种提供内容的源,所述源包括能够操作内容管理器的处理器,所述内容管理器能够产生所述内容的表示,其中,所述内容是分级构建的并且包括具有关联类型的至少一个项,并且其中,所述内容管理器能够产生所述表示,包括产生标识表和至少一个类型表,各内容项被包括在所述标识表中并基于所述项的类型而被包括在类型表中,并且其中,所述内容管理器能够提供所述内容的表示从而以后能够基于所述表示访问所述内容。
47.如权利要求46所述的源,其中,所述内容管理器还能够通过产生所述内容的包括表示所述至少一个项的至少一个节点的基于树状的表示,以及遍历所述内容的所述基于树状的表示从而处理所述内容的分级结构中的所述至少一个项,来产生所述内容的表示,并且其中,在对所述内容的所述基于树状的表示进行遍历期间,所述内容管理器能够产生所述标识表和至少一个类型表。
48.如权利要求47所述的源,其中,所述内容管理器能够遍历所述内容的所述基于树状的表示以及通过识别内容项、将所述项添加到所述标识表、以及基于所述项的类型将所述项添加到类型表,来产生所述标识表和至少一个类型表,并且其中,针对内容的所述至少一个项,所述内容管理器能够对所述项进行识别,并将所述项添加到所述标识表以及类型表。
49.如权利要求48所述的源,其中,内容的至少一个项具有关联的名称,并且其中,所述内容管理器能够将所述项添加到所述标识表,包括将标识ID分配给所述项,所述标识ID对于所述项的类型和名称的组合是唯一的。
50.如权利要求48所述的源,其中,所述内容管理器能够将所述项添加到类型表,包括将类型ID分配给所述项,所述类型ID对于各类型表内的项是唯一的。
51.如权利要求46所述的源,其中,所述内容管理器还能够在产生所述内容的表示之前根据标记技术构建所述内容,并且其中,所述内容管理器能够产生所构建的内容的表示。
52.如权利要求46所述的源,其中,所述至少一个项具有包括元素、属性和字符数据之一的关联类型,并且其中,当至少一个项具有关联的元素类型时,所述内容管理器能够产生元素表,当至少一个项具有关联的属性类型时,所述内容管理器能够产生属性表,当至少一个项具有关联的字符数据类型时,所述内容管理器能够产生字符数据表。
53.如权利要求52所述的源,其中,各内容项具有用于识别所述标识表内的项的标识ID和用于识别对应的类型表内的项的类型ID,其中,所述内容管理器能够产生所述元素表、所述属性表和所述字符数据表,使得所述对应的类型表针对至少一个项识别所述标识表和所述对应的类型表中的项,并且识别对应的标识表中的双亲项。
54.如权利要求53所述的源,其中,所述内容管理器能够产生所述元素表,使得所述元素表针对至少一个元素项,还识别所述标识表和对应的类型表中的至少一个子项;其中,所述内容管理器能够产生所述属性表,使得所述属性表针对至少一个属性项,包括对应的属性项的值;以及其中,所述内容管理器能够产生所述字符数据表,使得所述字符数据表针对至少一个字符数据项,包括对应的字符数据项的文本。
55.如权利要求52所述的源,其中,各字符数据项包括至少一个词语,并且其中,所述内容管理器能够产生所述内容的还包括字符数据索引的表示,所述字符数据索引包括至少一个字符数据项的至少一个词语。
56.如权利要求55所述的源,其中,所述内容管理器能够通过遍历字符数据项、将所述字符数据项的至少一个词语添加到所述字符数据索引以及针对所述至少一个词语识别包括对应词语的各字符数据项的双亲项,来产生所述字符数据索引,并且其中,针对来自所述字符数据表的至少一个字符数据项,所述内容管理器能够遍历字符数据项、添加至少一个词语并且识别各个对应的字符数据项的所述双亲项。
57.一种提供内容的方法,所述方法包括以下步骤产生所述内容的表示,其中,所述内容是分级构建的并且包括具有关联类型的至少一个项,并且其中,产生所述表示包括产生标识表和至少一个类型表,各内容项被包括在所述标识表中以及基于所述项的类型而被包括在类型表中;以及提供所述内容的表示,从而随后能够基于所述表示访问所述内容。
58.如权利要求57所述的方法,其中,产生所述内容的表示还包括以下步骤产生所述内容的包括表示所述至少一个项的至少一个节点的基于树状的表示;以及遍历所述内容的所述基于树状的表示,从而处理所述内容的分级结构中的所述至少一个项,其中,产生标识表和至少一个类型表包括在对所述内容的所述基于树状的表示进行遍历期间,产生标识表和至少一个类型表。
59.如权利要求58所述的方法,其中,遍历所述内容的所述基于树状的表示以及产生标识表和至少一个类型表包括以下步骤识别内容项;将所述项添加到所述标识表;以及基于所述项的类型将所述项添加到类型表,其中,针对内容的所述至少一个项进行对项进行识别,将所述项添加到所述标识表以及将所述项添加到类型表。
60.如权利要求59所述的方法,其中,内容的至少一个项具有关联的名称,并且其中,将所述项添加到所述标识表包括将标识ID分配给所述项,所述标识ID对于所述项的类型和名称的组合是唯一的。
61.如权利要求59所述的方法,其中,将所述项添加到类型表包括将类型ID分配给所述项,所述类型ID对于各类型表内的项是唯一的。
62.如权利要求57所述的方法,所述方法还包括在产生所述内容的表示之前,根据标记技术构建所述内容,其中,产生内容的表示包括产生所构建的内容的表示。
63.如权利要求57所述的方法,其中,所述至少一个项具有包括元素、属性和字符数据之一的关联类型,并且其中,产生至少一个类型表包括当至少一个项具有关联的元素类型时产生元素表,当至少一个项具有关联的属性类型时产生属性表,当至少一个项具有关联的字符数据类型时产生字符数据表。
64.如权利要求63所述的方法,其中,各内容项具有用于识别所述标识表内的项的标识ID和用于识别对应的类型表内的项的类型ID,其中,产生元素表、属性表和字符数据表包括产生元素表、属性表和字符数据表,使得所述对应的类型表针对至少一个项识别所述标识表和所述对应的类型表中的项,并且识别对应的标识表中的双亲项。
65.如权利要求64所述的方法,其中,产生元素表包括产生元素表,使得所述元素表针对至少一个元素项,还识别所述标识表和对应的类型表中的至少一个子项,其中,产生所述属性表包括产生属性表,使得所述属性表针对至少一个属性项,包括对应的属性项的值,以及其中,产生字符数据表包括产生字符数据表,使得所述字符数据表针对至少一个字符数据项,包括对应的字符数据项的文本。
66.如权利要求63所述的方法,其中,各字符数据项包括至少一个词语,并且其中,产生所述内容的表示还包括产生包括至少一个字符数据项的至少一个词语的字符数据索引。
67.如权利要求66所述的方法,其中,产生字符数据索引包括以下步骤遍历字符数据项;将所述字符数据项的至少一个词语添加到所述字符数据索引;以及针对所述至少一个词语,识别包括对应词语的各字符数据项的双亲项,其中,针对来自所述字符数据表的至少一个字符数据项进行遍历字符数据项,添加至少一个词语以及识别各个对应的字符数据项的所述双亲项。
68.一种用于提供内容的计算机程序产品,所述计算程序产品包括其中存储有计算机可读程序代码部分的至少一个计算机可读存储介质,所述计算机可读程序代码部分包括第一可执行部分,用于产生所述内容的表示,其中,所述内容是分级构建的并且包括具有关联类型的至少一个项,并且其中,产生所述表示包括产生标识表和至少一个类型表,各内容项被包括在所述标识表中以及基于所述项的类型而被包括在类型表中;以及第二可执行部分,用于提供所述内容的表示,从而随后能够基于所述表示访问所述内容。
69.如权利要求68所述的计算机程序产品,其中,所述第一可执行部分还适于通过产生所述内容的包括表示所述至少一个项的至少一个节点的基于树状的表示,并且遍历所述内容的所述基于树状的表示从而处理所述内容的分级结构中的所述至少一个项,来产生所述内容的表示,并且其中,所述第一可执行部分适于在对所述内容的所述基于树状的表示进行遍历期间产生所述标识表和至少一个类型表。
70.如权利要求69所述的计算机程序产品,其中,所述第一可执行部分适于遍历所述内容的所述基于树状的表示以及通过识别内容项、将所述项添加到所述标识表、以及基于所述项的类型将所述项添加到类型表,来产生所述标识表和至少一个类型表,并且其中,所述第一可执行部分适于针对内容的所述至少一个项,对所述项进行识别,并且将所述项添加到所述标识表和类型表。
71.如权利要求70所述的计算机程序产品,其中,内容的至少一个项具有关联的名称,并且其中,所述第一可执行部分适于将所述项添加到所述标识表,包括将标识ID分配给所述项,所述标识ID对于所述项的类型和名称的组合是唯一的。
72.如权利要求70所述的计算机程序产品,其中,所述第一可执行部分适于将所述项添加到类型表,包括将类型ID分配给所述项,所述类型ID对于各类型表内的项是唯一的。
73.如权利要求68所述的计算机程序产品,所述计算程序产品还包括第三可执行部分,用于在产生所述内容的表示之前,根据标记技术构建所述内容,其中,所述第一可执行部分适于产生所构建的内容的表示。
74.如权利要求68所述的计算机程序产品,其中,所述至少一个项具有包括元素、属性和字符数据之一的关联类型,并且其中,所述第一可执行部分适于在至少一个项具有关联的元素类型时产生元素表,在至少一个项具有关联的属性类型时产生属性表,在至少一个项具有关联的字符数据类型时产生字符数据表。
75.如权利要求74所述的计算机程序产品,其中,各内容项具有用于识别所述标识表内的项的标识ID和用于识别对应的类型表内的项的类型ID,其中,所述第一可执行部分适于产生所述元素表、所述属性表和所述字符数据表,使得所述对应的类型表针对至少一个项识别所述标识表和所述对应的类型表中的项,并且识别对应的标识表中的双亲项。
76.如权利要求75所述的计算机程序产品,其中,所述第一可执行部分适于产生所述元素表,使得所述元素表针对至少一个元素项,还识别所述标识表和对应的类型表中的至少一个子项;其中,所述第一可执行部分适于产生所述属性表,使得所述属性表针对至少一个属性项,包括对应的属性项的值;以及其中,所述第一可执行部分适于产生所述字符数据表,使得所述字符数据表针对至少一个字符数据项,包括对应的字符数据项的文本。
77.如权利要求74所述的计算机程序产品,其中,各字符数据项包括至少一个词语,并且其中,所述第一可执行部分适于产生所述内容的还包括字符数据索引的表示,所述字符数据索引包括至少一个字符数据项的至少一个词语。
78.如权利要求77所述的计算机程序产品,其中,所述第一可执行部分适于通过遍历字符数据项、将所述字符数据项的至少一个词语添加到所述字符数据索引以及针对所述至少一个词语识别包括对应词语的各字符数据项的双亲项,来产生所述字符数据索引,并且其中,针对来自所述字符数据表的至少一个字符数据项,所述第一可执行部分适于遍历字符数据项、添加至少一个词语以及识别各个对应的字符数据项的所述双亲项。
79.一种用于访问内容的客户机,所述客户机包括能够与访问应用通信的处理器,所述访问应用能够接收所述内容的表示,其中,所述内容是分级构建的并且包括具有关联类型的至少一个项,并且其中,所述内容的表示包括标识表和至少一个类型表,各内容项被包括在所述标识表中并基于所述项的类型而被包括在类型表中,并且其中,所述访问应用能够基于所述内容的包括所述标识表和至少一个类型表的表示来访问所述内容的至少一部分。
80.如权利要求79所述的客户机,其中,所述访问应用能够通过基于所述标识表和至少一个类型表重建所述内容的至少一部分的基于树状的表示,以及根据所重建的基于树状的表示产生所述内容的至少一部分,来访问所述内容的至少一部分。
81.如权利要求80所述的客户机,其中,所述访问应用能够通过产生所述基于树状的表示的至少一个节点来重建所述内容的至少一部分的所述基于树状的表示,各节点表示所述内容的对应部分的项。
82.如权利要求81所述的客户机,其中,所述访问应用能够通过从所述标识表中选择所述内容的对应部分内的项、针对选定的项产生所述基于树状的表示的节点、以及当选定的项具有至少一个后代项时遍历选定的项的至少一个后代项,来产生所述基于树状的表示的节点,并且其中,对所述至少一个后代项的遍历包括产生表示至少一个后代项中的每一个的节点,以及将所述节点与对应的双亲项相关联。
83.如权利要求81所述的客户机,其中,内容的所述至少一个项具有包括元素、属性和字符数据之一的关联类型,并且其中,所述访问应用能够通过产生表示所述内容的对应部分的元素项、属性项和字符数据项中的至少一个的至少一个节点,来重建所述内容的至少一部分的所述基于树状的表示。
84.如权利要求83所述的客户机,其中,至少一个属性项具有值,至少一个字符数据项具有文本,并且其中,所述访问应用还能够通过在对应节点表示属性项时将值添加到所述基于树状的表示的节点以及在对应节点表示字符数据项时将文本添加到所述基于树状的表示的节点,来重建所述内容的至少一部分的所述基于树状的表示。
85.如权利要求79所述的客户机,其中,所述访问应用还能够接收识别所述内容的至少一个项的查询,并且在所述内容的表示中搜索由所述查询识别的所述至少一个项,并且其中,所述访问应用能够基于所述搜索访问所述内容的至少一部分,被访问的内容部分包括由所述查询识别的所述至少一个项。
86.如权利要求85所述的客户机,其中,所述访问应用能够通过以下步骤来访问所述内容的至少一部分重建所述内容的至少一部分的基于树状的表示,所述内容的所述至少一部分包括由所述查询识别的内容的所述至少一个项;以及根据所重建的基于树状的表示产生所述内容的至少一部分,从而访问所产生的内容部分。
87.如权利要求85所述的客户机,其中,所述至少一个项具有包括元素、属性和字符数据之一的关联类型,并且其中,所述访问应用能够接收包括至少一个元素项的名称和至少一个属性项的名称之一的查询。
88.如权利要求87所述的客户机,其中,针对元素项和属性项中的至少一个,所述内容的表示中的所述标识表包括与对应项相关联的名称,并且其中,所述访问应用能够通过在所述标识表中搜索与包括在所述查询中的名称相匹配的名称,来搜索所述内容的表示。
89.如权利要求85所述的客户机,其中,所述至少一个项具有包括元素、属性和字符数据之一的关联类型,并且其中,所述访问应用能够接收查询,所述查询包括至少一个字符数据项中所包括的至少一个词语。
90.如权利要求89所述的客户机,其中,所述内容的表示还包括字符数据索引,所述字符数据索引包括至少一个字符数据项的至少一个词语,并且其中,所述访问应用能够通过在所述字符数据索引中搜索与包括在所述查询中的至少一个词语相匹配的至少一个词语,来搜索所述内容的表示。
91.一种访问内容的方法,所述方法包括以下步骤提供所述内容的表示,其中,所述内容是分级构建的并且包括具有关联类型的至少一个项,并且其中,所述内容的表示包括标识表和至少一个类型表,各内容项被包括在所述标识表中以及基于所述项的类型被包括在类型表中;以及基于所述内容的包括所述标识表和至少一个类型表的表示,访问所述内容的至少一部分。
92.如权利要求91所述的方法,其中,访问所述内容的至少一部分包括以下步骤基于所述标识表和至少一个类型表,重建所述内容的至少一部分的基于树状的表示;以及根据所重建的基于树状的表示产生所述内容的至少一部分,从而访问所产生的内容剂量。
93.如权利要求92所述的方法,其中,重建所述内容的至少一部分的基于树状的表示包括产生所述基于树状的表示的至少一个节点,各节点表示所述内容的对应部分的项。
94.如权利要求93所述的方法,其中,产生所述基于树状的表示的节点包括以下步骤从所述标识表中选择所述内容的对应部分内的项;针对选定的项,产生所述基于树状的表示的节点;以及当选定的项具有至少一个后代项时,遍历选定的项的至少一个后代项,并且其中,对至少一个后代项进行遍历包括产生表示至少一个后代项中的每一个的节点,以及将所述节点与对应的双亲项相关联。
95.如权利要求93所述的方法,其中,内容的所述至少一个项具有包括元素、属性和字符数据之一的关联类型,并且其中,重建所述内容的至少一部分的基于树状的表示包括产生表示所述内容的对应部分的元素项、属性项和字符数据项中的至少一个的至少一个节点。
96.如权利要求95所述的方法,其中,至少一个属性项具有值,至少一个字符数据项具有文本,并且其中,重建所述内容的至少一部分的基于树状的表示还包括以下步骤当对应节点表示属性项时,将值添加到所述基于树状的表示的节点;以及当对应节点表示字符数据项时,将文本添加到所述基于树状的表示的节点。
97.如权利要求91所述的方法,所述方法还包括以下步骤接收识别所述内容的至少一个项的查询;以及在所述内容的表示中搜索由所述查询识别的所述至少一个项,其中,访问所述内容的至少一部分包括基于所述搜索,访问所述内容的至少一部分,被访问的内容部分包括由所述查询识别的所述至少一个项。
98.如权利要求97所述的方法,其中,访问所述内容的至少一部分包括以下步骤重建所述内容的至少一部分的基于树状的表示,所述内容的所述至少一部分包括由所述查询识别的内容的所述至少一个项;以及根据所重建的基于树状的表示,产生所述内容的至少一部分,从而访问所产生的内容部分。
99.如权利要求97所述的方法,其中,所述至少一个项具有包括元素、属性和字符数据之一的关联类型,并且其中,接收查询包括接收包括至少一个元素项的名称和至少一个属性项的名称之一的查询。
100.如权利要求99所述的方法,其中,针对元素项和属性项中的至少一个,所述内容的表示中的所述标识表包括与对应项相关联的名称,并且其中,搜索所述内容的表示包括在所述标识表中搜索与包括在所述查询中的名称相匹配的名称。
101.如权利要求97所述的方法,其中,所述至少一个项具有包括元素、属性和字符数据之一的关联类型,并且其中,接收查询包括接收这样的查询,所述查询包括至少一个字符数据项中所包括的至少一个词语。
102.如权利要求101所述的方法,其中,所述内容的表示还包括字符数据索引,所述字符数据索引包括至少一个字符数据项的至少一个词语,并且其中,搜索所述内容的表示包括在所述字符数据索引中搜索与包括在所述查询中的至少一个词语相匹配的至少一个词语。
103.一种用于访问内容的计算机程序产品,所述计算程序产品包括其中存储有计算机可读程序代码部分的至少一个计算机可读存储介质,所述计算机可读程序代码部分包括第一可执行部分,用于接收所述内容的表示,其中,所述内容是分级构建的并且包括具有关联类型的至少一个项,并且其中,所述内容的表示包括标识表和至少一个类型表,各内容项被包括在所述标识表中以及基于所述项的类型而被包括在类型表中;以及第二可执行部分,用于基于所述内容的包括所述标识表和至少一个类型表的表示,访问所述内容的至少一部分。
104.如权利要求103所述的计算机程序产品,其中,所述第二可执行部分适于通过基于所述标识表和至少一个类型表重建所述内容的至少一部分的基于树状的表示,以及根据所重建的基于树状的表示产生所述内容的至少一部分,从而访问所产生的内容剂量,来访问所述内容的至少一部分。
105.如权利要求104所述的计算机程序产品,其中,所述第二可执行部分适于通过产生所述基于树状的表示的至少一个节点来重建所述内容的至少一部分的所述基于树状的表示,各节点表示所述内容的对应部分的项。
106.如权利要求105所述的计算机程序产品,其中,所述第二可执行部分适于通过从所述标识表中选择所述内容的对应部分内的项,针对选定的项产生所述基于树状的表示的节点,以及当选定的项具有至少一个后代项时遍历选定的项的至少一个后代项,来产生所述基于树状的表示的节点,并且其中,对所述至少一个后代项的遍历包括产生表示至少一个后代项中的每一个的节点,以及将所述节点与对应的双亲项相关联。
107.如权利要求105所述的计算机程序产品,其中,内容的所述至少一个项具有包括元素、属性和字符数据之一的关联类型,并且其中,所述第二可执行部分适于通过产生表示所述内容的对应部分的元素项、属性项和字符数据项中的至少一个的至少一个节点,来重建所述内容的至少一部分的所述基于树状的表示。
108.如权利要求107所述的计算机程序产品,其中,至少一个属性项具有值,至少一个字符数据项具有文本,并且其中,所述第二可执行部分还适于通过在对应节点表示属性项时将值添加到所述基于树状的表示的节点以及在对应节点表示字符数据项时将文本添加到所述基于树状的表示的节点,来重建所述内容的至少一部分的所述基于树状的表示。
109.如权利要求103所述的计算机程序产品,所述计算机程序产品还包括第三可执行部分,用于接收识别所述内容的至少一个项的查询;以及第四可执行部分,用于在所述内容的表示中搜索由所述查询识别的所述至少一个项,其中,所述第二可执行部分适于基于所述搜索来访问所述内容的至少一部分,被访问的内容部分包括由所述查询识别的所述至少一个项。
110.如权利要求109所述的计算机程序产品,其中,所述第二可执行部分适于通过以下步骤来访问所述内容的至少一部分重建所述内容的至少一部分的基于树状的表示,所述内容的所述至少一部分包括由所述查询识别的内容的所述至少一个项;以及根据所重建的基于树状的表示,产生所述内容的至少一部分,从而访问所产生的内容部分。
111.如权利要求109所述的计算机程序产品,其中,所述至少一个项具有包括元素、属性和字符数据之一的关联类型,并且其中,所述第三可执行部分适于接收包括至少一个元素项的名称和至少一个属性项的名称之一的查询。
112.如权利要求111所述的计算机程序产品,其中,针对元素项和属性项中的至少一个,所述内容的表示中的所述标识表包括与对应项相关联的名称,并且其中,所述第四可执行部分适于在所述标识表中搜索与包括在所述查询中的名称相匹配的名称。
113.如权利要求109所述的计算机程序产品,其中,所述至少一个项具有包括元素、属性和字符数据之一的关联类型,并且其中,所述第三可执行部分适于接收查询,所述查询包括至少一个字符数据项中所包括的至少一个词语。
114.如权利要求113所述的计算机程序产品,其中,所述内容的表示还包括字符数据索引,所述字符数据索引包括至少一个字符数据项的至少一个词语,并且其中,所述第四可执行部分适于在所述字符数据索引中搜索与包括在所述查询中的至少一个词语相匹配的至少一个词语。
全文摘要
本发明提供了基于内容的表示提供内容的系统、方法和计算机程序产品。该提供内容的系统包括源和客户机。所述源能够产生所述内容的表示,所述内容是分级构建的并且包括具有关联类型的至少一个项。所述源能够产生包括标识表和至少一个类型表的表示,各内容项被包括在所述标识表中以及基于所述项的类型而被包括在类型表中。随后,源能够提供所述内容的表示。所述客户机能够接收所述内容的表示,并且基于所述表示访问所述内容的至少一部分。所述客户机还能够接收对内容的至少一个项的查询,在所述表示中搜索所述项,以及访问所述内容的包括所述项的至少一部分。
文档编号G06F17/00GK1997996SQ200580023436
公开日2007年7月11日 申请日期2005年5月25日 优先权日2004年6月4日
发明者威廉·M·艾布拉姆斯, 里基·李·约翰逊 申请人:维托索斯科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1