过滤可扩展应用程序标记语言(xaml)文件以便于索引的制作方法

文档序号:6567104阅读:187来源:国知局
专利名称:过滤可扩展应用程序标记语言(xaml)文件以便于索引的制作方法
技术领域
本发明涉及计算环境。更具体地,本发明的各个实施例涉及用于过滤以可扩 展应用程序标记语言(XAML)写成的文件并向环境(例如一个搜索引擎)增量地 返回其中所包含的可索引逻辑内容。更具体地,本发明的各个实施例涉及用于提取 XAML文件中所包含的可索引逻辑内容以便于其搜索和/或索引的方法和系统。
背景技术
可扩展应用程序标记语言(XAML)是定义功能上与动态超文本标记语言 (HTML)文件相似的交互式文件的布局和行为的一种特定可扩展标记语言 (XML)模式。搜索文件或建立文件的搜索索引涉及提取文件的可索引逻辑内容,
即文本内容。从XAML文件中提取可索引逻辑内容涉及从中滤除所有格式化和行 为数据。
用XAML写成的文件不能像任意的XML文件一样过滤以索引和/或搜索其中 所包含的可索引逻辑内容,因为这些过滤方法没有考虑标记语义。标记语义包括有 关文本内容的特定实例或特定属性值是否被视为可索引内容而不是非内容(例如结 构信息)的信息。像常规的通用XML过滤器一样,(例如)滤除元素和属性名称 并将所有属性值和文本数据视为内容将导致元数据(非内容)被不当地作为数据返 回。
因此,对于准确地确定文件的内容以搜索和索引应用程序、或需要具体地处 理文件的内容的任何应用程序来说, 一种说明标记语义并处理元素和属性的、用于 过滤以XAML写成的文件的方法是合乎需要的。
发明概述
本发明的各个实施例涉及用于过滤可扩展应用程序标记语言(XAML)文件 以便于索引其中所包含的可索引逻辑内容的方法和系统。在一实施例中,该方法包 括识别XAML文件中的一个元素,通过分析与该元素关联的公共语言运行时(CLR)类来确定该元素是否包含可索引逻辑内容,以及如果确定该元素包含可索
引逻辑内容,则在与该元素相关的属性值或特征数据中定位该内容,并提取该内容 以便于其索引。
本发明的其它实施例涉及用于提取XAML文件中所包含的可索引逻辑内容以 便于其索引的方法。在一实施例中,该方法包括识别XAML文件中的用户定义 格式元素,该用户定义格式元素具有与之相关联的代码;分析与用户定义格式元素 相关联的该代码以因此确定一公共语言运行时(CLR)类;以及基于所确定的CLR 类确定该用户定义格式元素是否包含可索引逻辑内容。如果该用户定义格式元素包 含可索引逻辑内容,该方法还可包括定位与该用户定义格式元素相关的属性值或特 征数据中的可索引逻辑内容,并提取所定位的可索引逻辑内容以便于其索引。
在又一实施例中,方法包括识别表示XAML文件中固定格式页面的元素, 进行在元素中出现的一个或多个纵纹顺串(glyph run)的毗邻性分析以确定有关其 间的距离和共线性的信息,以及考虑语言相关信息以将距离和共线性信息转换成分 字和分段信息以便于其索引d
此外,本发明各实施例涉及具有用于执行本文中所公开方法的计算机可执行 指令的计算机可读介质,以及被编程为执行所公开方法的计算机。
附图概述
本发明在以下参照附图详细描述,在附图中


