使用外部计划主题的Web网页绘制机制的制作方法

文档序号:6407217阅读:122来源:国知局
专利名称:使用外部计划主题的Web网页绘制机制的制作方法
技术领域
本发明涉及Web网页呈现(rendering)技术,尤其涉及一种机制,其中可以对Web网页应用一主题,而不需要在Web网页定义中规定与主题相关的特定属性。
背景技术
计算技术改变了人们工作和游戏的方式。例如,带有网络、因特网激活的计算机系统或带有浏览器的设备的用户可以导航到散布在全球各处的成千上万不同Web网站。浏览涉及将Web网页请求发送到维持网站的服务器,然后从服务器接收表示Web网页的标记语言。浏览器然后使用Web网页的标记语言表示在屏幕上显示Web网页。
常规地,Web网页包括交互元素,即当呈现时,产生控制元素,使得用户能与Web网页有一定程度的交互。例如,控制元素可以包括一按钮,用户可以用鼠标进行选择以实现某些功能(例如,“go”按钮、“help”按钮、“send”按钮和“submit”按钮、“next”按钮等)。控制元素还可以是文字框,其中用户可以输入文本信息,诸如地址、电话号码、搜索项、产品名等。控制元素还可以是标签。更复杂的控制元素可以是日历,用户可以通过它选择不同的视图或输入日历或约会项而进行浏览。
有许多技术,可以将该种控制插入Web网页。一种常规的方法在图5中说明,其中Web网页文本文档501(尤其是ASPXWeb网页文档)被转换成控制集合502,该集合然后用于以浏览器可以直接解释的标记语言的形式呈现Web网页503。
在该例中,Web网页文本文档501包括对多个控制元素的引用,这些控制元素引用包括可以散布在其它用垂直椭圆511A到511E表示的静态标记语言511间的控制元素引用512到515。每个控制元素引用包括规定控制元素动作的一个或多个属性。每个控制元素引用有“runat”的属性,它带有一值,指明控制元素在服务器处要被呈现为由浏览器直接解释的标记语言。另外,控制元素引用512引用以标签控制元素,该标签控制元素带有“input”的标识符属性并带有“Name”的文本属性。控制元素引用513引用TextBox控制元素。控制元素引用514引用日历控制元素。控制元素引用515引用按钮控制元素,它带有“Go”的文本属性,并带有OnClick属性,该属性在当用户单击按钮控制元素的对应视觉表示时执行被称为“foo”的函数。函数“foo”可以是Web网页文本文档501内部或外部的。
Web网页文本文档501经由箭头515表示的语义分析和编译而进入到控制集合502。控制集合502包括多个对象类,包括主导页对象类520,在执行时(由箭头525表示)它实例化页对象,将Web网页503呈现为可以由浏览器直接解释的标记语言。为了简洁,Web网页503被说明为它最终由浏览器表示,而不是如在该阶段,把它说明为标记语言文档。
页对象类520包括几个不同的派生对象类,包括文字类521,它在实行时实例化文字对象,呈现静态标记语言部分531(如由Web网页503内的部分531A和531B表示)。页对象类520包括派生标签类522,它实例化一标签对象,在被执行时呈现Label控制元素532。页对象类520包括派生TextBox类523,它实例化一TextBox对象,在执行时呈现TextBox控制元素533。页对象类520包括派生Calendar对象类524,它实例化日历对象,在被执行时呈现Calendar控制元素534。另外,页对象类520包括派生Button对象类525,它实例化按钮对象,在被执行时它呈现Calendar控制元素535。
刚才描述的呈现技术是有优势的,因为它允许控制元素功能内的灵活性。另外,如需要可以为特定的Web网页定义进一步的控制元素。控制元素允许有影响控制元素整个外观的其它属性。例如,控制元素可以有背景颜色、前景颜色、字体大小、字体类型、文本内容、图像、模板、复杂特性等的属性。通过对不同的控制元素应用特定的属性,可以用户化Web网页的外观和感觉,且可以识别为与特定的组织或产品相关联,从而增强品牌识别。
然而,为了将类似的外观或主题应用到另一相关的Web网页上,相关的Web网页也需要带有类似属性设置的控制元素。如果需要改变这些相关Web网页的所有主题,则每个Web网页一般会需要小心地改变每个文档内的控制元素的属性而改变。这会很耗时。
相应地,一种如下的机制会很有利,即对Web网页文档应用主题的方式使得主题可以一致且更容易地被应用到多个相关文档上,且其中对主题作的改变可以更简单地被应用到所有相关的Web网页文本文档上。如果主题可以在页对象类的环境中被应用,则这会更有利,其中页对象类有一个或多个派生控制元素类,从而保持了类型灵活性、呈现控制元素的机制以及控制元素激活的对应灵活功能的优势。

