网页绘制优先级机制的制作方法

文档序号:6568506阅读:260来源:国知局
专利名称:网页绘制优先级机制的制作方法
网页绘制优先级机制
背景技术
计算技术己经改变了工作与娱乐的方式。例如,具有支持网络或因特网的计 算系统或带浏览器的设备的用户可导航到遍布全球的成千上万的不同网站。导航包 括发送网页请求到维护网站的服务器,并且随后从该服务器接收表示网页的标记语 言。浏览器随后使用网页的标记语言表示在屏幕上显示网页。
常规地,网页包括交互元素,当在控件元素中呈现结果时,允许用户具有某 种程度与网页交互的能力。例如,控件元素可包括一个按钮,用户可用鼠标选择它 来执行某种功能(例如,"前进"按钮,"帮助"按钮,"发送"按钮,"提交" 按钮,"下一个"按钮等等)。控件元素也可以是一个文本框,用户可以输入文本 信息,如地址,电话号码,搜索项,产品名等等。控件元素也可以是一个标签。更 复杂的控件元素可以是一个日历,用户通过它选择各种视图或者输入日历或约会条 目来导航。
很多技术支持将这类控件插入到网页中。 一个常规的方法相关于图5示出, 其中网页文本文档501 (特别地,ASPX网页文档)被转换成控件类集(collection) 502,后者随后用于以标记语言(例如超文本标记语言)的形式来绘制(render) 网页503,标记语言由浏览器直接解释。
在此例中,网页文本文档501包括对许多控件元素的引用,这些控件元素包 括控件元素引用512至515,它们散布在其它静态标记语言511之间,如由垂直省 略号511A至511E所表示的。每一个控件元素引用包括一个或多个属性,它们指
定控件元素的行为。每一个控件元素引用具有一个"nmat (在...处运行)"属性, 它具有一个值,指示该控件元素要在服务器上被绘制为可由浏览器直接解释的标记
语言。而且,控件元素引用512引用一个标签控件元素,它具有一个标识符属性 "i叩ut (输入)",并具有一个文本属性"Name:(名称)"。控件元素引用513 引用一个TextBox(文本框)控件元素。控件元素引用514引用一个日历控件元素。 控件元素引用515引用一个按钮控件元素,它具有文本属性"Go (去)",并具 有能导致一个称为"foo ()"的功能的OnClick (在...上点击)属性,当用户在该按钮控件元素的相应可视表示上点击时,执行该"foo"功能。功能"fo0"可以在 网页文本文档501的内部或外部。
网页文本文档501按箭头515所示被语法分析并编译成控件类集502。控件类 集502包括许多对象类,其中包括全部页对象类520,它实例化页对象,当执行页 对象时(如由箭头525所示),将网页503绘制为可由浏览器直接解释的标记语言。 为了清楚,示出的网页503最终由浏览器呈现,而非在此阶段,即标记语言文档。
页对象类520包括若干派生的对象类,其中包括字面类521,它实例化字面对 象,当被执行时,绘制静态标记语言部分531 (如由网页503中531A和531B部 分所示)。页对象类520包括派生的标签类522,它实例标签对象,当被执行时, 绘制标签控件元素532。页对象类520包括派生的文本框类523,它实例化文本框 对象,当被执行时,绘制文本框控件元素533。页对象类520包括派生的日历对象 类524,它实例化日历对象,当被执行时,绘制日历控件元素534。而且,页对象 类520包括派生的按钮对象类525,它实例化按钮对象,当被执行时,绘制按钮控 件元素535。
刚才所述的绘制技术其好处在于,它在控件元素的功能性方面提供了灵活性。 另外,更多的控件元素可按特定网页所需来定义。控件元素允许更多属性来影响控 件元素的总体外观。例如,控件元素可具有用于背景色、前景色、字体大小、字体 类型、文本内容、图像、模板、复合性质等的属性。通过将特定的属性应用于各种 控件元素,可指定网页的观感,并且甚至可使网页变成可被认出是与一特定组织或 产品相关联的,从而增强了品牌认知。
然而,在若干相关网页的设计阶段,指定每个网页的特定观感是相当耗时的。 而且,如果在设计了若干相关网页之后的希望定制它们的总体观感,则每个网页一 般不得不通过小心翼翼地改变每个网页文本文档中的控件元素的属性来改变。

发明内容
提供本概要以简化的形式介绍一些在下面具体实施方式
中要进一步详细描述 的概念中所选的一些。本概要不是要标识所要求保护的主题的关键特征或基本特 征,也不是要用于帮助确定所要求保护的主题的范围。
在此描述了一种网页绘制机制,它基于三层或多层绘制指令来生成网页。绘 制机制基于三层或多层绘制指令的绘制优先级来生成网页。
产生与表示第二或中间层绘制指令的网页定义相关联的控件对象。控件对象的例子包括但不限于标签,文本框,日历等等。
接着,应用第一、第二和第三层绘制指令的绘制优先级机制。绘制优先级机 制使存在于第一或更高层绘制指令中的与控件对象相关联的性质始终应用于控件 对象,这些性质包括字体大小,字体颜色等等。在第二层绘制指令中的与控件对象 相关联的性质如果不与第一层中的性质冲突,则应用于控件对象。以相似方式,在 第三或较低层绘制指令中的与控件对象相关联的性质如果不与第一或第二层绘制 指令中的性质冲突,则应用于控件对象。
附加的特征和优点将在后面的描述中阐述,并且部分地将通过描述而显见, 或者可通过实践本发明习得。借助于所附权利要求中特别指出的指示和组合,这些 特征和优点可被认识和获得。这些和其它特征将通过下列描述和所附权利要求而变 得更加显而易见,或者可通过实践下文所述的本发明习得。