图1是适于实现本发明的一示例性计算环境的框图2是示出根据本发明一实施例的系统架构的框图,其中通过再现XAML文 档中的元素从可扩展应用程序标记语言(XAML)过滤器中例示数据元素流;
图3是示出根据本发明一实施例的用于过滤XAML文件以便于索引和/或搜索 其中所包含的可索引逻辑内容的方法的流程图。
发明的详细描述
本发明提供一种用于过滤以可扩展应用程序标记语言(XAML)写成的文件 并增量地向例如搜索引擎的环境返回文件中所包含的可索引逻辑内容、即文本内容 的方法。更具体地,本发明的各个实施例涉及用于提取XAML文件中所包含的可 索引逻辑内容以便于其搜索和/或索引。本文中所公开的方法允许过滤仅包含流格 式元素(即已知和/或用户定义元素)的文件、仅包含表示固定格式页面的元素(例个或多个固定格式页面的元 素的文件。
在简短描述了本发明的纵览之后,以下描述本发明的一个示例性操作环境。 一般地参看附图,并且在开始时具体地参看图1,其中相似参考标号标识各个 附图中的相似组件,示出了用于实现本发明的一个示例性操作环境,并一般地将其
指示为计算系统环境100。该计算系统环境100仅是适当计算环境的一个示例,并 非旨在提出对本发明使用或功能性范围的任何限制。计算环境100也不应被解释为 对示例性操作环境100中所示的任一组件或其组合有任何依赖性或任何需求。
本发明也可在很多其它通用或专用计算系统环境或配置中使用。适于本发明 使用的众所周知的计算系统、环境和/或配置的示例包括但不限于,个人计算机、 服务器计算机、手持式或膝上型装置、多处理器系统、基于微处理器的系统、机顶
盒、可编程消费品电器、网络PC、小型计算机、大型机、包括任一种以上系统或
设备的分布式计算环境等等。
本发明可以在计算机可执行指令的一般上下文中进行说明,诸如由计算机执 行的程序模块。 一般而言,程序模块包括执行特定任务或实现特定抽象数据结构的 例程、程序、对象、组件、数据结构等等。本发明还可在任务由经通信网络连接的 远程处理设备执行的分布式计算环境中实践。在分布式计算环境中,程序模块可置 于包括存储器存储设备的本地和远程计算机存储介质中。
参照图1,实现本发明的示例性系统包括以计算机iio形式的通用计算装置。
计算机110的组件可包括但不限于,处理单元120、系统存储器130以及把包括系 统存储器在内的各种系统组件耦合到处理单元120的系统总线121。系统总线121 可能是若干总线结构类型中的任何一种,包括存储器总线或存储器控制器、外围总 线、以及使用多种总线架构的任一种的本地总线。作为示例而非限制,这些架构包 括工业标准架构(ISA)总线、微信道架构(MCA)总线、增强ISA (EISA)总线、 视频电子标准协会(VESA)局部总线和也称为Mezzanine总线的外围部件互连 (PCI)总线。
计算机110通常包括各种计算机可读介质。计算机可读介质可以是能被计算 机IIO访问的任何可用介质,并包括易失性和非易失性介质、可移动和不可移动介 质。作为示例而非限制,计算机可读介质可包括计算机存储介质和通信介质。计算 机存储介质包括以任何方法或技术实现、用于存储诸如计算机可读指令、数据结构、 程序模块或其它数据等信息的易失性和非易失性介质、可移动和不可移动介质。计算机存储介质包括但不限于RAM、 ROM、 EEPROM、闪存或其它存储器技术、 CD-ROM、数字化多功能光盘(DVD)或其它光学存储技术、磁卡、磁带、磁盘 存储或其它磁性存储设备、或任何其它可用于存储所需信息并可由计算机110访问 的介质。通信介质通常以诸如载波或其它传输机制的已调制数据信号的形式包含计 算机可读指令、数据结构、程序模块、或其它数据,且包括任何信息输送介质。术 语"已调制数据信号"意指用以在信号中编码信息的方式设置或改变其一个或多个 特征的信号。作为示例而非限制,通信介质包括诸如有线网络或直线连接的有线介 质,和诸如声学、射频、红外线和其它无线介质的无线介质。以上任何介质的组合 也应包括在计算机可读介质的范围中。
系统存储器130包括诸如只读存储器(ROM) 131和随机存取存储器(RAM) 132的易失性和/或非易失性存储器形式的计算机可读介质。包含有助于计算机110 如起动时在元件间传送信息的基本例程的基本输入/输出系统(BIOS) 133通常存 储在ROM 131中。RAM 132通常包含可被处理单元120立即访问和/或当时正被 操作的数据和/或程序模块。作为示例而非限制,图1示出了操作系统134、应用程 序135、其它程序模块136和程序数据137。
计算机110还可包括其它可移动/不可移动、易失性/非易失性计算机存储介质。 作为示例,图1例示了读取和写入不可移动、非易失性磁性介质的硬盘驱动器141, 读取和写入可移动、非易失性磁盘152的磁盘驱动器151,读取和写入可移动、非 易失性光盘156如CD-ROM或其它光学介质的光盘驱动器155。其它也用在示例 性计算环境中的可移动/不可移动、易失性/非易失性计算机存储介质包括但不限 于,如磁带、闪存卡、数字化视频光盘、数字化录像带、固态RAM、固态ROM 等等。硬盘驱动器141通常通过诸如接口 140的不可移动存储器接口与系统总线 121连接,而磁盘驱动器151和光盘驱动器155通常通过诸如接口 150的可移动存 储器接口与系统总线121连接。
如上所述并如图1所示的盘驱动器及其相关联的计算机存储介质为计算机110 提供计算机可读指令、数据结构、程序模块、和其它数据的存储。在图1中,例如, 硬盘驱动器141被示为存储操作系统144、应用程序145、其它程序模块146、和 程序数据147。注意这些组件可以与操作系统134、应用程序135、其它程序模块 136、和程序数据137相同或不同。在此给予操作系统144、应用程序145、其它程 序模块146和程序数据147的不同数字以说明至少它们是不同的副本。用户可通过 输入装置如键盘162、和通常称为鼠标、跟踪球或触摸板等的定位装置161向计算机110输入命令和信息。其它输入装置(未示出)可包括话筒、游戏杆、游戏垫、 卫星接收器、扫描仪、等等。这些和其它输入设备常常通过与系统总线耦合的用户
输入接口 160与处理单元120相连,但也可通过诸如并行端口、游戏端口或通用串 行总线(USB)的其它接口连接。监视器191或其它类型的显示设备也可通过诸如 视频接口 190的接口与系统总线121相连。除了监视器,计算机还可包括诸如扬声 器197和打印机196的其它输出设备,它们通过输出外围接口 195相连。
计算机110可以在使用与一台或多台远程计算机如远程计算机180的逻辑连 接的网络化环境中运行。远程计算机180可以是个人计算机、服务器、路由器、网 络PC、对等装置或其它公共网络节点,而且通常包括上述与个人计算机IIO相关 的许多或全部组件,尽管在图1中仅例示了存储器存储设备181。图1中所描绘的 逻辑连接包括局域网(LAN) 171和广域网(WAN) 173,但也可包括其它网络。这样 的网络化环境在办公室、企业范围计算机网络、企业内部互联网和因特网上是常见 的。
当用于LAN网络化环境中时,计算机110通过网络接口或适配器170与局域 网171连接。当用于WAN网络化环境中时,计算机110通常包括调制解调器172 或其它用于在广域网173如因特网中建立通信的装置。可以是内置式或外置式的调 制解调器172与系统总线121通过用户输入接口 160或其它适当机制连接。在网络 化环境中,与计算机110相关的程序模块或其一部分可存储在远程存储器存储装置 中。作为示例而非限制,图1示出了驻留于远程计算机180中的远程应用程序185。 应当理解,所示网络连接是示例性的,并且也可以使用其它用于在计算机间建立通 信连接的技术。
尽管未示出计算机110的许多其它内部组件,但本领域其它普通技术人员将 理解这些组件和互连是众所周知的。因此,有关计算机110的内部机构的其它细节 不需要连同本发明公开。
当计算机IIO开机或重置时,储存在ROM 131中的BIOS 133指示处理单元 120从硬盘驱动器141将操作系统或其必要部分载入到RAM 132中。 一旦操作系 统的复制部分(标示为操作系统144)被载入到RAM 132中,处理单元120就执 行操作系统代码并使与操作系统134的用户界面相关联的视觉元件在监视器191 上显示。通常,当用户打开应用程序145时,从硬盘驱动器141中读取程序代码和 相关数据,且必要的部分被复制到RAM132中,该复制部分在本文中由参考标号 135表示。如前所述,本发明各实施例涉及用于过滤以可扩展应用程序标记语言
(XAML)写成的文件以便于索引和/或搜索文件中所包含的逻辑内容的方法。因 而,本文中的各方法提供过滤XAML文件以留存非内容的任何东西(例如结构信 息)且仅提取数据、即文本内容本身以供索引和/或搜索。
一般地参看附图,并且特别地从图2开始,示出了显示根据本发明一实施例 的一示例性系统架构的框图,该系统架构被一般地指派参考标号200。该系统架构 例示来自XAML搜索过滤器210、经过XAML文档226中的元素228再现的数据 元素流,正如以下所更全面描述的那样。应当注意,图2的箭头不表示数据流而表 示相关性,即客户机-服务关系。具体地,所有数据从文档流过扫描仪230,但箭 头指向"相反",因为XAML搜索过滤器210使用扫描仪230来访问该文档。
元素可以是流格式元素(已知或用户定义的)、或表示固定格式页面的元素, 其差别在于元素在由系统读取之后再现的方法。在流格式中,允许布局随着查看介 质的尺寸而变化。例如,可调节其中所包含的列数以恰当地适合窗口的大小。特定 流格式类型(例如段落或斜体)的逻辑内容可以XML结构从该元素起定位在特定 路径或路径集上,并可表征为块(即形成一段落)或内嵌(即形成与周围上下文不 分离的字符串)。
然而,在表示固定格式页面的元素中,页面的图形和文本成分的定位使用绝 对测量值来表示。这形成了径向更为简单的XAML语言,其中只有一种元素类型 提供流格式的文本内容,即纵纹顺串。
表示固定格式页面的元素和流式格式元素从过滤角度而言提出了不同的挑 战。因此,元素表示固定格式页面还是流格式确定将过滤其中所包含的逻辑内容的 方法。
如果由XAML扫描器230在文档226中标识的元素被识别为标识固定格式页 面的元素,则该元素可使用固定页面分析器212来分析。使用固定页面分析器212 的分析包括毗邻性分析(如框216所示)以及把语言相关信息等(如框218所示) 考虑在内。这些分析各自参照图3进行更全面的讨论。
本领域普通技术人员应该理解和认识,XAML元素与定义XAML的受管理组 件中的定制语言运行时(CLR)相关联。该CLR类或面向对象类在要再现一元素 (例如段落元素)时执行。XAML面向对象类还包括可在实现本发明方法时使用 的相关联自描述信息(即类属性),正如以下所更全面地描述的那样。
在本文中使用的术语"受管理组件"是可在.Net框架中执行且其面向对象成分可使用一种被本领域普通技术人员称为"反射"的代码分析形式来检查的代码文
件。"反射"是指从可执行代码(包括类定义)中提取类型信息的可能性。在CLR
中,类型信息包括属性,即附加于类型、功能或其它实体的特性值对的集合。这些 属性可由用户(编程人员)纯粹出于通过反射提供有关代码语义的信息的目的来定
义。因而,如果每个XAML类具有以类属性描述的内容信息,则有可能使用反射 来提取该信息,正如以下所更全面地描述的那样。
如果一固定元素被标识为流格式元素,不管是已知的或用户定义的,则该元 素可使用流元素分析器214来分析。如果所标识的流元素是一已知元素,即有关其 语义的信息被明确定义的元素,则流元素分析器214可从定义XAML的受管理组 件中访问该信息。这在框220中指示。 一旦访问了该元素,则该元素的内容逻辑可 被转发给XML扫描器230,且元素228随后可在XAML文档226中再现。
然而,如果所标识的流元素是与其语义相关的信息仅在定制代码中定义的用 户定义元素,则流元素分析器214可使用定制代码定位器222来访问该信息。 一旦 标识了定制代码,包含该用户定义元素的CLR类的可执行代码可在XAML文档 226中的再现元素228之前被标识(如框224所示)。
现在参看图3,示出了根据本发明一实施例的用于过滤XAML文件的方法300 的流程图。在开始该过滤方法之前,接收到要启动对XAML文件的过滤过程的指 示。该指示可在启用基础应用程序(如果索引访问因此被启用)时或在启动对包含 特定内容的文件的搜索时接收。 一旦接收到这种指示,则启动过滤过程。
该过滤过程可被描述为解析过程,通过该解析过程XAML过滤器(图2的210) 登录到该文件以定位和提取其可索引逻辑内容,即文本内容。因而,在启动根据本 发明一实施例的过滤方法时,开始时可在所过滤的XAML文件中识别或标识元素。 这在框310中示出。随后,确定与该元素相关联的CLR类,如框312所示。如前 所述,CLR类的确定取决于所标识元素的类型。因而,与确定CLR类同时地或随 后地,确定该元素是流元素(已知或用户定义的)还是标识固定格式页面的元素。 这在框314示出。
如果元素是一流元素,则接着确定该元素是否包含可索引逻辑内容,如框316 所示。就XAML语言中流格式元素的XML模式而言并没有固定的模式,即没有 准确描述XAML文件的流格式元素的结构应当如何的规定模式。然而,在其中定 义XAML的受管理组件,例如可从华盛顿州雷德蒙市的微软公司获得的WINFX, 在一定程度上可以是自描述的。即是说,在受管理组件中,实现一规定XAML元素的每个类加上不改变元素的行为但使该元素变成自描述的.NET或0#属性的标 签。这样,对于XAML文件中遇到的每个流格式元素,都有指定具有与该元素相 同名称的CLR或面向对象类(例如内嵌、斜体、段落等)的基础代码副本。因此, 这些类中的每一个被适当地标注,以表达该元素是否包含可索引逻辑内容以及任何 可索引逻辑内容是否要被视为内嵌或块(例如段落将是受回车限制的块元素,而斜 体元素将包含要以不换行的样式插入所再现文档的文本中的内嵌内容)。
因而,附加于一个类的内容描述属性将指示是否有可索引逻辑内容、某些 可索引逻辑内容是否要被视为内嵌或块、以及要在元素的什么特性中发现内容。这 样,本文中描述的过滤方法涉及分析XAML文件实现的基础代码以确定要在哪里 定位内容。
再参看图2, XAML元素的表格220起初包含有关已知XAML元素的信息。 该信息已在过滤器工作之前(即构建时)通过反射在XAML类上获得。在构建时 之前获得该信息节约了在运行时使用反射的时间和开销。在表格中所发现的每个元 素的信息指示元素是否包含可索引逻辑内容、要在元素的什么特性中发现逻辑内 容、以及该逻辑内容是块还是内嵌内容。流元素分析器214在需要确定流元素的内 容特征的任何时候查找该表格。在那里未发现元素的任何时候,流元素分析器214 使用定制代码定位器222访问相应的CLR类。如果发现了该类,则使用反射来创 建刚刚査寻的流元素的描述符并将其添加到该表格中。
在XAML文件中,偶尔会遇到包含不可索引、即不能索引和/或搜索的逻辑内 容的元素。例如,可遇到包含可在文档中不同位置出现、但本质上并不包括任何逻 辑内容的快捷方式或数据的定义的资源元素。此外,可有描述如何处理一文档的元 素和/或不包含任何可索引逻辑内容的几何元素。如果确定该元素不包含任何可索 引逻辑内容,则完成任何与该元素有关的任何动作,如框318所示。
然而,如果确定该元素包含可索引逻辑内容,则随后定位可索引逻辑内容, 如框320所示。有关给定元素是否具有可索引内容和该内容是否是内嵌的(即粘贴 到周围内容而不插入断字符)的信息在相关联的公共语言运行时(CLR)类的专用 属性中发现。因而,如果元素包含可索引逻辑内容,即如果元素包含能被过滤以索 弓l和/或搜索的逻辑内容,则随后基于元素的CLR或面向对象类确定该可索引逻辑 内容的位置。
定位元素的可索引逻辑内容不仅涉及确定该元素是否具有任何可索引逻辑内 容,而且涉及确定该内容是否被储存在该元素的子元素或专用属性中,并确定该元素之前是否有断字符等。这涉及将所有CLR类映射到内容位置信息的表格(在构 建时生成)。如先前参照图2所述,该表格基于通过反射从实现XAML元素的类中 提取的信息来构建。所使用的反射信息包括在该类上声明或继承的布局属性的出 现。布局属性是块、内嵌或内嵌块中的其中之一。最后两个值被视为出于断字目的 的内嵌。附加反射信息包括公共特性Text、 Content或TextContent中的其中之一的 出现。允许内容承载(content-bearing)属性(即Text、 Content或TextContent)的 元素在该特性(如果出现在标记中)中具有其内容。否则,其内容在其文本子元素 中出现。
如果可索引逻辑内容的位置与元素本身中的不同,则位置信息随后可被储存, 并且继续过滤过程,直到遇到可索引逻辑内容的位置。 一旦遇到可索引逻辑内容的 位置(可以是该元素本身的位置),该元素的逻辑内容被提取并返回到环境(例如 搜索引擎),如框322所示。 一旦返回到该环境,可按需索引和/或搜索该逻辑内容。
本领域普通技术人员应该理解,XAML文件可包含指示显示文本和/或特性的 标记或描述性格式化代码。通常,标记可与一元素相关联,该元素除非内容外有时 具有其值为该元素文本内容的特性。在XAML元素的XML实现中,其名称由特 性名称构建的特定元素或特征数据直接在元素中出现。
现在再参看图3的框314,如果确定该元素是表示固定格式页面(即纵纹顺串) 的元素,则随后进行该元素中出现的一个或多个纵纹顺串的毗邻性分析,如框324 所示。在纵纹顺串的情形中,XAML过滤器对毗邻的纵纹顺串执行断字分析,其 中"毗邻"是指纵纹出现的物理顺序。
纵纹顺串的逻辑内容至少在包含字符代码和二维定位数据的属性中、以及包 含该文本内容的单独属性中出现。因而,过滤器使用包含属性的文本内容来提取纵 纹顺串的可索引逻辑内容。
毗邻性分析涉及将各个纵纹顺串属性转换成逻辑连续纵纹顺串之间的距离和 共线性信息。二维数据的出现使得任意地杂乱收集纵纹顺串而不影响标记语义成为 可能。然而,大多数应用程序以本质逻辑顺序生成纵纹顺串,从而使得可以考虑两 个物理毗邻的纵纹顺串也是逻辑毗邻的。确定纵纹顺串之间的毗邻性包括以读取顺 序返回纵纹顺串,并指定每个纵纹顺串是否与下一纵纹顺串分离,以及这一分离是 简单的空格还是指示该两个纵纹顺串属于不同的段落。(应当注意,如果毗邻性分 析不能在运行时实现,那么将假定每个纵纹顺串包含整个字。)
随后或同时,分析纵纹顺串中的任何语言相关信息,如框326所示。这涉及将从毗邻性分析中获得的距离信息转换成间距标记,即断字和分段信息。
纵纹顺串的分析提供了以下信息。首先是其基线的起点和终点,以使能推断 共线性和相对顺序。这些以页面坐标给出并考虑作用域内的所有变换。其次,纵纹
顺串分析提供再现全身(em)大小的字体,它可以是偏离严格共线性多少可被接 受、以及多少距离应当被解释为断字符的指示。这被表达为图纸表面单位的两个实 数,即宽度大小(与基线并行)和高度大小(与基线垂直),以便于考虑縮放和旋 转的任何适用组合。第三,纵纹顺串分析提供文本内容串,它是由纵纹顺串表示的 字符串的可靠指示。第四,语言的方向是从右到左还是从左到右的指示符。如果是
从右到左,则用于重构逻辑顺序的排序是有必要的。
基于毗邻性分析和语言相关信息(即整体的纵纹顺串分析),随后可提取纵纹 顺串的可索引逻辑内容,并将其返回给环境(例如搜索引擎)以供搜索和/或索弓l。
一些XAML文件可包含表示固定格式页面的元素和流格式元素。因为不需要 从流元素和表示固定格式页面的元素的物理接近导出有意义信息,所以本文中公开 的XAML过滤法分开两类元素,并从表示固定格式页面的元素开始顺序地过滤它 们。即是说,如果文件包含表示一个或多个固定格式页面的元素和流格式元素两者, 则首先将过滤表示特定固定格式页面的元素,而不考虑流格式元素。随后,在已过 滤了固定格式页面之后,过滤过程将再次在页面开始处开始并处理流格式元素。
本文中所述方法的实现是增量式的,偶尔按文档顺序返回一个内容"块"。一 旦所有内容块已被返回给环境(例如搜索引擎),则其内容可以是可按需搜索和/ 或索引的。
可以理解,本发明各实施例提供用于过滤以可扩展应用程序标记语言 (XAML)写成的文件并增量地将文件中所包含的逻辑内容返回给环境(例如搜索 引擎)的方法。本发明各实施例还提供用于提取XAML文件中所包含的可索引逻 辑内容以便于其搜索和/或索引的方法。
本发明已相关于特定实施例进行了描述,这些实施例就所有方面而言都旨在 是说明性而非限制性的。替换实施例将对本发明所属的本领域技术人员是显而易见 的,且不背离其范围。
从前面内容中,可看到本发明很好地适用于达到所有上述目标和目的的,并 且还有系统和方法明显和固有的其它优点。可以理解,某些特征和子组合是实用的, 并且可在不参考其它特征和子组合的情况下采用。这一点由权利要求的范围所构 想,并且是在权利要求的范围之内。
权利要求
1.一种用于过滤可扩展应用程序标记语言(XAML)文件以便于索引其中所包含的可索引逻辑内容的方法,所述方法包括识别所述XAML文件中的元素;确定与所述元素相关联的公共语言运行时(CLR)类;分析与所述元素相关联的CLR类,以确定所述元素是否包含可索引逻辑内容;以及如果确定所述元素包含可索引逻辑内容,则在与所述元素有关的属性值和字符数据的至少其中之一中,定位所述可索引逻辑内容;以及提取所述元素的所定位的可索引逻辑内容以便于对其索引。
2. 如权利要求l所述的方法,其特征在于,还包括在识别所述XAML文件中 的元素之前利用反射获取与一个或多个元素相关的信息。
3. 如权利要求l所述的方法,其特征在于,识别所述XAML文件中的元素包 括识别所述XAML文件中的多个元素,其中分析与所述元素相关联的CLR类以确 定所述元素是否包含可索引逻辑内容包括单独地分析与多个元素中的每一个相关 联的CLR类以确定它是否包含逻辑内容,且其中如果确定所述多个元素的一个以 上元素包含可索引逻辑内容,则提取所述元素的所定位的可索引逻辑内容包括增 量地提取在与所述多个元素的一个以上元素的每一个元素相关的属性值和特征数 据中的至少其中之一中所定位的可索引逻辑内容,以便于对其索引。
4. 一个或多个具有可执行如权利要求1所述的方法的计算机可执行指令的计 算机可读介质。
5. —种被编程为执行如权利要求1所述的方法的计算机。
6. 如权利要求l所述的方法,其特征在于,还包括确定在所述XAML文件中 所识别的元素是用户定义格式元素还是表示固定格式页面的元素。
7. 如权利要求6所述的方法,其特征在于,如果所述XAML文件中所识别的 元素是表示固定格式页面的元素,则分析与所述元素相关联的CLR类以确定所述 元素是否包含可索引逻辑内容包括进行在所述元素中出现的一个或多个纵纹顺串的毗邻性分析,以确定有关其间的距离和共线性的信息;以及分析语言相关信息,以将所述距离和共线性信息转换成断字和分段信息以便 于对其索引。
8. —个或多个具有用于执行如权利要求7所述的方法的计算机可执行指令的 计算机可读介质。
9. 一种用于提取可扩展应用程序标记语言(XAML)文件中所包含的可索引逻辑内容以便于对其索引的方法,所述方法包括标识所述XAML文件中的用户定义格式元素,所述用户定义格式元素具有与 之相关联的代码;分析与所述用户定义格式元素相关联的代码,以因此确定公共语言运行时 (CLR)类;以及基于所确定的CLR类的一个或多个属性,确定所述用户定义格式元素是否包 含可索引逻辑内容。
10. 如权利要求9所述的方法,其特征在于,如果确定所述用户定义格式元素 包含可索引逻辑内容,则所述方法还包括在与所述用户定义格式元素相关的属性值和字符数据中的至少其中之一中定 位所述可索引逻辑内容;以及提取所定位的可索引逻辑内容以便于对其索弓I 。
11. 一个或多个具有用于执行如权利要求9所述的方法的计算机可执行指令 的计算机可读介质。
12. —种被编程为执行如权利要求9所述的方法的计算机。
13. 如权利要求9所述的方法,其特征在于,还包括确定在标识所述用户定义 格式元素之前是否已经在所述XAML文件中标识了表示固定格式页面的元素。
14. 如权利要求13所述的方法,其特征在于,如果在标识所述用户定义格式 元素之前己经在所述XAML文件中标识了表示固定格式页面的元素,则所述方法 还包括在分析与所述用户定义格式元素相关联的代码之前,分析表示所述固定格 式页面的元素。
15. 如权利要求14所述的方法,其特征在于,分析表示所述固定格式页面的 元素包括进行在所述元素中出现的一个或多个纵纹顺串的毗邻性分析,以确定有关其间距离和共线性的信息;以及分析语言相关信息,以将所述距离和共线性信息转换成断字和分段信息。
16. —个或多个具有用于执行如权利要求15所述的方法的计算机可执行指令的计算机可读介质。
17. —种被编程为执行如权利要求15所述的方法的计算机。
18. —种用于提取可扩展应用程序标记语言(XAML)文件中所包含的可索引 逻辑内容以便于对其索引的方法,所述方法包括识别所述XAML文件中的表示固定格式页面的元素;进行在所述元素中出现的一个或多个纵纹顺串的毗邻性分析,以确定有关其 间距离和共线性的信息;以及分析语言相关信息,以将所述距离和共线性信息转换成断字和分段信息以便 于对其索引。
19. 一个或多个具有用于执行如权利要求18所述的方法的计算机可执行指令 的计算机可读介质。
20. —个被编程为执行如权利要求18所述的方法的计算机。
全文摘要
提供用于过滤以可扩展应用程序标记语言(XAML)写成的文件、并增量地将其中所包含的逻辑内容返回给环境(例如一个搜索引擎)的方法。另外提供用于提取XAML文件中所包含的逻辑内容以便于其搜索和/或索引的方法。所提供的方法允许过滤仅包含流格式元素的文件、仅包含表示固定格式页面的文件、和/或包含流格式和表示固定格式页面的元素的文件。
文档编号G06F15/00GK101542455SQ200680012902
公开日2009年9月23日 申请日期2006年3月22日 优先权日2005年4月22日
发明者A·舒尔, D·C·布朗, J·J·迪尼埃兹, J-M·拉彻弗科, M·V·雷诺弗, R·A·雷里亚, Y·G·金, Z·徐 申请人:微软公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1