发明内容
本领域内的上述问题可以通过本发明的原理而解决,本发明原理是关于Web网页呈现机制,其中一计算系统以一种方式从Web网页定义生成Web网页,使得可以对Web网页应用一主题而在Web网页定义内不需要与该主题相关的属性。
Web网页定义引用控制元素,诸如标签、按钮、文本框、日历等。在呈现过程中,确定对应Web网页定义的Web网页有一应用的主题。这可以缺省决定(例如使用配置设置)或通过检测要应用主题的指令。作为响应,访问多个面向主题的文本文档的一个。面向主题文档一起描述与控制元素相关的特性和属性,这样增强了主题期望的外观和感觉。该种属性可以包括背景颜色、前景颜色、字体大小、字体类型、图像、模板、复杂特性等,且可以为每种类型的控制元素规定。这还可以包括更复杂的动作,诸如日历显示是否以每日模式用关于天的细节经初始化,或日历显示以每周或每月模式初始化。
因此,主题类基于一个或多个面向主题的文档而生成并经编译。主题对象从该主题类被实例化。主题对象包括各部分,当被执行时,该部分导致该特定的面向主题特性对控制元素的应用。其主题特性经合适设定的控制元素然后可以在由呈现控制元素的对象实例调用时被执行。在一示例中,主题对象包括对应特定控制元素类型的派生对象。
呈现机制还基于Web网页定义生成Web网页对象。Web网页对象包括呈现控制元素的对象,这包括对将面向主题的特性应用到控制元素的主题对象的函数调用。Web网页然后通过执行Web网页类的实例而经呈现。
本发明其它的特征和优点会在以下描述中提出,一部分在描述中会很明显,或可以通过实践本发明而获知。本发明的特征和优点可以通过在所附的权利要求书内特别指出的设备和组合而实现并获得。本发明的这些或其它特征会从以下的描述和所附的权利要求书中变得充分明显,或可以通过如以下描述的实践本发明而获知。