为进一步阐明本发明的上述和其它优点与特征,将通过参考在附图中例示的 特定实施例来提供本发明的更具体描述。要认识到,这些附图只是描绘本发明的典 型实施例,并且因此不会限制本发明的范围。通过使用下列附图并结合附加的特性 与细节来描述和说明本发明。
图1例示在其中可实现本发明原理的合适的计算系统;
图2例示使用网页绘制优先级产生网页的方法的流程图3A和3B例示与图2相关联的数据结构处理流程;
图4例示绘制优先级机制的流程图;以及
图5例示根据现有技术的与绘制过程相关联的数据结构处理流程。
具体实施例方式
在此描述网页绘制机制,它基于三层或多层绘制指令的绘制优先级来生成网 页。生成与表示第二层或中间层绘制指令的网页定义相关联的控件对象。接着,应 用绘制优先级机制。绘制优先级机制使存在于第一或较高层绘制指令中的与控件对 象相关联的性质始终应用于控件对象。第二层绘制指令中的与控件对象相关联的性 质,如果不与第一层中的性质冲突,则应用于控件对象。以相似的方式,第三层或 较低层绘制指令中的与控件对象相关联的性质,如果不与第一或第二层绘制指令中 的性质冲突,则应用于控件对象。转到附图,其中相似的参考数字引用相似的元素,本发明的原理例示为在一 个合适的计算环境中实现。下列描述基于所示的本发明实施例,并且不应将本发明 限制在未在这里明确描述的替换实施例。
在下列描述中,本发明的实施例是参考由一或多个计算机执行的动作和操作 的符号表示来描述,除非另有说明。因此,将理解这样的动作和操作(它们有时称 为是计算机执行的)包括由以结构化形式表示数据的电信号的计算机的处理单元的
控制。这种控制变换数据或者将它们保存在计算机的存储器系统中的存储单元中, 它们以本领域技术人员很好理解的方式重新配置或者改变计算机的操作。保存数据 的数据结构是存储器的物理单元,它们具有由数据的格式定义的特定属性。然而, 尽管在上述语境中描述本发明的原理,但不是要限制,如本领域技术人员将认识到 的,下文所述的若干动作或操作也可用硬件来实现。
图1示出可用于这些设备的示例计算机架构的示意图。为了描述目的,所示 架构只是合适环境的一个示例,而不是暗示对本发明的使用范围或功能性的任何限 制。也不应将计算系统解释为对图1所示的任何一个组件或组件组合有任何依赖性 或要求。
本发明的原理可和众多其它通用或专用计算或通信环境或配置一起来运行。 适于和本发明一起使用的、众知的计算系统、环境以及配置的示例包括但不限于, 移动电话,便携式计算机,个人计算机,服务器,多处理器系统,基于微处理器的 系统,小型机,大型机,以及包括任何上述系统或设备的分布式计算环境。
在其最基本的配置中,计算系统100 —般包括至少一个处理单元102和存储 器104。存储器104可以是易失性(如RAM),非易失性(如ROM,闪存等), 或者两者的组合。该最基本配置在图1中由虚线106例示。
存储介质设备可具有附加的特征与功能性。例如,它们可包括附加的存储(可 移动和不可移动),这包括但不限于,PCMCIA卡,磁盘和光盘以及磁带。这类 附加的存储在图1中由可移动存储108和不可移动存储110例示。计算机存储介质 包括易失性和非易失性、可移动和不可移动介质,它们是以任何用于存储诸如计算 机可读指令、数据结构、程序模块或其它数据的信息的方法或技术实现的。存储器 104,可移动存储108和不可移动存储110都是计算机存储介质的示例。计算机存 储介质包括但不限于,RAM, ROM, EEPROM,闪存,其它存储技术,CD-ROM, 数字多功能盘,其它光存储,磁带盒,磁带,磁盘存储,其它磁存储设备,以及可 用于存储所需信息和能够由计算系统访问的任何其它介质。如在此使用的,术语"模块"或"组件"可指在计算系统上执行的软件对象 或例程。在此描述的不同组件、模块、引擎和服务可实现为在计算系统上执行的对 象或过程(例如作为独立的线程)。尽管在此描述的系统和方法较佳地用软件来实 现,但在软件和硬件中或者在硬件中实现也是可能和预期的。
计算系统100也可包括通信信道112,它允许主机与其它系统和设备通过例如
网络120来通信。尽管网络120可包括任何网络类型(无论是现有的或者是将来要 开发的),示例包括令牌环,以太网,蓝牙,802.11, USB, 1394, SMS, IP上的 SOAP等等。通信信道112是通信介质的示例。通信介质一般包括在经调制的数据 信号如载波或其它传输机制中的计算机可读指令,数据结构,程序模块或其它数据, 并且包括任何信息传递介质。作为示例而非限制,通信介质包括线接介质,如线接 网络和直接线连接,并包括无线介质,如声音、无线电、红外和其它无线介质。在 此使用的术语"计算机可读介质"包括存储介质和通信介质两者。
计算系统100也可具有输入组件114,如键盘,鼠标,笔,语音输入组件,触 摸输入设备等等。输出组件116包括屏幕显示器,扬声器,打印机等,以及用于驱 动它们的绘制模块(常常称为"适配器")。计算系统100具有电源118。所有这 些组件是本领域众知的且不必在此详细讨论。
尽管图1表示适于本发明的操作环境,但本发明的原理可在能够浏览网站的 任何计算系统中使用。图l所示的计算系统仅是说明性的,并且绝没有表示可实现 本发明的原理的各种各样环境的一小部分的意思。在说明书和权利要求书中,"计 算系统"被宽泛地定义为能够使用软件执行一或多个功能的任何硬件组件。计算系 统的示例包括台式计算机,膝上型计算机,个人数字助理(PDA),电话或具有处 理能力的任何其它系统或设备。
图2例示一个方法200的流程图,它以一种方式从网页定义生成网页,该方 式是在与主题相关的性质没有包括在网页定义中的情况下,较高的主题和较低的 主题使用绘制优先级来应用于网页。图3A和3B例示数据结构处理流程300。图 3A和3B的数据结构处理流程300将频繁参考图2的方法200来描述。
数据结构处理流程300包括网页文本文档301,它用作网页定义的示例。在一 个实施例中,网页文本文档是一个ASPX网页文档,尽管那不是必需的。网页定 义也可从数据库或网络服务中提取。然而,在例示的实施例中,网页定义采用网页 文本文档的形式,并且因而本发明的原理将关于网页文本文档来描述。然而,本领 域的技术人员将在审阅了本说明书后认识到,来自任何其它网页定义的网页仍保留在本发明的范围内。
网页文本文档301包括一个伪指令(directive) 310,它指示要应用的较高优 先级主题以及较高优先级的主题的名称是"Contemporary (当代)"。计算系统有 权访问多个面向较高优先级的主题的文本文档341,它们对应于该较高优先级主 题。也存在与一或多个其它较高优先级主题相关联的其它面向较高优先级的主题的 文档。在一个实施例中,所有面向较高优先级的主题的文题都位于一个共同的目录 中。该目录具有多个子目录,每一个对应一个可能的较高优先级主题。尽管多个面 向较高优先级主题的文档(特别地,文档341A至341D,以及由省略号341E所指 示的其它可能文档)被例示,但如果便利的话,可只存在一个或任何其它数量的面 向第一主题的文档。
在一些实施例中,较高优先级主题及其相关联的面向主题的文本文档用于网 页的定制。这允许定制者指定网页的特定观感,而不用关心重新编码网页文档。例 如,面向较高优先级主题的文本文档可在已经创建网页文本文档之后创建。这允许 定制者知道哪些控件对象及相关联的性质要在面向第一主题的文本文档中指定,以 对网页的观感作出希望的改变而不实际改变网页文本文档。
网页文本文档301伪指令310还指示要应用的较低优先级主题以及较低优先 级主题的名称为"outdoorstyles (户外风格)"。注意,在网页文档301中,较低 优先级主题称为样式表主题,为了将它区别于较高优先级主题。计算系统有权访问 多个面向较低优先级主题的文本文档351,它们对应于这第二主题。也可以有与一 个或多个其它较低优先级主题相关联的其它面向较低优先级主题的文档。在一个实 施例中,面向较高优先级和较低优先级主题的文档位于一共同的目录中。在其它实 施例中,面向较高优先级和较低优先级主题的文档可以们于分开的目录中。这些目 录可具有多个子目录,每一子目录用于一个较高优先级或较低优先级可能的主题。
尽管多个面向较低优先级主题的文档(特别地,文档351A至351D,以及由省略 号351E指示的可能的其它文档)被示出,但如果便利的话,则可只存在一个或任 何其它数量的面向较低优先级主题的文档。
在一些实施例中,较低优先级主题及其相关联的面向主题的文本文档在多个 网页的设计阶段被使用,并且可包括在网页设计者工具中,尽管是在运行时间应用 它们的。也有可能较高层主题及其相关联的面向主题的文本文档也包括在网页设计 者工具中。设计者可指定用于网页的通用观感,而不必担心指定的观感。特定的观 感则可在以后指定,或者通过使用较高优先级主题或者在网页文本文档中的本地定义。例如,面向较低优先级主题的文本文档可在网页文本文档之前创建。这允许设 计者能够指定通用的控件对象和关联性质,诸如背景色和字体大小,在设计阶段中 它们对于指定网页是不重要的,并且可应用于正在设计的多个网页。当为一个特定 网页创建网页文本文档时,设计者随后可添加控件对象和关联性质,它们将给出特 定网页的所需观感。
参考图2,方法200包括一个从客户计算系统接收对网页的请求的动作(动作 201)。该网页是从网页文本文档如图3A的网页文本文档301中动态生成的。与 网页文档相关联的控件对象也由计算系统生成(动作202)。在当前的面向请求/ 应答协议(诸如超文本传输协议(HTTP), 一般用于通过网络检索网页)中,经 常是响应于请求来检索网页的。然而,本发明的原理不限于应用于面向请求/应答 环境。由于某些与满足通过网络收到的任何特定请求无关的其它原因,网页可动态 地构建。
当计算系统确定对应于网页文本文档的网页要被构建时(或者响应于请求, 或者以其它方式),计算系统随后确定对应于网页文本文档的网页要应用较高优先 级主题和/或较低优先级主题(动作203)。这可通过计算系统读相应的网页文本文 档中的指令来完成。例如,对于网页文本文档301,可读并求值指令310。可替换 地,默认的规则(例如,如由配置设置所述的)可指示要应用较高优先级或较低优 先级主题。在该情形下,如果计算系统确定没有东西违反默认规则,则计算系统可 相应地确定要应用的较高优先级或较低优先级主题。如前所述,存在可用于绘制的 多个较高优先级和较低优先级主题。因此,指令或默认规则也可指定要应用的较高 优先级或较低优先级主题。
计算系统随后执行功能性的面向结果的步骤,它将较高优先级和较低优先级 主题应用于网页文本文档,而不需要网页文本文档中详细的较高优先级和较低优先 级主题信息(步骤210)。网页文本文档可被视为中间优先级文档。这可包括完成 此结果的任何相应动作。然而,在所示实施例中,步骤210包括相应的动作211 至214,动作221至223,以及动作231至234。
特别地,计算系统访问一个或多个面向较高优先级主题的文本文档,它们相 应于较高优先级主题并且共同地描述要被应用于网页文本文档的控件对象的至少 一个性质(动作2U)。在图3A中,面向主题的文本文档是由面向主题的文本文 档341表示的。以相似的方式,计算系统还访问面向一个或多个低层主题的文本文 档,它们相应于较低层主题,并且共同地描述应用于网页文档的控件对象的至少一个性质(动作231)。
面向较高优先级主题的文本文档341A和面向较低优先级主题的文档351A的 内容被例示。在两个面向主题的文档中的控件元素引用的格式如果不等同于与网页 文本文档301中用于共同类型的控件对象的控件引用的格式,则注意它们是如何相 似的。确实,在面向主题的文档中的控件对象引用的模式可与网页文本文档301 中任何给定类型的控件元素引用的模式相同。
例如,控件元素引用的模式对于每一文档包括具有"asp:"前缀的服务器端控 件元素。在其它实施例中也存在其它前缀。控件对象引用包含零或多个性质, "nmat"性质具有一个值,它指示相应的控件对象要在何处被绘制到由浏览器能 直接解释的标记语言中。在例示的实施例中,对于所有控件元素引用的"runat" 性质具有一个"server (服务器)"值,指示所有控件对象的整个绘制过程要由主 存网页的计算系统来处理,而不是由任何远程浏览器来处理。由于控件元素引用的 模式相似甚至相同,因此面向主题的文档可相当容易地通过简单的剪切和粘贴或复 制操作来构建,辅以较小的编辑来指定面向主题的属性。
计算系统随后基于一个或多个面向较高优先级主题的文本文档来生成较高优
先级主题类(动作212)。较高优先级主题类可用源代码或其它可编译指令来表示。 在一个实施例中,主题类用C来生成。较高优先级主题类随后编译成较高优先级 主题类,它可用于实例化较高优先级主题对象(动作213)。随后较高优先级主题 对象使用编译好的较高优先级主题类来实例化(动作214)。这个类生成、编译和 实例化操作在图3A中由箭头346来表示,并且导致主题控件类集306的生成。
以相似的方式,计算系统基于面向一个或多个较低优先级主题的文本文档生 成较低优先级主题类(动作232)。该主题类也可用源代码或其它可编译指令来表 示,并且可用C来生成。较低优先级主题类随后被编译成较低优先级主题类,它 可用于实例化较低优先级主题对象(动作233)。随后较低优先级主题对象使用编 译好的较低优先级主题类来实例化(动作234)。这个类生成、编译和实例化操作 在图3B中由箭头355来表示,并且导致主题控件类集307的生成。
计算系统还生成网页类,在这个类上基于网页文本文档可生成网页对象的实 例。网页类可直接从网页文档来编译。可替换地,可通过首先基于网页文本文档生 成未编译的网页类(例如,可包括源代码或其它可编译文本),然后将未编译的网 页类编译成网页类来生成网页类。接着,计算系统使用网页类来实例化网页对象(动 作222)。随后通过使用绘制优先级机制来绘制网页(即绘制成可由浏览器直接解释的 标记语言)(动作223)。绘制优先级机制指定来自较高优先级主题、网页文本文 档(中优先级)和较低优先级主题的哪些性质在绘制时要应用于网页文本文档中指
定的控件对象。绘制优先级机制将参考图4来描述,图4例示了一个绘制优先级机 制的方法400的流程图。
生成与表示第二层绘制指令的网页文本文档相关联的控件对象(动作401)。
该动作可对应于图2的动作202。例如,控件对象可由网页文本文档301来生成。 控件对象的示例包括但不限于,标签,文本框,日历等等。
接着,应用用于任何数量层的绘制指令的绘制优先级机制(动作402)。绘制 优先级机制使存在于第一层绘制指令中的、与控件对象相关联的性质始终应用于控 件对象(动作410),控件对象可包括字体大小,字体颜色等等。在第二层绘制指 令中的、与控件对象相关联的性质如果不与第一层中的性质冲突,则应用于控件对 象(动作411)。以相似的方式,在第三层绘制指令中的、与控件对象相关联的性 质如果不与第一和第二层绘制指令冲突的话,则应用于控件对象(动作412)。
在有些实施例中,存在任意数量的附加层绘制指令,它们也遭受方法400的 绘制优先级机制。例如,与第四层绘制指令相关联的性质如果不与第一、二和三层 绘制指令冲突的话,可应用于控件对象。应当注意,在权利要求中和说明书中,使 用"第一"、"第二"等等来描述绘制指令的层不是要表示任何有序的顺序,而是 用于区别不同层的优先级。在有些实施例中,与第一层相关联的性质首先被应用, 而在其它实施例中,与第一层相关联的性质可最后或者以某种其它顺序来应用。如 提到的,应用某层绘制指令的性质的顺序对于本发明的原理不是重要的。
例如,在一个三层实施例中, 一个标签的控件对象可以在网页文本文档上生 成。网页文本文档可以具有与标签对象相关联的蓝色字体颜色。此外,第一层绘制 指令可以包括与一标签控件对象相关联的红色字体颜色,而第三层绘制指令可以包 括与一标签控件对象相关联的绿色字体颜色。
当应用绘制优先级机制时,来自第三层绘制指令的绿色字体颜色可首先应用 于标签控件对象。在网页文本文档中的蓝色字体颜色随后应用于标签控件对象。由 于字体颜色冲突,因此蓝色字体颜色覆盖了绿色字体颜色。在第一层绘制指令中的 红色字体颜色随后应用于标签控件对象。在该情形中,由于字体颜色冲突,因此红 色字体颜色覆盖了蓝色字体颜色并且得到应用。
绘制优先级机制还为在某一层绘制指令中与一控件对象相关联的多个性质工作。例如,在三层实施例中,第三层绘制指令也可包括用于标签控件对象的字体大 小性质。在该情形中,字体大小性质将连同绿色字体颜色一起应用于控件对象。然 而,由于在第二和第一层中在字体大小方面没有冲突的性质,因此第三层的字体大 小得到应用。相应地,在任何层中与较高优先级层没有冲突的任何性质被应用于控 件对象。
在有些实施例中,在较低层和较高层绘制指令中存在一个控件对象的性质类 集。来自较低层绘制指令的性质可以添加到较高层的性质类集中,只要来自较低层 的性质与较高层中的性质没有冲突。例如, 一个类集可以是第二或中间层绘制指令 中的一个列表,它定义了一个性质类集,例如红色,绿色和蓝色。第三或较低层的 主题可定义一个黑色和红色的性质。该类集是这些颜色的类集的总和。在该情形中, 第三层的黑色性质被添加到第二层的红色、绿色与蓝色性质,而第三层的红色性质 没有被添加,因为它有冲突。然而,如果第一或高优先级主题定义了白色和浅红色 性质,则最终的类集是白色和浅红色,因为第一层的性质比较低层高。
在其它实施例中,可以有模板性质。模板性质是一种特殊的性质,可用于定 义内容,诸如标记或其它控件。模板的使用允许内容被应用于网页。
在有些实施例中,第二层绘制指令中的控件对象具有与其相关联的性质,它 是以这样一种方式来标记的即陈述在第一和第三层绘制指令中与控件对象相关联 的性质无法被应用于控件对象。
回到图2和3,上述第一主题控件类集306包括第一主题对象360作为它的根。 第一主题对象360包括若干派生的控件对象361至367。
例如,标签控件元素361对应于具有皮肤标识符"Sticker (滞销品)"的特定 皮肤。标签控件元素361是通过使原始的面向较高优先级主题的文本文档341A中 的控件元素引用342经历动作212至214的类生成、编译和实例化过程而生成的。 如标签控件对象引用342中所示,标签控件对象在被执行时,将绿色前景色应用于 调用"Sticker"皮肤的任何标签控件对象。
标签控件元素362不对应于任何特定皮肤。因此,标签控件元素362默认地 应用于未指定皮肤标识符或者指定了不存在的皮肤标识符的任何标签控件元素。标 签控件元素362是通过使原始的面向较高优先级主题的文本文档341A中的控件对 象引用343经历类生成、编译和实例化过程而生成的。如在标签控件对象引用343 中所示,标签控件对象在被执行时,将黑色前景色应用于标签。
文本框控件对象363不对应于任何特定的皮肤。因此,文本框控件对象363默认地应用于没有指定皮肤标识符或者指定了不存在的皮肤标识符的任何文本框
控件元素。文本框控件对象363是通过使原始的面向较高优先级主题的文本文档 341A中的控件元素引用344经历类生成、编译和实例化过程而生成的。如在文本 框控件对象引用344中所示,文本框控件对象在被执行时,将黄色背景色应用于文 本框。
文本框控件元素364对应于具有皮肤标识符为"Modem (现代)"的特定皮 肤。文本框控件对象364是通过使原始的面向较高优先级主题的文本文档中的控件 对象引用345经历类生成、编译和实例化过程而生成的。如在文本框控件对象引用 345中所示,文本框控件对象在被执行时,将红色背景色应用于任何调用"Modem"
皮肤的文本框控件对象。
日历对象365也是通过使面向较高优先级主题的文本文档341之一的相应日 历控件对象引用(未示出)经历动作212至214的类生成、编译和实例化过程而生 成的。日历对象365不对应于特定的皮肤,因而被默认地应用。
按钮对象366是通过使面向较高优先级主题的文本文档341之一的相应按钮 控件对象引用(未示出)经历类生成、编译和实例化过程而生成的,并且相应于具 有标识符为"CommandButton (共同按钮)"的皮肤。
其它对象367表示一个或多个其它控件元素对象,它们也可通过使面向较高 优先级主题的文本文档中之一的相应的一个或多个其它控件对象引用(未示出)经 历类生成、编译和实例化过程而生成。
在图2中,主题对象是在已经访问了面向较高优先级主题文档(动作211)、 生成较高优先级主题类(动作212)和编译较高优先级主题类(213)之后被实例 化的(动作214)。然而,如果主题类已经由于先前对动作211至213的执行而存 在,则不必重复动作211至213的访问、生成和编译操作。
以相似的方式,较低优先级主题控件类集307包括较低优先级主题对象370 作为它的根。较低优先级主题对象370包括若干派生的控件元素对象371至375。
例如,标签控件对象371不对应于任何特定的皮肤。因此,标签控件对象371 将默认地应用于未指定皮肤标识符或者指定了不存在的皮肤标识符的任何标签控 件元素,只要标签控件对象在较低优先级主题或网页文本文档中没有冲突的性质即 可。标签控件对象371是通过使原始的面向较低优先级主题的文本文档351A中的 控件对象引用352经历动作232至234的类生成、编译和实例化过程而生成的。如 在标签控件对象引用352中所示,在标签控件对象没有较高优先级性质的情况下,标签控件对象在被执行时,将红色前景色、加粗文本、大字体大小以及Tahoma字 体类型应用于标签。
文本框控件对象372不对应于任何特定的皮肤。因此,文本框控件元素372 默认地应用于未指定皮肤标识符或者指定了不存在的皮肤标识符的任何文本框控 件元素,只要较高优先级主题或网页文本文档中没有冲突的文本框控件对象即可。 文本框控件对象372是通过使原始的面向较低优先级主题的文本文档351A中的控 件对象引用353经历类生成、编译和实例化过程而生成的。如在文本框控件对象引 用353中所示,文本框控件对象在被执行时,在文本框控件对象没有较高优先级性 质的情况下,将绿色背景色应用于文本框。
标签控件对象373对应于具有皮肤标识符为"Validator (验证符)"的特定皮 肤。标签控件对象373是通过使原始的面向较低优先级主题的文本文档351A中的 控件对象引用354经历类生成、编译和实例化过程而生成的。如在标签控件对象引 用354中所示,标签控件元素在被执行时,将加粗文本应用于调用"Validator"皮 肤的任何标签控件元素,只要标签控件对象在较高优先级主题或网页文本文档中没 有冲突的性质即可。
日历对象374也是通过使面向较低优先级主题的文本文档351之一的相应日 历控件对象引用(未示出)经历动作232至234的类生成、编译和实例化过程而生 成的。日历对象374不对应于一特定皮肤因而默认地得到应用,只要日历控件元素 在较高优先级主题或者网页文本文档中没有冲突的性质即可。
其它对象375表示一个或多其它控件元素对象,它们也可通过使面向较低优 先级主题的文本文档之一的相应的一或多个其它控件元素引用(未示出)经历类生 成、编译和实例化过程而生成。
与较高优先级主题一样,较低优先级主题对象(动作234)是在己经访问面向 较低优先级主题文档(动作231)、生成较低优先级主题类(动作232)以及编译 较低优先级主题类(233)之后被实例化的。然而,如果主题类由于先前动作231 至233的执行而已经存在,则不必重复动作231至233的访问、生成和编译操作。
再次参考图3A,网页文本文档301可经历如由箭头318所示的动作221和222 的类生成和实例化过程,以生成包括页对象320作为其根的页控件类集302。
页对象320包括若干派生的对象,其中包括字面对象321,当被执行时,绘制 被绘制的页303的静态标记语言部分。该字面对象是通过使网页文本文档301的静 态部分312A至312F经历动作221和222的类生成和实例化过程而生成的。
19派生的标签控件元素对象322在被执行时,绘制被绘制的页303的第一标签 控件对象。第一标签控件对象322是通过使第一标签控件对象引用313经历类生成 和实例化过程而生成的。第一标签控件对象将文本"Shoe Size:(鞋尺码)"应 用于标签,并且由第一标签控件对象引用313的性质所示的标识符"input"来标 识。也要注意,第一标签控件对象引用313具有相应的皮肤标识符性质为 "Validator"。因此,当执行第一标签控件对象322以生成被绘制的网页303中的 第一标签控件对象时,较低层主题对象370的标签控件对象373将被应用于控件对 象313。在该情形中,为"Validator"的皮肤标识符性质将使文本"Shoe Size"被 加粗。第一控件对象313包括一个"font-bold = false (加粗字体=假)"性质, 它随后被应用于控件对象313。由于在网页文本文档与较低优先级主题中的性质之 间有冲突,因此网页文本文档中的性质覆盖较低优先级主题中的加粗字体性质,并 且被应用于被绘制的网页303。
第二派生的标签控件对象323在被执行时,绘制被绘制的页303的第二标签 控件对象。第二标签控件对象323是通过使标签控件对象引用314经历类生成和实 例化过程而生成的。第二标签控件对象将文本"Name:"应用于标签,并且由标签 控件对象引用314的性质所示的标识符"input"来标识。也要注意,第二标签控 件对象引用314具有相应的皮肤标识符性质为"Sticker"并且指定了蓝色前景色。 当执行第二标签控件对象323以生成被绘制的网页303中的第二标签控件对象时, 网页文档的蓝色前景色性质被应用于控件对象314。较高优先级主题对象360的标 签控件对象361随后应用于控件对象,从而将Sticker皮肤应用于控件对象。由于 在网页文本文档与较高优先级主题中的性质之间有冲突,因此在较高优先级主题中 的性质覆盖网页文本文档性质并且应用于被绘制的网页303中。
派生的文本框控件对象324在被执行时,绘制被绘制的页303的文本框控件 对象。文本框控件对象322是通过使文本框控件对象引用315经历类生成和实例化 过程而生成的。文本框控件对象引用315没有相应的皮肤标识符性质。因此,当执 行文本框控件对象324以生成被绘制的网页303中的文本框控件对象时,较低层的 控件对象372的背景色绿色性质被应用于控件对象324。较高层的控件对象364的 背景色黄色性质被应用于控件对象324。由于在较低优先级主题与较高优先级主题 中的性质之间有冲突,因此较低优先级主题中的背景色黄色性质覆盖较低优先级主 题性质并且应用于被绘制的网页303中。
第三派生的标签控件对象325在被执行时,绘制被绘制的页303的第三标签控件对象。第三标签控件对象325是通过使标签控件对象引用316经历类生成和实 例化过程而生成的。第三标签控件对象将文本"Shoes for Hikers:(徒步旅行鞋)" 应用于标签,并且由标签控件元素引用316的性质所示的标识符"11"来标识。标 签控件元素对象316没有相应的皮肤标识符性质。因此,当执行第三标签控件对象 325来生成被绘制的网页303中的第三标签控件对象时,较低优先级主题对象370 的默认标签对象371被应用。具体地,前景色红色,加粗的字体,大字体大小和字 体名称"Tahoma"性质被应用。网页文本文档301的加粗字体为假性质应用于控 件对象316。由于在较低优先级主题与网页文本文档中的性质之间有冲突,因此网 页文本文档中字体粗体为假性质覆盖较低优先级主题性质。由于在较低优先级主题 与较高优先级主题中的性质之间有冲突,因此较高优先级主题中的性质覆盖较低优 先级主题性质,并且应用于被绘制的网页303中。较高优先级主题对象362的性质 被应用。具体地,由于黑色前景色性质与较低优先级主题的红色前景色性质冲突, 因此黑色前景色覆盖并且应用于被绘制的网页303中。注意,较低优先级主题对象 370中仍有两个性质应用于被绘制的网页303,因为在较高优先级主题与网页文本 文档中没有冲突的性质。
日历控件对象326在被执行时,绘制被绘制的页303中的日历控件对象。日 历控件对象326是通过使日历控件对象引用317经历类生成和实例化过程而生成 的。日历控件对象引用317没有对应的皮肤标识符性质。因此,当执行日历控件对 象326以生成被绘制的网页303中的日历控件对象时,较高优先级主题对象360 的默认日历控件元素对象365也被执行,从而将主题应用于日历对象。默认日历控 件365的性质将具有比较低层主题对象370的默认日历控件对象374高的优先级。
其它控件对象327表示一个或多个其它控件对象,它们可基于网页文本文档 301中的其它控件对象引用来生成。
被绘制的网页303可包括来自较高优先级主题、网页文本文档以及较低优先 级主题的性质,如由图3A和3B的箭头380A与380B所示。如果网页绘制是响应 于如在动作301中的客户请求的,则被绘制的网页随后可被下载到客户机(动作 250)。
尽管在上述参考图3-5所述的示例中定义控件对象的页被示为公布的标记,但 这只是说明而不是要限制权利要求。有可能的是,网页可动态地定义控件对象并且 动态地调用要应用的主题。而且,不只是皮肤文件可应用于主题的声明。可以存在 将来增加的用于主题的其它文件或资源,如资源、主页等等。因此,主题内容不限于控件/皮肤定义。
因此,网页绘制优先级机制比现有技术具有许多优点。三层或多层绘制指令 的使用允许出于不同目的对网页的总体观感进行方便的修改。例如,在网页设计阶 段,可创建较低优先级层的绘制指令,用于指定诸如背景色和字体大小等在网页的 设计阶段不重要的性质。这可在开发相关网站时节省时间与金钱。特定的观感随后 可在中优先级层的绘制指令中指定,如具有比最低层高的优先级的网页文本文档。 此外,较高优先级层的绘制指令可在创建了各个网页文本文档之后用于定制若干相 关的网页,因而也比单独地定制每个相关网页文本文档来得节省金钱与时间。较高 优先级主题可在文字很少改变或没有改变的情况下应用于现有的网页文本文档。最 后,模板性质覆盖意味着内容可以应用于网页。因此,网页绘制机制代表了本领域 中的显著进步。
尽管已经以专用于结构特征和/或方法性动作的语言描述了本主题,但要理解, 在所附权利要求中所定义的主题不必限制于上述特定的特征和动作。相反,上述特 定的特征和动作是作为实现权利要求的示例形式而揭示的。
权利要求
1.在计算系统(100)中使用的计算机程序产品,使用在至少三层绘制指令(301,341,351)的任何一层中指定的相应绘制元素(316,343,352)绘制被显示的对象,所述计算机程序产品包括一或多个其上有结构化的计算机可执行指令的计算机可读介质,所述指令使得在由所述计算系统(100)的一或多个处理器(102)执行时,使所述计算系统(100)执行一方法,所述方法用于使所述计算系统基于所述至少三层绘制指令(301,341,351)的绘制优先级生成网页(303),所述计算机可执行指令包括用于生成与表示所述第二层绘制指令的网页定义(401)相关联的控件对象的计算机可执行指令;用于使所述至少三层的绘制指令的所述绘制优先级机制被应用的计算机可执行指令,其中所述第一层绘制指令中的与所述控件对象相关联的性质始终应用于所述控件对象(410),所述第二层绘制指令中的与所述控件对象相关联的性质如果与所述第一层绘制指令中的性质没有冲突,则被应用于所述控件对象(411),而所述第三层绘制指令中的与所述控件对象相关联的性质如果与所述第一和第二层绘制指令中的性质没有冲突,则被应用于所述控件对象(412)。
2. 如权利要求l所述的计算机程序产品,其特征在于,还包括 计算机可执行指令,用于使在第四层绘制指令中的与所述控件对象相关联的性质如果与所述第一、第二和第三层绘制指令中的性质没有冲突,则应用于所述控 件对象。
3. 如权利要求l所述的计算机程序产品,其特征在于,还包括计算机可执行指令,用于使在较低的绘制指令中的与所述控件对象相关联的 性质,在与较高层绘制指令中的与所述控件对象相关联的性质没有冲突时,被添加 到所述较高层绘制指令中的与所述控件对象相关联的性质,如果加起来的性质与最 高层绘制指令中的与所述控件对象相关联的性质没有冲突,则应用所述较低和较高 层性质之和。
4. 如权利要求l所述的计算机程序产品,其特征在于,在所述第一、第二和 第三层绘制指令中的所述性质包括模板性质。
5. 如权利要求l所述的计算机程序产品,其特征在于,代表所述第二层绘制指令的与网页定义相关联的所述控件对象具有以某种方式被标记的性质,所述方式 陈述在所述第一和第三层绘制指令中没有与所述控件对象相关联的属性可被应用 于所述控件对象。
6. 如权利要求l所述的计算机程序产品,其特征在于,所述一个或多个计算 机可读介质是物理存储器介质。
7. 如权利要求6所述的计算机程序产品,其特征在于,所述物理存储器是系统存储器或持久存储器之一。
8. —种使计算系统(100)以某种方式从网页定义(301)生成网页(303) 的方法,所述方式是较高优先级主题和较低优先级主题(310)在没有与被包括在 所述网页定义中的所述较高优先级和较低优先级主题(310)相关联的性质(316, 343, 352)的情况下被应用于所述网页,所述网页定义表示中优先级,并且引用要 被包括在所述相应的网页中的至少一个控件对象(316, 343, 352),所述计算系 统在绘制所述网页时使用绘制优先级机制(402),其中在所述较低优先级主题中 的与所述控件对象相关联的性质在与所述较高优先级主题或所述网页定义中的与 所述控件对象相关联的性质没有冲突时,应用于所述控件对象,并且在所述网页定 义中的与所述控件对象相关联的性质在与所述较高优先级主题中的与所述控件对 象相关联的性质没有冲突时,被应用于所述控件对象,所述方法包括如下确定相应于所述网页定义的所述网页要应用较高优先级主题的动作(203);访问一个或多个面向较高优先级主题的文本文档的动作(211),所述文本文 档共同地描述至少一个可被应用于所述网页定义的控件对象的较高优先级主题性 质;基于所述一个或多个面向较高优先级主题的文本文档生成较高优先级主题类 的动作(212);将所述较高优先级主题类编译成可用于实例化较高优先级主题对象的较高优 先级主题类的动作(213);使用已编译的较高优先级主题类实例化较高优先级主题对象的动作(214), 所述较高优先级主题对象包括至少一个部分,在被执行时,使所述至少一个较高优 先级主题性质在由相应于所述网页定义的网页实例调用时被应用于所述控件对象;确定相应于所述网页定义的所述网页要应用较低优先级主题的动作(203);访问一个或多个面向较低优先级主题的文本文档的动作(231),所述文本文 档共同地描述至少一个可被应用于所述网页定义的控件对象的较低优先级主题性质;基于所述一个或多个面向较低优先级主题的文本文档生成较低优先级主题类的动作(232);将所述较低优先级主题类编译成可用于实例化较低优先级主题对象的较低优先级主题类的动作(233);使用已编译的较低优先级主题类实例化较低优先级主题对象的动作(234), 所述较低优先级主题对象包括至少一个部分,在被执行时,使所述至少一个较低优 先级主题性质在由相应于所述网页定义的网页实例调用时和在满足所述绘制优先 级机制时被应用于所述控件对象;生成网页类的动作(221),在所述网页类上基于所述网页定义可生成网页对 象的实例;使用所述网页类实例化网页对象的动作(222),所述网页对象包括对所述较 高优先级主题对象的所述部分的功能调用,在被执行时,使所述至少一个较高优先 级主题性质被应用于所述控件对象,以及所述网页对象包括对所述较低优先级主题 对象的所述部分的功能调用,在被执行时,使所述至少一个较低优先级主题性质如 果在所述第一主题对象或所述网页对象中不存在被应用于所述控件对象的冲突性 质,则被应用于所述控件对象;以及通过使用所述网页绘制机制执行所述网页对象绘制具有所述控件对象的所述 网页的动作(223)。
9.如权利要求8所述的方法,其特征在于,还包括接收对第二网页的后续请求的动作;使用所述已编译的较高优先级主题类实例化第二较高优先级主题对象的动 作,所述第二较高优先级主题对象也包括至少一个部分,在被执行时,使所述至少 一个较高优先级主题性质在由相应于所述网页定义的网页实例调用时被应用于所 述控件对象。使用所述已编译的较低优先级主题类实例化所述第二较低优先级主题对象的 动作,所述第二较低优先级主题对象也包括至少一个部分,在被执行时,使所述至 少一个较低优先级主题性质在由相应于所述网页定义的网页实例调用时和在满足 所述绘制优先级机制时被应用于所述控件对象;使用所述网页类实例化第二网页对象的动作,所述第二网页对象包括对所述 第二较高优先级主题对象的所述部分的功能调用,在被执行时,使所述至少一个较高优先级主题性质被应用于所述控件对象,以及所述第二网页对象包括对所述第二 较低优先级主题对象的所述部分的功能调用,在被执行时,使所述至少一个较低优 先级主题性质如果在所述第二较高优先级主题对象或所述第二网页对象中不存在 被应用于所述控件对象的冲突性质,则被应用于所述控件对象;以及通过执行所述第二网页对象绘制具有所述控件对象的所述第二网页的动作。
10. 如权利要求8所述的方法,其特征在于,所述生成网页类的动作,在所 述网页类上基于所述网页定义可生成网页对象的实例,所述动作包括如下基于所述网页定义生成未编译的网页类的动作;以及 将所述未编译的网页类编译成所述网页类的动作。
11. 如权利要求8所述的方法,其特征在于,所述生成未编译的网页类的动 作包括如下生成定义所述未编译的网页类的源代码的动作。
12. 如权利要求8所述的方法,其特征在于,所述生成网页类的动作,在所 述网页类上可基于所述网页定义生成网页对象的实例,所述动作包括如下将所述网页文本文档直接编译成所述已编译的网页类的动作。
13. 如权利要求8所述的方法,其特征在于,还包括如下 从客户计算系统接收对所述网页的请求的动作。
14. 如权利要求8所述的方法,其特征在于,还包括如下 将所述被绘制的网页下载到客户计算系统的动作。
15. 如权利要求8所述的方法,其特征在于,所述确定相应于所述网页定义的所述网页要应用较高优先级主题或者较低优先级主题的动作包括如下 从所述网页定义读取伪指令的动作。
16. 如权利要求8所述的方法,其特征在于,默认的规则是应用较高优先级或较低优先级主题,并且所述确定相应于所述网页定义的所述网页是要应用较高优先级或者较低优先级主题的动作包括如下确定不存在违反所述默认规则的情形的动作。
17. 如权利要求16所述的方法,其特征在于,所述默认的规则基于配置设置,并且所述确定相应于所述网页定义的所述网页是要应用较高优先级或者较低优先级主题的动作包括如下读取所述配置设置的动作。
18. —种用于使计算系统(100)以某种方式从网页定义(301)生成网页(303)的方法,所述方式是将较高优先级主题和较低优先级主题(310在没有与被包括在所述网页定义中的所述较高优先级和较低优先级主题(310)相关联的性质(316, 343, 352)的情况下被应用于所述网页,所述网页定义表示中优先级,并且引用要 被包括在所述相应的网页中的至少一个控件对象(316, 343, 352),所述计算系 统在绘制所述网页时使用绘制优先级机制(402),其中在所述较低优先级主题中 的与所述控件对象相关联的性质在与所述较高优先级主题中的与所述控件对象相 关联的性质没有冲突时被应用于所述控件对象,以及在所述网页定义中的与所述控 件对象相关联的性质仅在与所述较高优先级主题中的与所述控件对象相关联的性 质没有冲突时才被应用于所述控件对象,所述方法包括如下确定相应于所述网页定义的所述网页是要应用较高优先级和较低优先级主题 的动作(203);以及在不需要所述网页定义中详细的较高优先级和较低优先级主题信息的情况下 将所述较高优先级和较低优先级主题应用于所述网页定义的步骤(210)。
19.如权利要求18所述的方法,其特征在于,所述在不需要所述网页定义中 详细的较高优先级和较低优先级主题信息的情况下将所述较高优先级和较低优先 级主题应用于所述网页定义的步骤包括如下访问一个或多个面向较高优先级主题的文本文档的动作,所述文本文档共同 地描述至少一个可被应用于所述网页定义的控件对象的较高优先级主题性质;基于所述一个或多个面向较高优先级主题的文本文档生成较高优先级主题类 的动作;将所述较高优先级主题类编译成可用于实例化较高优先级主题对象的较高优 先级主题类的动作;使用所述己编译的较高优先级主题类实例化较高优先级主题对象的动作,所 述较高优先级主题对象包括至少一个部分,在被执行时,使所述至少一个较高优先 级主题性质在由相应于所述网页定义的网页定义实例调用时被应用于所述控件对 象;确定相应于所述网页定义的所述网页是应用较低优先级主题的动作;访问一或多个面向较低优先级主题的文本文档的动作,所述文本文档共同地 描述至少一个可被应用于所述网页定义的控件对象的较低优先级主题性质;基于所述一个或多个面向较低优先级主题的文本文档生成较低优先级主题类 的动作;将所述较低优先级主题类编译成可用于实例化较低优先级主题对象的较低优 先级主题类的动作;使用所述已编译的较低优先级主题类实例化较低优先级主题对象的动作,所 述较低优先级主题对象包括至少一个部分,在被执行时,使所述至少一个较低优先 级主题性质在由相应于所述网页定义的网页实例调用时和在满足所述绘制优先级 机制时被应用于所述控件对象;生成网页类的动作,在所述网页类上可基于所述网页定义生成网页对象的实例;使用所述网页定义类实例化网页对象的动作,所述网页对象包括对所述较高 优先级主题对象的所述部分的功能调用,在被执行时,使所述至少一个较高优先级 主题性质被应用于所述控件对象,以及所述网页对象包括对所述较低优先级主题对 象的所述部分的功能调用,在被调用时,使所述至少一个较低优先级主题性质如果 在所述第一主题对象或所术网页对象中不存在要被应用于所述控件对象的冲突性 质,则被应用于所述控件对象;以及通过使用所述网页绘制机制执行所述网页对象来绘制具有所述控件对象的所 述网页的动作。
全文摘要
一种网页绘制机制,基于三或多层绘制指令的绘制优先级生成网页。生成与表示第二或中间层绘制指令的网页定义相关联的控件对象。接着,应用绘制优先级机制。绘制优先级机制使存在于第一或较高层绘制指令中的与该控件对象相关联的属性始终应用于该控件对象。在第二层绘制指令中的与该控件对象相关联的属性如果不与第一层中的属性冲突,则应用于该控件对象。以相似的方式,在第三或较低层绘制指令中的与该控件对象相关联的属性如果不与第一和第二层绘制指令中的属性冲突,则应用于该控件对象。
文档编号G06F13/00GK101495982SQ200680029290
公开日2009年7月29日 申请日期2006年7月27日 优先权日2005年8月15日
发明者S·卡尔维特, T-H·杨 申请人:微软公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1