为了描述获得本发明上述和其它优势和特征的方式,以上简要描述的本发明描述会通过参考在所附附图内说明的其特定实施例而呈现。可以理解这些附图只描述本发明的典型实施例,因此不应被认为限制其范围,本发明会通过使用附图而用附加的特定性以及细节进行描述和解释,其中图1说明可以实现本发明特征的合适的计算系统;图2根据本发明的原理说明方法的流程图,该方法用于呈现有主题的Web网页;图3根据本发明的原理说明与呈现过程相关的数据结构处理流程;图4A说明无应用主题的用户接口;图4B说明有应用主题的图4A的用户接口;以及图5根据本领域说明与呈现过程相关联的数据结构处理流程。
具体实施例方式
本发明的原理涉及Web网页呈现机制,其中计算系统从Web网页定义生成Web网页。呈现过程用特定的主题呈现控制元素,而不需要将控制元素的主题特定特性包括在Web网页定义内。而是,主题特定特性在一个或多个面向主题文本文档内描述。面向主题的文本文档被编译成主题类,而Web网页定义被编译为Web网页类。Web网页类通过与主题类的实例结合一起执行Web网页类的实例。
本发明的范围内的实施例包括用于携带或带有存储其上的计算机可执行指令或数据结构的计算机可读媒体,该种计算机可读媒体可以是任何可用的媒体,可被通用或特定用途的计算机访问。例如但不是限制,该类计算机可读媒体可以包括物理可读计算机可读介质,诸如RAM、ROM、EEPROM或其它光盘存储、磁盘存储或其它磁性存储设备或任何其它介质,可以用于携带或存储计算机可执行指令或数据结构的形式的期望的程序代码方式,且可以被通用或特定用途的计算机访问。
当信息在网络或其它的通信连接(或是硬线、无线或硬线和无线的组合)上传输或被提供给计算机时,计算机适当地将连接视为计算机可读介质。因此,任何该种连接被适当地称为计算机可读介质。以上的组合应被包括在计算机可读介质范围内。计算机可执行指令包括例如任何指令和数据,会使得通用计算机、特定用途计算机或特定用途处理设备实现一定的功能或功能组。计算机可读指令可以例如是二进制、中间格式的指令,诸如汇编语言或甚至是源代码。虽然不作要求,本发明将在计算机可执行指令的一般环境中作描述,诸如以在网络环境内由计算机执行的程序模块来描述。一般而言,程序模块包括例程、程序、对象、组件、数据结构等,它们执行特定任务或实现特定的抽象数据类型。
本领域内的技术人员可以理解,本发明可以在用多种类型的计算机系统配置的网络计算环境内实现。包括个人计算机、手持设备、多处理器系统、基于微处理器或可编程的消费品电器、网络PC、小型计算机、大型计算机等。本发明还可以在分布式计算环境中实践,其中任务通过通信网络链接(或是通过硬线链路、无线链路或硬线和无线链路的组合)的本地和远程处理设备实现。在分布式计算环境中,程序模块可以位于本地和远程的存储器存储设备内。
图1以计算机120的形式说明了本发明原理可以使用的合适的计算环境。计算机120包括处理单元121、系统存储器122以及将多个包括系统存储器122的各个系统元件耦合到处理单元121的系统总线123。
系统总线123可能是多种类型的总线类型的一种,包括存储器总线或存储器控制器、外围总线以及使用多种总线结构的任何一个的本地总线。系统存储器包括只读存储器(ROM)124以及随机访问存储器(RAM)125。基本输入/输出系统(BIOS)126可存储在ROM124内,包含帮助在计算机120内元件间传输信息的基本例行程序,诸如在启动时。
计算机120还包括从硬盘139读出和写入的硬盘驱动127,从可移动磁盘129读出和写入的磁盘驱动器128以及从可移动光盘131诸如CD ROM或其它光媒体读出或写入的光盘驱动器130。磁硬盘驱动器127、磁盘驱动器128以及光盘驱动器130是通过相应的硬盘驱动器接口132、磁盘驱动器接口133以及光盘驱动器接口134连到系统总线23的。驱动器和其相关的计算机可读介质提供计算机120的计算机指令、数据接口、程序模块和其它数据的非易失存储。虽然在此描述的示范环境使用一个硬盘139、一个可移动磁盘129以及一个可移动光盘131,本领域的技术人员可以理解在示范操作环境内还可以使用其它类型的能为计算机设备访问能存储数据的计算机可读介质,诸如磁带、闪存卡、数字视频盘、Bernoulli录音盒带、随机访问存储器、只读存储器等。
包括多个程序模块的程序代码装置可以被存储在硬盘139、磁盘129、光盘131、ROM124或RAM125上,包括操作系统135、一个或多个应用程序136、其它程序模块137以及程序数据138。用户可能在计算机120内通过诸如键盘140和指点设备142的输入设备输入命令和信息。其它输入设备(未示出)可能包括麦克风、操纵杆、游戏垫、卫星电视天线、扫描仪等。这些与其它输入设备经常通过耦合到系统总线的串行端口接口146连到处理单元121,但可能由其它接口连接,诸如并行端口、游戏端口或通用串行总线(USB)。监视器147或其它类型的显示设备还通过接口连到系统总线123,诸如视频适配器148。除了监视器外,个人计算机一般包括其它外围输出设备(在此未示出),诸如扬声器和打印机。
计算机120使用连接到一个或多个诸如远程计算机149a和149b的远程计算机的逻辑连接在网络环境内操作。远程计算机149a和149b可能一般是另一台PC、服务器、路由器、网络PC、对等设备或其它公共网络节点,且一般包括上述与计算机120相关的许多或所有元件,虽然在图1中只说明了内存存储设备150a和150b以及其相关的应用程序136a和136b。图1A内描述的逻辑连接包括本地局域网(LAN)151以及广域网(WAN)152,在此为示例而不是限制。该种网络环境在办公室、企业计算机网络、内部网和因特网内很常见。
当用于LAN网络环境内时,计算机120通过网络接口或适配器153连到本地网络151。当用于WAN网络环境时,计算机120一般包括调制解调器154、无线链接或其它在WAN152上建立通信的方法,诸如因特网。调制解调器154可能是内置或外置的,通过串行端口接口146连到系统总线123。在网络环境内,相对计算机120描述的程序模块或它的一部分,可能存储在远程存储设备内。可以理解的是示出的网络连接是示范性的且可能使用在广域网152上建立通信的其它方法。
虽然图1示出本发明的合适操作环境,本发明的原理可以在任何能浏览到网站的计算系统中使用。图1内说明的计算系统只是说明性的,且只表示各种本发明的原理可以实现的环境的一小部分。在描述和权利要求书内,“计算系统”被宽泛地定义为硬件组件或能使用软件以实现一个或多个功能的组件。计算系统的示例包括台式计算机、手提计算机、个人数字助手(PDA)、电话或任何其它有处理能力的系统或设备。
图2说明方法200的流程图,用于从Web网页定义生成Web网页,其方式使得能将主题应用于Web网页,而不需要将与主题相关的特性包括在Web网页定义内。图3说明数据结构处理流程300。图3的数据结构处理器流程300会经常参考图2的方法200加以描述。
数据结构处理流程300包括用作为Web网页定义示例的Web网页文本文档301。在一实施例中,Web网页文本文档是ASPXWeb网页文档,虽然这不是必须的。Web网页定义还可以从数据库或Web网页服务中获取。然而,在说明的实施例中,Web网页定义的形式是Web网页文本文档,因此本发明的原理会关于Web网页文本文档进行描述。然而,本领域内的技术人员在看过描述后会知道Web网页可来自任何其它Web网页定义,但仍在本发明的范围内。Web网页文本文档301包括指令310,指明要应用主题,且主题的名字为“Contemporary”。计算系统能访问对应该主题的多个面向主题的文本文档341。还可以有其它与一个或多个其它主题相关联的面向主题的文档。在一实施例中,所有面向主题的文档位于一公共目录中。该目录可以有多个子目录,每个可能的主题一个目录。虽然有许多面向面向主题的文档(特别是如椭圆341E指明的潜在的其它文档中的文档341A到341D),但可能只有一个或其它数目的面向主题的文档,看方便而定。
回到图2,方法200包括从客户计算系统接收对Web网页的请求的动作(动作201)。该Web网页动态地被从Web网页文本文档生成,诸如图3的Web网页文本文档301。在当前的而向请求/响应导向协议(诸如通常用于在网络上检取Web网页的超文本传输协议(HTTP))中,Web网页通常响应请求而被获取。然而,本发明的原理不限于在面向请求/响应的环境中的应用。Web网页可以为一些其它原因而被动态构建,这些原因与网络上接收的任何特定请求的完成无关。
当计算系统确定对应于Web网页文本文档的Web网页应被构建(或是响应于请求或是其它),计算系统然后确定对应Web网页文本文档的Web网页要有被应用的主题(动作202)。这可以通过计算系统读取在对应的Web网页文本文档内的指令而完成。例如,对于Web网页文本文档301,指令310可以被读取且经评估。或者,缺省规则(例如由配置设置指明)可以指明要应用的主题。在该情况下,如果计算系统确定没有什么与缺省规则抵触,则计算系统可以对应地确定要应用的主题。如上所述,对于呈现可能有多个主题。相应地,指令或缺省规则还可以规定要应用哪个主题。
计算系统然后实现功能、面向结果的步骤,用于将主题应用到Web网页文本文档,而不需要Web网页文本文档内的详细主题信息(步骤210)。这可以包括完成该结果的任何对应的动作。然而,在说明的实施例中,步骤210包括对应的动作211到214以及221到223。
特别是,计算系统访问对应主题的多个面向主题的文本文档的一个,这些文档集合地描述了至少一个应用到Web网页文本文档的控制元素的特性(动作211)。在图3内,面向主题的文本文档由面向主题的文本文档341表示。
说明第一面向主题的文本文档341A的内容。值得注意的是对于公共类型的控制元素,在面向主题的文档341A内的控制元素如何引用的格式类似于(如果不是相同的话)在Web网页文本文档301内的控制引用的格式。实际上,面向主题文档341A内的控制元素引用的模式对于任何给定类型可以与Web网页文本文档301的控制元素引用的模式相同。
例如,控制元素引用的模式对于每个文档,包括带有“asp”前缀的服务器侧控制元素。控制元素引用包含零个或更多的属性,“runat”属性,它带有一值,指明对应的控制元素在哪里被呈现在浏览器直接解释的标记语言内。在说明的实施例中,对于所有控制元素引用的“runat”属性有“server”的值,指明所有控制元素的整个呈现过程由主控该Web网页的计算系统处理,而不是任何远程浏览器处理。由于控制元素引用的模式类似或甚至完全相同,面向主题文档可以很简单地通过剪切、粘贴或复制操作而被构建,并经小修改以规定面向主题的特性。
计算系统然后基于一个或多个面向主题的文本文档生成主题类(动作212)。主题类可以以源代码或其它可编译的指令表示。在一实施例中,该主题类以C#生成。该主题类然后编译成可能用于实例化主题对象的主题类(动作213)。然后使用经编译的主题类实例化主题对象(动作214)。该类生成、编译以及实例化操作在图3内用箭头355表示,并导致生成主题控制集合342。
主题控制集合342包括一主题对象360作为其根。该主题对象360包括几个派生的控制元素对象361到367。
例如,标签控制元素361对应带有“Sticker”的皮肤(skin)标识符的特定皮肤。标签控制元素361的生成是通过使得原始面向主题文本文档341A内的控制元素引用351经过动作212到214的类生成、编译以及实例化过程。如在标签控制元素引用351内指明的,标签控制元素在被执行时,会对任何调用“Sticker”皮肤的标签控制元素应用一定前景颜色。
标签控制元素362不对应任何特定的皮肤。相应地,标签控制元素362缺省地被应用于任何不规定皮肤标识符或规定不存在的皮肤标识符的标签控制元素。标签控制元素362的生成是通过使得原始面向主题的文本文档341A内的控制元素引用352经过类生成、编译以及实例化过程。如在标签控制元素引用352内指明的,标签控制元素当被执行时,会对标签应用另一某种前景颜色。
TextBox控制元素363不对应任何特定的皮肤。相应地,TextBox控制元素363缺省地被应用于任何不规定皮肤标识符或规定不存在的皮肤标识符的TextBox控制元素。TextBox控制元素363的生成是通过使得原始面向主题文本文档341A内的控制元素引用353经过类生成、编译以及实例化过程。如在TextBox控制元素引用353内指明的,标签控制元素当被执行时,会对标签应用另一某种前景颜色。
TextBox控制元素364对应带有“Modern”的皮肤标识符的特定皮肤。TextBox控制元素364的生成是通过使得原始面向主题文本文档341A内的控制元素引用354经过类生成、编译以及实例化过程。如在TextBox控制元素引用354内指明的,TextBox控制元素在被执行时,会对调用“Modern”皮肤的任何TextBox控制元素应用一定的背景颜色。
Calendar对象365的生成也是通过使得一个面向主题文本文档的Calendar控制元素引用(未示出)经过动作212到214的类生成、编译以及实例化过程。Calendar对象365不对应任何特定的皮肤,因此被缺省地应用。
Button对象366的生成是通过使得一个面向主题文本文档的Button控制元素引用(未示出)经过类生成、编译以及实例化过程,并对应带有标识符为“CommandButton”的皮肤。
Other对象367表示一个或多个其它控制元素对象,它们的生成也可以通过使得一个面向主题文本文档的对应的一个或多个Other控制元素引用(未示出)经过类生成、编译以及实例化过程。
在图2内,主题对象在访问了面向主题的文档(动作211)、生成主题类(动作212)以及编译主题类(213)后,被实例化(动作214)。然而,如果主题类由于先前动作211到213的执行已经存在,则动作211到213的访问、生成以及编译操作不需要被重复。
计算系统还生成Web网页类,在其上,Web网页对象的实例可以基于Web网页文本文档而生成(动作221)。Web网页类可以直接从Web网页文档而被编译。或者,Web网页类可以通过首先基于Web网页文本文档而生成未经编译的Web网页类(例如可以包括源代码或其它可编译的文本)而生成,且然后将未经编译的Web网页类编译成Web网页类。
然后,计算系统使用Web网页类对Web网页对象进行实例化(动作222)。Web网页可以通过执行Web网页对象而经呈现(即成为可以由浏览器直接解释的标记语言)(动作223)。如果如动作201中Web网页呈现是响应客户请求,则呈现的Web网页可以下载到客户。
例如,参考图3,Web网页文本文档301可以经历动作221和222的类生成和实例化过程,如箭头315表示的,以生成包括页对象320作为其根节点的页控制集合302。
页对象320包括几个派生的对象,包括文字对象321,在被执行时,呈现页303的静态标记语言部分。该文字对象的生成是通过使得Web网页文本文档301的静态部分311A到311F经历动作221和222的类生成和实例化处理。
派生标签控制元素对象322在被执行时,呈现被呈现的页303的Label控制元素。该标签控制元素对象322的生成是通过使得Label控制元素引用312经历类生成和实例化过程。标签控制元素会将文本“Name”应用到标签,且会由标识符“input”标识,如Label控制元素引用312的属性所表示的。值得注意的是Label控制元素引用312有对应的皮肤标识符属性“Sticker”。相应地,当执行标签控制元素对象322以生成呈现的Web网页303内的Label控制元素时,主题对象360的Label控制元素对象361还会被执行,从而对Label对象应用Sticker皮肤。
派生的TextBox控制元素对象323在被执行时,呈现被呈现的页303的TextBox控制元素。TextBox控制元素对象323的生成是通过使得TextBox控制元素引用313经历类生成和实例化过程。TextBox控制元素引用313没有对应的皮肤标识符属性。相应地,当执行TextBox控制元素对象323以生成在呈现的Web网页303内的TextBox控制元素时,主题对象360的缺省TextBox控制元素对象363还会被执行,从而对Label对象应用主题。
日历控制元素对象324在被执行时,呈现被呈现的页303的日历控制元素。日历控制元素对象324的生成是通过使得日历控制元素引用314经过类生成和实例化过程。日历控制元素引用314没有对应的皮肤标识符属性。相应地,当执行日历控制元素对象324以生成在呈现的Web网页303内的日历控制元素时,主题对象360的缺省的日历控制元素对象365还会被执行,从而对日历对象应用主题。
按钮控制元素对象325在被执行时,呈现被呈现的页303的按钮控制元素。按钮控制元素对象324的生成是通过使得按钮控制元素引用315经过类生成和实例化过程。按钮控制元素引用315有对应的皮肤标识符属性“CommandButton”。相应地,当执行按钮控制元素对象325以生成在呈现的Web网页303内的按钮控制元素时,主题对象360的缺省的按钮控制元素对象365还会被执行,从而对按钮控制元素对象应用主题。
其它控制元素对象326表示一个或多个其它控制元素对象,它们可以基于Web网页文本文档301内的其它控制元素引用而生成。例如,图像控制元素引用316指明在Web网页内某处使用图像。图像控制元素引用316标识“LogoImage”的皮肤。相应地,在一个面向主题文档341内有对应的主题控制元素引用。对应的主题控制元素引用会是图像控制元素引用,且会表示特定的图像文件以为图像控制元素呈现。该图像例如可能是标识语。
当Web网页对象320如在动作223内被执行时,每个控制元素会通过执行页对象的对应控制元素以及面向主题文档的对应主题控制元素对象而被呈现。这样,多个Web网页的公共主题可以简单地通过改变面向主题文档的单个集合而被改变。而且,面向主题文档可以很容易地并直觉地经生成,因为面向主题文本文档内地控制元素引用可以使用一模式,该模式与特定控制元素类型的Web网页文本文档内的控制元素引用的模式相同。
本发明的原理还可以进一步通过使用生成特定用户接口的特定示例而被说明。
图4A说明没有应用主题的用户接口。用户接口可以通过实现与Web网页文本文档相关的上述过程而经生成。特定Web网页文本文档如下提出
<form runat=“server”>
<aspImage runat=“server”SkinId=“LogoImage”/><br>
<b>Search Page</b><br>
Search query<aspTextBox runat=“server”id=“SearchEdit”/><br>
<aspButton runat=“server”id=“GoButton”SkinID=”CommandButton”Text=“Go”/>
<aspButton runat=“server”id=“HelpButton”Text=“Help”/>
</form>
虽然皮肤标识符被包括在多个控制元素内,在该情况下,没有可用的面向主题文档,且图4A的用户接口反映了完全是无主题的色调。
现在假设以下的面向主题文档可供使用,并对应由Web网页文本文档应用的主题(加入行号以更清楚)1.<aspImage runat=“server”SkinID=“LogoImage”ImageURL=“ABC.gif”/>
2.<aspTextBox runat=“server”id=“SearchEdit”BackColor=“#eeeeee”/><br>
3.<aspButton runat=“server”SkinID=“CommandButton”BackColor=”#006699”ForeColor=“#ffffff”Font-Name=“Arial”Font-Size=“10pt”/>
4.<aspButton runat=“server”BackColor=“#cccecc”ForeColor=“#000000”Font-Name=“Arial”Font-Size=“10pt”/>
图4B说明当有该面向主题的文档时的图4A的用户接口。值得注意的是标识语现在如何被应用,由于现在Web网页文本文档内的图像控制元素根据面向主题文本文档内的行1的图像控制元素引用现在被呈现。而且,TextBox和Button控制元素的外观和感觉类似地被改变了,因为它们是根据面向主题文本文档的对应控制元素引用而被呈现的。
本发明可以以其它特定的形式而实现,而不偏离其精神或基本特征。描述的实施例仅被认为是说明性的,且不是限制性的。本发明的范围因此有以下的权利要求书指明,而不是以上的描述。权利要求书的等价体的意义和范围内的所有改变被包括在其范围内。
权利要求
1.一种用于从Web网页定义生成Web网页的计算系统的方法,其方式为对Web网页应用主题而不需要将与主题相关的属性包括在Web网页定义内,Web网页定义引用(reference)至少一个要包括在对应的Web网页内的控制元素,该方法包括以下一动作确定对应Web网页定义的Web网页有应用的主题;一动作访问对应主题的多个面向主题文本文档的一个,且这些文档集体地描述要应用到Web网页定义的控制元素的至少一个特性;一动作基于一个或多个面向主题的文本文档生成主题类;一动作将主题类编译为可以用于实例化主题对象的主题类;一动作使用经编译的主题类实例化主题对象,主题对象包括至少一部分,在被执行时,当被对应于Web网页定义的Web网页实例调用时,该部分使得至少一个属性被应用到控制元素上;一动作生成Web网页类,在其上,可以基于Web网页定义生成Web网页对象的实例;一动作使用Web网页类实例化Web网页对象,Web网页对象包括对主题对象部分的函数调用,当执行该调用时,使得对控制元素应用至少一个特性;以及一动作通过执行Web网页对象而呈现具有控制元素的Web网页。
2.如权利要求1所述的方法,其特征在于主题对象是第一主题对象,且其中Web网页对象是第一Web网页对象,方法进一步包括以下一动作接收对Web网页的顺序请求;一动作使用经编译的主题类实例化第二主题对象,第二主题对象还包括至少一部分,在被执行时,当为对应于Web网页定义的Web网页文档调用时,该部分使得至少一个特性被应用于控制元素;一动作使用Web网页类实例化第二Web网页对象,第二Web网页对象包括对主题对象的部分的函数调用,当执行调用时,使得至少一个特性被应用于控制元素;以及一动作通过执行Web网页对象而呈现具有控制元素的呈现Web网页。
3.如权利要求1所述的方法,其特征在于生成Web网页类,根据此Web网页类,可以基于Web网页定义生成Web网页对象的实例的动作包括以下一动作基于Web网页定义生成未经编译的Web网页类;一动作将未经编译的Web网页类编译成Web网页类。
4.如权利要求3所述的方法,其特征在于生成未经编译的Web网页类的动作包括以下一动作生成定义未经编译的Web网页类的源代码。
5.如权利要求1所述的方法,其特征在于生成Web网页类,据此,可以基于Web网页定义生成Web网页对象的实例的动作包括以下一动作将Web网页文本文档直接编译成经编译的Web网页类。
6.如权利要求1所述的方法,其特征在于主题对象的部分从对一个或多个面向主题文本文档内的特定类型的控制元素的引用而生成。
7.如权利要求6所述的方法,其特征在于对一个或多个面向主题文本文档内的特定类型的控制元素的引用与对Web网页定义内的至少一个控制元素的引用的模式一样,其中至少一个控制元素是特定类型。
8.如权利要求1所述的方法,其特征在于还包括以下一动作从客户计算系统接收对Web网页的请求。
9.如权利要求8所述的方法,其特征在于还包括以下一动作将呈现的Web网页下载到客户计算系统。
10.如权利要求1所述的方法,其特征在于还包括一动作将呈现的Web网页下载到客户计算系统。
11.如权利要求1所述的方法,其特征在于确定对应于Web网页定义的Web网页要有应用的主题的动作包括以下一动作从Web网页定义中读出指令。
12.如权利要求1所述的方法,其特征在于缺省规则是应用主题,其中确定对应于Web网页定义的Web网页要有应用的主题的动作包括以下一动作确定没有与缺省规则抵触的东西。
13.如权利要求12所述的方法,其特征在于缺省规则基于配置设置,其中确定对应于Web网页定义的Web网页要有应用的主题的动作包括以下一动作读取配置设置.
14.如权利要求1所述的方法,其特征在于主题对象包括第一主题控制元素对象,当被执行时,使得至少第一特性被应用到至少第一控制元素类型的一个或多个控制元素上。
15.如权利要求14所述的方法,其特征在于控制元素是第一控制元素类型的第一控制元素,且其中Web网页对象包括第一控制元素对象,当该控制元素对象被执行时,导致呈现第一控制元素。
16.如权利要求15所述的方法,其特征在于通过执行Web网页对象呈现具有控制元素的Web网页的动作包括一动作通过执行第一控制元素控制和第一主题控制元素对象呈现第一控制元素。
17.如权利要求16所述的方法,其特征在于主题对象包括第二主题控制元素对象,当该控制元素对象被执行时,使得至少第一特性被应用到至少第二控制元素类型的一个或多个控制元素。
18.如权利要求16所述的方法,其特征在于Web网页对象进一步包括第二控制元素对象,当该控制元素对象被执行时,导致呈现第二控制元素。
19.如权利要求18所述的方法,其特征在于通过执行Web网页对象呈现具有控制元素的Web网页的动作包括以下一动作通过执行第二控制元素对象和第二主题控制元素对象而呈现第二控制元素。
20.一种计算机程序产品,用于实现一种用于从Web网页定义生成Web网页的计算系统的方法,其方式为对Web网页应用主题而不需要将与主题相关的属性包括在Web网页定义内,Web网页定义引用至少一个要包括在对应的Web网页内的控制元素,计算机程序产品包括一个或多个计算机可读媒体,其上有计算机可执行指令,当由计算系统处的一个或多个处理器执行时,使得计算系统实现所述方法,所述方法包括以下一动作确定对应于Web网页定义的Web网页要有应用的主题;一动作访问对应主题的多个面向主题文本文档的一个,所述文档集体地描述了要应用到Web网页定义的控制元素的至少一个特性;一动作基于一个或多个面向主题的文本文档生成主题类;一动作将主题类编译成为可以用于实例化主题对象的主题类;一动作使用经编译的主题类实例化主题对象,主题对象包括至少一部分,该部分当被执行时,当为对应于Web网页定义的Web网页实例调用时使得至少一个特性被应用于控制元素;一动作生成Web网页类,据此可以基于Web网页定义生成Web网页对象的实例;一动作使用Web网页类实例化Web网页对象,Web网页对象包括对主题对象部分的函数调用,当执行该调用时,使得对控制元素应用至少一个特性;以及一动作通过执行Web网页对象呈现具有控制元素的Web网页。
21.如权利要求20所述的计算机程序产品,其特征在于主题对象是第一主题对象,且其中Web网页对象是第一Web网页对象,其中一个或多个计算机可读媒体进一步在其上有计算机可执行指令,当由一个或多个处理器执行时,引起计算系统实现以下一动作接收对Web网页的顺序请求;一动作使用经编译的主题类实例化第二主题对象,第二主题对象还包括至少一部分,在被执行时,当被对应于Web网页定义的Web网页文档调用时,该部分使得至少一个特性被应用于控制元素;一动作使用Web网页类实例化第二Web网页对象,第二Web网页对象包括对主题对象的部分的函数调用,当执行调用时,使得至少一个特性被应用于控制元素;以及一动作通过执行Web网页对象呈现具有控制元素的Web网页。
22.如权利要求20所述的计算机程序产品,其特征在于主题对象的部分从对一个或多个面向主题文本文档内的特定类型的控制元素的引用而生成。
23.如权利要求22所述的计算机程序产品,其特征在于对一个或多个面向主题文本文档内的特定类型的控制元素的引用与对Web网页定义内的至少一个控制元素的引用的模式一样,其中至少一个控制元素具有特定类型。
24.如权利要求20所述的计算机程序产品,其特征在于一个或多个计算机可读媒体进一步在其上还包括计算机可执行指令,当由一个或多个处理器执行时,引起计算系统实现以下一动作从客户计算系统接收对Web网页的请求。
25.如权利要求24所述的计算机程序产品,其特征在于一个或多个计算机可读媒体进一步在其上还包括计算机可执行指令,当由一个或多个处理器执行时,引起计算系统实现以下一动作将呈现的Web网页下载到客户计算系统。
26.如权利要求20所述的计算机程序产品,其特征在于一个或多个计算机可读媒体进一步在其上还包括计算机可执行指令,当由一个或多个处理器执行时,引起计算系统实现以下一动作将呈现的Web网页下载到客户计算系统。
27.如权利要求20所述的计算机程序产品,其特征在于确定对应于Web网页定义的Web网页要有应用的主题的动作包括以下一动作从Web网页定义中读出指令。
28.如权利要求20所述的计算机程序产品,其特征在于缺省规则是应用主题,其中确定对应于Web网页定义的Web网页要有应用的主题的动作包括以下一动作确定没有与缺省规则抵触的东西。
29.如权利要求28所述的计算机程序产品,其特征在于缺省规则基于配置设置,其中确定对应于Web网页定义的Web网页要有应用的主题的动作包括以下一动作读取配置设置.
30.如权利要求20所述的计算机程序产品,其特征在于主题对象包括第一主题控制元素对象,当被执行时,使得至少第一特性被应用到至少第一控制元素类型的一个或多个控制元素上。
31.如权利要求30所述的计算机程序产品,其特征在于控制元素是第一控制元素类型的第一控制元素,且其中Web网页对象包括第一控制元素对象,当执行该对象时,导致呈现第一控制元素。
32.如权利要求31所述的计算机程序产品,其特征在于通过执行Web网页对象呈现具有控制元素的Web网页的动作包括一动作通过执行第一控制元素控制和第一主题控制元素对象呈现第一控制元素。
33.如权利要求32所述的计算机程序产品,其特征在于主题对象包括第二主题控制元素对象,当被执行时,使得至少第一特性应用到至少第二控制元素类型的一个或多个控制元素。
34.如权利要求33所述的计算机程序产品,其特征在于Web网页对象进一步包括第二控制元素对象,当被执行时,导致呈现第二控制元素。
35.如权利要求34所述的计算机程序产品,其特征在于通过执行Web网页对象呈现具有控制元素的Web网页的动作包括以下一动作通过执行第二控制元素对象和第二主题控制元素对象呈现第二控制元素。
36.如权利要求20所述的计算机程序产品,其特征在于一个或多个计算机可读媒体为物理存储器媒体。
37.如权利要求36所述的计算机程序产品,其特征在于物理存储器媒体是系统存储器。
38.如权利要求36所述的计算机程序产品,其特征在于物理存储器媒体是持久的存储器。
39.一种用于从Web网页定义生成Web网页的计算系统的方法,其方式为对Web网页应用主题而不需要将与主题相关的属性包括在Web网页定义内,Web网页定义引用至少一个要包括在对应的Web网页内的控制元素,该方法包括以下一动作确定对应于Web网页定义的Web网页有应用的主题;一步骤将主题应用到Web网页定义,而不需要在Web网页定义内有详细的主题信息。
40.如权利要求39所述的方法,其特征在于将主题应用到Web网页定义,而不需要在Web网页定义内有详细主题信息包括以下一动作访问对应于主题的多个面向主题文本文档的一个,且这些文档集体地描述了要应用到Web网页定义的控制元素的至少一个特性;一动作基于一个或多个面向主题的文本文档生成主题类;一动作将主题类编译为可以用于实例化主题对象的主题类;一动作使用经编译的主题类实例化主题对象,主题对象包括至少一部分,当该部分被执行时,当被对应于Web网页定义的Web网页实例调用时,该部分使得至少一个属性被应用到控制元素上;一动作生成Web网页类,根据该Web网页类,可以基于Web网页定义生成Web网页对象的实例;一动作使用Web网页类实例化Web网页对象,Web网页对象包括对主题对象部分的函数调用,当执行该调用时,使得对控制元素应用至少一个特性;以及一动作通过执行Web网页对象呈现具有控制元素的Web网页。
全文摘要
一种Web网页呈现(rendering)机制,其中计算系统从Web网页定义生成Web网页。Web网页类从Web网页定义中被编译。主题(theme)特定的特性与被编译成主题类的面向主题文本文档内的Web网页定义分开描述。Web网页通过结合主题类的实例一起执行Web网页类的实例而被呈现。Web网页对象可以包括每个要被呈现的控制元素的对象。另外,主题对象可以包括每个控制元素类型的控制元素的对象。当呈现特定类型的控制元素时,对应该控制元素的对象从Web网页对象被执行。另外,对应于控制元素类型的对象从主题对象中执行。
文档编号G06F17/21GK1573749SQ20041004893
公开日2005年2月2日 申请日期2004年6月11日 优先权日2003年6月13日
发明者S·S·尼约吉, T·-H·杨, D·S·艾伯, S·D·古斯里, R·M·海华德, J·K·克罗尼 申请人:微软公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1