專利名稱:網(wǎng)頁繪制優(yōu)先級機制的制作方法
網(wǎng)頁繪制優(yōu)先級機制
背景技術(shù):
計算技術(shù)己經(jīng)改變了工作與娛樂的方式。例如,具有支持網(wǎng)絡(luò)或因特網(wǎng)的計 算系統(tǒng)或帶瀏覽器的設(shè)備的用戶可導(dǎo)航到遍布全球的成千上萬的不同網(wǎng)站。導(dǎo)航包 括發(fā)送網(wǎng)頁請求到維護網(wǎng)站的服務(wù)器,并且隨后從該服務(wù)器接收表示網(wǎng)頁的標(biāo)記語 言。瀏覽器隨后使用網(wǎng)頁的標(biāo)記語言表示在屏幕上顯示網(wǎng)頁。
常規(guī)地,網(wǎng)頁包括交互元素,當(dāng)在控件元素中呈現(xiàn)結(jié)果時,允許用戶具有某 種程度與網(wǎng)頁交互的能力。例如,控件元素可包括一個按鈕,用戶可用鼠標(biāo)選擇它 來執(zhí)行某種功能(例如,"前進"按鈕,"幫助"按鈕,"發(fā)送"按鈕,"提交" 按鈕,"下一個"按鈕等等)??丶匾部梢允且粋€文本框,用戶可以輸入文本 信息,如地址,電話號碼,搜索項,產(chǎn)品名等等??丶匾部梢允且粋€標(biāo)簽。更 復(fù)雜的控件元素可以是一個日歷,用戶通過它選擇各種視圖或者輸入日歷或約會條 目來導(dǎo)航。
很多技術(shù)支持將這類控件插入到網(wǎng)頁中。 一個常規(guī)的方法相關(guān)于圖5示出, 其中網(wǎng)頁文本文檔501 (特別地,ASPX網(wǎng)頁文檔)被轉(zhuǎn)換成控件類集(collection) 502,后者隨后用于以標(biāo)記語言(例如超文本標(biāo)記語言)的形式來繪制(render) 網(wǎng)頁503,標(biāo)記語言由瀏覽器直接解釋。
在此例中,網(wǎng)頁文本文檔501包括對許多控件元素的引用,這些控件元素包 括控件元素引用512至515,它們散布在其它靜態(tài)標(biāo)記語言511之間,如由垂直省 略號511A至511E所表示的。每一個控件元素引用包括一個或多個屬性,它們指
定控件元素的行為。每一個控件元素引用具有一個"nmat (在...處運行)"屬性, 它具有一個值,指示該控件元素要在服務(wù)器上被繪制為可由瀏覽器直接解釋的標(biāo)記
語言。而且,控件元素引用512引用一個標(biāo)簽控件元素,它具有一個標(biāo)識符屬性 "i叩ut (輸入)",并具有一個文本屬性"Name:(名稱)"。控件元素引用513 引用一個TextBox(文本框)控件元素。控件元素引用514引用一個日歷控件元素。 控件元素引用515引用一個按鈕控件元素,它具有文本屬性"Go (去)",并具 有能導(dǎo)致一個稱為"foo ()"的功能的OnClick (在...上點擊)屬性,當(dāng)用戶在該按鈕控件元素的相應(yīng)可視表示上點擊時,執(zhí)行該"foo"功能。功能"fo0"可以在 網(wǎng)頁文本文檔501的內(nèi)部或外部。
網(wǎng)頁文本文檔501按箭頭515所示被語法分析并編譯成控件類集502??丶?集502包括許多對象類,其中包括全部頁對象類520,它實例化頁對象,當(dāng)執(zhí)行頁 對象時(如由箭頭525所示),將網(wǎng)頁503繪制為可由瀏覽器直接解釋的標(biāo)記語言。 為了清楚,示出的網(wǎng)頁503最終由瀏覽器呈現(xiàn),而非在此階段,即標(biāo)記語言文檔。
頁對象類520包括若干派生的對象類,其中包括字面類521,它實例化字面對 象,當(dāng)被執(zhí)行時,繪制靜態(tài)標(biāo)記語言部分531 (如由網(wǎng)頁503中531A和531B部 分所示)。頁對象類520包括派生的標(biāo)簽類522,它實例標(biāo)簽對象,當(dāng)被執(zhí)行時, 繪制標(biāo)簽控件元素532。頁對象類520包括派生的文本框類523,它實例化文本框 對象,當(dāng)被執(zhí)行時,繪制文本框控件元素533。頁對象類520包括派生的日歷對象 類524,它實例化日歷對象,當(dāng)被執(zhí)行時,繪制日歷控件元素534。而且,頁對象 類520包括派生的按鈕對象類525,它實例化按鈕對象,當(dāng)被執(zhí)行時,繪制按鈕控 件元素535。
剛才所述的繪制技術(shù)其好處在于,它在控件元素的功能性方面提供了靈活性。 另外,更多的控件元素可按特定網(wǎng)頁所需來定義??丶卦试S更多屬性來影響控 件元素的總體外觀。例如,控件元素可具有用于背景色、前景色、字體大小、字體 類型、文本內(nèi)容、圖像、模板、復(fù)合性質(zhì)等的屬性。通過將特定的屬性應(yīng)用于各種 控件元素,可指定網(wǎng)頁的觀感,并且甚至可使網(wǎng)頁變成可被認(rèn)出是與一特定組織或 產(chǎn)品相關(guān)聯(lián)的,從而增強了品牌認(rèn)知。
然而,在若干相關(guān)網(wǎng)頁的設(shè)計階段,指定每個網(wǎng)頁的特定觀感是相當(dāng)耗時的。 而且,如果在設(shè)計了若干相關(guān)網(wǎng)頁之后的希望定制它們的總體觀感,則每個網(wǎng)頁一 般不得不通過小心翼翼地改變每個網(wǎng)頁文本文檔中的控件元素的屬性來改變。
發(fā)明內(nèi)容
提供本概要以簡化的形式介紹一些在下面具體實施方式
中要進一步詳細(xì)描述 的概念中所選的一些。本概要不是要標(biāo)識所要求保護的主題的關(guān)鍵特征或基本特 征,也不是要用于幫助確定所要求保護的主題的范圍。
在此描述了一種網(wǎng)頁繪制機制,它基于三層或多層繪制指令來生成網(wǎng)頁。繪 制機制基于三層或多層繪制指令的繪制優(yōu)先級來生成網(wǎng)頁。
產(chǎn)生與表示第二或中間層繪制指令的網(wǎng)頁定義相關(guān)聯(lián)的控件對象。控件對象的例子包括但不限于標(biāo)簽,文本框,日歷等等。
接著,應(yīng)用第一、第二和第三層繪制指令的繪制優(yōu)先級機制。繪制優(yōu)先級機 制使存在于第一或更高層繪制指令中的與控件對象相關(guān)聯(lián)的性質(zhì)始終應(yīng)用于控件 對象,這些性質(zhì)包括字體大小,字體顏色等等。在第二層繪制指令中的與控件對象 相關(guān)聯(lián)的性質(zhì)如果不與第一層中的性質(zhì)沖突,則應(yīng)用于控件對象。以相似方式,在 第三或較低層繪制指令中的與控件對象相關(guān)聯(lián)的性質(zhì)如果不與第一或第二層繪制 指令中的性質(zhì)沖突,則應(yīng)用于控件對象。
附加的特征和優(yōu)點將在后面的描述中闡述,并且部分地將通過描述而顯見, 或者可通過實踐本發(fā)明習(xí)得。借助于所附權(quán)利要求中特別指出的指示和組合,這些 特征和優(yōu)點可被認(rèn)識和獲得。這些和其它特征將通過下列描述和所附權(quán)利要求而變 得更加顯而易見,或者可通過實踐下文所述的本發(fā)明習(xí)得。
為進一步闡明本發(fā)明的上述和其它優(yōu)點與特征,將通過參考在附圖中例示的 特定實施例來提供本發(fā)明的更具體描述。要認(rèn)識到,這些附圖只是描繪本發(fā)明的典 型實施例,并且因此不會限制本發(fā)明的范圍。通過使用下列附圖并結(jié)合附加的特性 與細(xì)節(jié)來描述和說明本發(fā)明。
圖1例示在其中可實現(xiàn)本發(fā)明原理的合適的計算系統(tǒng);
圖2例示使用網(wǎng)頁繪制優(yōu)先級產(chǎn)生網(wǎng)頁的方法的流程圖3A和3B例示與圖2相關(guān)聯(lián)的數(shù)據(jù)結(jié)構(gòu)處理流程;
圖4例示繪制優(yōu)先級機制的流程圖;以及
圖5例示根據(jù)現(xiàn)有技術(shù)的與繪制過程相關(guān)聯(lián)的數(shù)據(jù)結(jié)構(gòu)處理流程。
具體實施例方式
在此描述網(wǎng)頁繪制機制,它基于三層或多層繪制指令的繪制優(yōu)先級來生成網(wǎng) 頁。生成與表示第二層或中間層繪制指令的網(wǎng)頁定義相關(guān)聯(lián)的控件對象。接著,應(yīng) 用繪制優(yōu)先級機制。繪制優(yōu)先級機制使存在于第一或較高層繪制指令中的與控件對 象相關(guān)聯(lián)的性質(zhì)始終應(yīng)用于控件對象。第二層繪制指令中的與控件對象相關(guān)聯(lián)的性 質(zhì),如果不與第一層中的性質(zhì)沖突,則應(yīng)用于控件對象。以相似的方式,第三層或 較低層繪制指令中的與控件對象相關(guān)聯(lián)的性質(zhì),如果不與第一或第二層繪制指令中 的性質(zhì)沖突,則應(yīng)用于控件對象。轉(zhuǎn)到附圖,其中相似的參考數(shù)字引用相似的元素,本發(fā)明的原理例示為在一 個合適的計算環(huán)境中實現(xiàn)。下列描述基于所示的本發(fā)明實施例,并且不應(yīng)將本發(fā)明 限制在未在這里明確描述的替換實施例。
在下列描述中,本發(fā)明的實施例是參考由一或多個計算機執(zhí)行的動作和操作 的符號表示來描述,除非另有說明。因此,將理解這樣的動作和操作(它們有時稱 為是計算機執(zhí)行的)包括由以結(jié)構(gòu)化形式表示數(shù)據(jù)的電信號的計算機的處理單元的
控制。這種控制變換數(shù)據(jù)或者將它們保存在計算機的存儲器系統(tǒng)中的存儲單元中, 它們以本領(lǐng)域技術(shù)人員很好理解的方式重新配置或者改變計算機的操作。保存數(shù)據(jù) 的數(shù)據(jù)結(jié)構(gòu)是存儲器的物理單元,它們具有由數(shù)據(jù)的格式定義的特定屬性。然而, 盡管在上述語境中描述本發(fā)明的原理,但不是要限制,如本領(lǐng)域技術(shù)人員將認(rèn)識到 的,下文所述的若干動作或操作也可用硬件來實現(xiàn)。
圖1示出可用于這些設(shè)備的示例計算機架構(gòu)的示意圖。為了描述目的,所示 架構(gòu)只是合適環(huán)境的一個示例,而不是暗示對本發(fā)明的使用范圍或功能性的任何限 制。也不應(yīng)將計算系統(tǒng)解釋為對圖1所示的任何一個組件或組件組合有任何依賴性 或要求。
本發(fā)明的原理可和眾多其它通用或?qū)S糜嬎慊蛲ㄐ怒h(huán)境或配置一起來運行。 適于和本發(fā)明一起使用的、眾知的計算系統(tǒng)、環(huán)境以及配置的示例包括但不限于, 移動電話,便攜式計算機,個人計算機,服務(wù)器,多處理器系統(tǒng),基于微處理器的 系統(tǒng),小型機,大型機,以及包括任何上述系統(tǒng)或設(shè)備的分布式計算環(huán)境。
在其最基本的配置中,計算系統(tǒng)100 —般包括至少一個處理單元102和存儲 器104。存儲器104可以是易失性(如RAM),非易失性(如ROM,閃存等), 或者兩者的組合。該最基本配置在圖1中由虛線106例示。
存儲介質(zhì)設(shè)備可具有附加的特征與功能性。例如,它們可包括附加的存儲(可 移動和不可移動),這包括但不限于,PCMCIA卡,磁盤和光盤以及磁帶。這類 附加的存儲在圖1中由可移動存儲108和不可移動存儲110例示。計算機存儲介質(zhì) 包括易失性和非易失性、可移動和不可移動介質(zhì),它們是以任何用于存儲諸如計算 機可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊或其它數(shù)據(jù)的信息的方法或技術(shù)實現(xiàn)的。存儲器 104,可移動存儲108和不可移動存儲110都是計算機存儲介質(zhì)的示例。計算機存 儲介質(zhì)包括但不限于,RAM, ROM, EEPROM,閃存,其它存儲技術(shù),CD-ROM, 數(shù)字多功能盤,其它光存儲,磁帶盒,磁帶,磁盤存儲,其它磁存儲設(shè)備,以及可 用于存儲所需信息和能夠由計算系統(tǒng)訪問的任何其它介質(zhì)。如在此使用的,術(shù)語"模塊"或"組件"可指在計算系統(tǒng)上執(zhí)行的軟件對象 或例程。在此描述的不同組件、模塊、引擎和服務(wù)可實現(xiàn)為在計算系統(tǒng)上執(zhí)行的對 象或過程(例如作為獨立的線程)。盡管在此描述的系統(tǒng)和方法較佳地用軟件來實 現(xiàn),但在軟件和硬件中或者在硬件中實現(xiàn)也是可能和預(yù)期的。
計算系統(tǒng)100也可包括通信信道112,它允許主機與其它系統(tǒng)和設(shè)備通過例如
網(wǎng)絡(luò)120來通信。盡管網(wǎng)絡(luò)120可包括任何網(wǎng)絡(luò)類型(無論是現(xiàn)有的或者是將來要 開發(fā)的),示例包括令牌環(huán),以太網(wǎng),藍(lán)牙,802.11, USB, 1394, SMS, IP上的 SOAP等等。通信信道112是通信介質(zhì)的示例。通信介質(zhì)一般包括在經(jīng)調(diào)制的數(shù)據(jù) 信號如載波或其它傳輸機制中的計算機可讀指令,數(shù)據(jù)結(jié)構(gòu),程序模塊或其它數(shù)據(jù), 并且包括任何信息傳遞介質(zhì)。作為示例而非限制,通信介質(zhì)包括線接介質(zhì),如線接 網(wǎng)絡(luò)和直接線連接,并包括無線介質(zhì),如聲音、無線電、紅外和其它無線介質(zhì)。在 此使用的術(shù)語"計算機可讀介質(zhì)"包括存儲介質(zhì)和通信介質(zhì)兩者。
計算系統(tǒng)100也可具有輸入組件114,如鍵盤,鼠標(biāo),筆,語音輸入組件,觸 摸輸入設(shè)備等等。輸出組件116包括屏幕顯示器,揚聲器,打印機等,以及用于驅(qū) 動它們的繪制模塊(常常稱為"適配器")。計算系統(tǒng)100具有電源118。所有這 些組件是本領(lǐng)域眾知的且不必在此詳細(xì)討論。
盡管圖1表示適于本發(fā)明的操作環(huán)境,但本發(fā)明的原理可在能夠瀏覽網(wǎng)站的 任何計算系統(tǒng)中使用。圖l所示的計算系統(tǒng)僅是說明性的,并且絕沒有表示可實現(xiàn) 本發(fā)明的原理的各種各樣環(huán)境的一小部分的意思。在說明書和權(quán)利要求書中,"計 算系統(tǒng)"被寬泛地定義為能夠使用軟件執(zhí)行一或多個功能的任何硬件組件。計算系 統(tǒng)的示例包括臺式計算機,膝上型計算機,個人數(shù)字助理(PDA),電話或具有處 理能力的任何其它系統(tǒng)或設(shè)備。
圖2例示一個方法200的流程圖,它以一種方式從網(wǎng)頁定義生成網(wǎng)頁,該方 式是在與主題相關(guān)的性質(zhì)沒有包括在網(wǎng)頁定義中的情況下,較高的主題和較低的 主題使用繪制優(yōu)先級來應(yīng)用于網(wǎng)頁。圖3A和3B例示數(shù)據(jù)結(jié)構(gòu)處理流程300。圖 3A和3B的數(shù)據(jù)結(jié)構(gòu)處理流程300將頻繁參考圖2的方法200來描述。
數(shù)據(jù)結(jié)構(gòu)處理流程300包括網(wǎng)頁文本文檔301,它用作網(wǎng)頁定義的示例。在一 個實施例中,網(wǎng)頁文本文檔是一個ASPX網(wǎng)頁文檔,盡管那不是必需的。網(wǎng)頁定 義也可從數(shù)據(jù)庫或網(wǎng)絡(luò)服務(wù)中提取。然而,在例示的實施例中,網(wǎng)頁定義采用網(wǎng)頁 文本文檔的形式,并且因而本發(fā)明的原理將關(guān)于網(wǎng)頁文本文檔來描述。然而,本領(lǐng) 域的技術(shù)人員將在審閱了本說明書后認(rèn)識到,來自任何其它網(wǎng)頁定義的網(wǎng)頁仍保留在本發(fā)明的范圍內(nèi)。
網(wǎng)頁文本文檔301包括一個偽指令(directive) 310,它指示要應(yīng)用的較高優(yōu) 先級主題以及較高優(yōu)先級的主題的名稱是"Contemporary (當(dāng)代)"。計算系統(tǒng)有 權(quán)訪問多個面向較高優(yōu)先級的主題的文本文檔341,它們對應(yīng)于該較高優(yōu)先級主 題。也存在與一或多個其它較高優(yōu)先級主題相關(guān)聯(lián)的其它面向較高優(yōu)先級的主題的 文檔。在一個實施例中,所有面向較高優(yōu)先級的主題的文題都位于一個共同的目錄 中。該目錄具有多個子目錄,每一個對應(yīng)一個可能的較高優(yōu)先級主題。盡管多個面 向較高優(yōu)先級主題的文檔(特別地,文檔341A至341D,以及由省略號341E所指 示的其它可能文檔)被例示,但如果便利的話,可只存在一個或任何其它數(shù)量的面 向第一主題的文檔。
在一些實施例中,較高優(yōu)先級主題及其相關(guān)聯(lián)的面向主題的文本文檔用于網(wǎng) 頁的定制。這允許定制者指定網(wǎng)頁的特定觀感,而不用關(guān)心重新編碼網(wǎng)頁文檔。例 如,面向較高優(yōu)先級主題的文本文檔可在已經(jīng)創(chuàng)建網(wǎng)頁文本文檔之后創(chuàng)建。這允許 定制者知道哪些控件對象及相關(guān)聯(lián)的性質(zhì)要在面向第一主題的文本文檔中指定,以 對網(wǎng)頁的觀感作出希望的改變而不實際改變網(wǎng)頁文本文檔。
網(wǎng)頁文本文檔301偽指令310還指示要應(yīng)用的較低優(yōu)先級主題以及較低優(yōu)先 級主題的名稱為"outdoorstyles (戶外風(fēng)格)"。注意,在網(wǎng)頁文檔301中,較低 優(yōu)先級主題稱為樣式表主題,為了將它區(qū)別于較高優(yōu)先級主題。計算系統(tǒng)有權(quán)訪問 多個面向較低優(yōu)先級主題的文本文檔351,它們對應(yīng)于這第二主題。也可以有與一 個或多個其它較低優(yōu)先級主題相關(guān)聯(lián)的其它面向較低優(yōu)先級主題的文檔。在一個實 施例中,面向較高優(yōu)先級和較低優(yōu)先級主題的文檔位于一共同的目錄中。在其它實 施例中,面向較高優(yōu)先級和較低優(yōu)先級主題的文檔可以們于分開的目錄中。這些目 錄可具有多個子目錄,每一子目錄用于一個較高優(yōu)先級或較低優(yōu)先級可能的主題。
盡管多個面向較低優(yōu)先級主題的文檔(特別地,文檔351A至351D,以及由省略 號351E指示的可能的其它文檔)被示出,但如果便利的話,則可只存在一個或任 何其它數(shù)量的面向較低優(yōu)先級主題的文檔。
在一些實施例中,較低優(yōu)先級主題及其相關(guān)聯(lián)的面向主題的文本文檔在多個 網(wǎng)頁的設(shè)計階段被使用,并且可包括在網(wǎng)頁設(shè)計者工具中,盡管是在運行時間應(yīng)用 它們的。也有可能較高層主題及其相關(guān)聯(lián)的面向主題的文本文檔也包括在網(wǎng)頁設(shè)計 者工具中。設(shè)計者可指定用于網(wǎng)頁的通用觀感,而不必?fù)?dān)心指定的觀感。特定的觀 感則可在以后指定,或者通過使用較高優(yōu)先級主題或者在網(wǎng)頁文本文檔中的本地定義。例如,面向較低優(yōu)先級主題的文本文檔可在網(wǎng)頁文本文檔之前創(chuàng)建。這允許設(shè) 計者能夠指定通用的控件對象和關(guān)聯(lián)性質(zhì),諸如背景色和字體大小,在設(shè)計階段中 它們對于指定網(wǎng)頁是不重要的,并且可應(yīng)用于正在設(shè)計的多個網(wǎng)頁。當(dāng)為一個特定 網(wǎng)頁創(chuàng)建網(wǎng)頁文本文檔時,設(shè)計者隨后可添加控件對象和關(guān)聯(lián)性質(zhì),它們將給出特 定網(wǎng)頁的所需觀感。
參考圖2,方法200包括一個從客戶計算系統(tǒng)接收對網(wǎng)頁的請求的動作(動作 201)。該網(wǎng)頁是從網(wǎng)頁文本文檔如圖3A的網(wǎng)頁文本文檔301中動態(tài)生成的。與 網(wǎng)頁文檔相關(guān)聯(lián)的控件對象也由計算系統(tǒng)生成(動作202)。在當(dāng)前的面向請求/ 應(yīng)答協(xié)議(諸如超文本傳輸協(xié)議(HTTP), 一般用于通過網(wǎng)絡(luò)檢索網(wǎng)頁)中,經(jīng) 常是響應(yīng)于請求來檢索網(wǎng)頁的。然而,本發(fā)明的原理不限于應(yīng)用于面向請求/應(yīng)答 環(huán)境。由于某些與滿足通過網(wǎng)絡(luò)收到的任何特定請求無關(guān)的其它原因,網(wǎng)頁可動態(tài) 地構(gòu)建。
當(dāng)計算系統(tǒng)確定對應(yīng)于網(wǎng)頁文本文檔的網(wǎng)頁要被構(gòu)建時(或者響應(yīng)于請求, 或者以其它方式),計算系統(tǒng)隨后確定對應(yīng)于網(wǎng)頁文本文檔的網(wǎng)頁要應(yīng)用較高優(yōu)先 級主題和/或較低優(yōu)先級主題(動作203)。這可通過計算系統(tǒng)讀相應(yīng)的網(wǎng)頁文本文 檔中的指令來完成。例如,對于網(wǎng)頁文本文檔301,可讀并求值指令310。可替換 地,默認(rèn)的規(guī)則(例如,如由配置設(shè)置所述的)可指示要應(yīng)用較高優(yōu)先級或較低優(yōu) 先級主題。在該情形下,如果計算系統(tǒng)確定沒有東西違反默認(rèn)規(guī)則,則計算系統(tǒng)可 相應(yīng)地確定要應(yīng)用的較高優(yōu)先級或較低優(yōu)先級主題。如前所述,存在可用于繪制的 多個較高優(yōu)先級和較低優(yōu)先級主題。因此,指令或默認(rèn)規(guī)則也可指定要應(yīng)用的較高 優(yōu)先級或較低優(yōu)先級主題。
計算系統(tǒng)隨后執(zhí)行功能性的面向結(jié)果的步驟,它將較高優(yōu)先級和較低優(yōu)先級 主題應(yīng)用于網(wǎng)頁文本文檔,而不需要網(wǎng)頁文本文檔中詳細(xì)的較高優(yōu)先級和較低優(yōu)先 級主題信息(步驟210)。網(wǎng)頁文本文檔可被視為中間優(yōu)先級文檔。這可包括完成 此結(jié)果的任何相應(yīng)動作。然而,在所示實施例中,步驟210包括相應(yīng)的動作211 至214,動作221至223,以及動作231至234。
特別地,計算系統(tǒng)訪問一個或多個面向較高優(yōu)先級主題的文本文檔,它們相 應(yīng)于較高優(yōu)先級主題并且共同地描述要被應(yīng)用于網(wǎng)頁文本文檔的控件對象的至少 一個性質(zhì)(動作2U)。在圖3A中,面向主題的文本文檔是由面向主題的文本文 檔341表示的。以相似的方式,計算系統(tǒng)還訪問面向一個或多個低層主題的文本文 檔,它們相應(yīng)于較低層主題,并且共同地描述應(yīng)用于網(wǎng)頁文檔的控件對象的至少一個性質(zhì)(動作231)。
面向較高優(yōu)先級主題的文本文檔341A和面向較低優(yōu)先級主題的文檔351A的 內(nèi)容被例示。在兩個面向主題的文檔中的控件元素引用的格式如果不等同于與網(wǎng)頁 文本文檔301中用于共同類型的控件對象的控件引用的格式,則注意它們是如何相 似的。確實,在面向主題的文檔中的控件對象引用的模式可與網(wǎng)頁文本文檔301 中任何給定類型的控件元素引用的模式相同。
例如,控件元素引用的模式對于每一文檔包括具有"asp:"前綴的服務(wù)器端控 件元素。在其它實施例中也存在其它前綴。控件對象引用包含零或多個性質(zhì), "nmat"性質(zhì)具有一個值,它指示相應(yīng)的控件對象要在何處被繪制到由瀏覽器能 直接解釋的標(biāo)記語言中。在例示的實施例中,對于所有控件元素引用的"runat" 性質(zhì)具有一個"server (服務(wù)器)"值,指示所有控件對象的整個繪制過程要由主 存網(wǎng)頁的計算系統(tǒng)來處理,而不是由任何遠(yuǎn)程瀏覽器來處理。由于控件元素引用的 模式相似甚至相同,因此面向主題的文檔可相當(dāng)容易地通過簡單的剪切和粘貼或復(fù) 制操作來構(gòu)建,輔以較小的編輯來指定面向主題的屬性。
計算系統(tǒng)隨后基于一個或多個面向較高優(yōu)先級主題的文本文檔來生成較高優(yōu)
先級主題類(動作212)。較高優(yōu)先級主題類可用源代碼或其它可編譯指令來表示。 在一個實施例中,主題類用C來生成。較高優(yōu)先級主題類隨后編譯成較高優(yōu)先級 主題類,它可用于實例化較高優(yōu)先級主題對象(動作213)。隨后較高優(yōu)先級主題 對象使用編譯好的較高優(yōu)先級主題類來實例化(動作214)。這個類生成、編譯和 實例化操作在圖3A中由箭頭346來表示,并且導(dǎo)致主題控件類集306的生成。
以相似的方式,計算系統(tǒng)基于面向一個或多個較低優(yōu)先級主題的文本文檔生 成較低優(yōu)先級主題類(動作232)。該主題類也可用源代碼或其它可編譯指令來表 示,并且可用C來生成。較低優(yōu)先級主題類隨后被編譯成較低優(yōu)先級主題類,它 可用于實例化較低優(yōu)先級主題對象(動作233)。隨后較低優(yōu)先級主題對象使用編 譯好的較低優(yōu)先級主題類來實例化(動作234)。這個類生成、編譯和實例化操作 在圖3B中由箭頭355來表示,并且導(dǎo)致主題控件類集307的生成。
計算系統(tǒng)還生成網(wǎng)頁類,在這個類上基于網(wǎng)頁文本文檔可生成網(wǎng)頁對象的實 例。網(wǎng)頁類可直接從網(wǎng)頁文檔來編譯。可替換地,可通過首先基于網(wǎng)頁文本文檔生 成未編譯的網(wǎng)頁類(例如,可包括源代碼或其它可編譯文本),然后將未編譯的網(wǎng) 頁類編譯成網(wǎng)頁類來生成網(wǎng)頁類。接著,計算系統(tǒng)使用網(wǎng)頁類來實例化網(wǎng)頁對象(動 作222)。隨后通過使用繪制優(yōu)先級機制來繪制網(wǎng)頁(即繪制成可由瀏覽器直接解釋的 標(biāo)記語言)(動作223)。繪制優(yōu)先級機制指定來自較高優(yōu)先級主題、網(wǎng)頁文本文 檔(中優(yōu)先級)和較低優(yōu)先級主題的哪些性質(zhì)在繪制時要應(yīng)用于網(wǎng)頁文本文檔中指
定的控件對象。繪制優(yōu)先級機制將參考圖4來描述,圖4例示了一個繪制優(yōu)先級機 制的方法400的流程圖。
生成與表示第二層繪制指令的網(wǎng)頁文本文檔相關(guān)聯(lián)的控件對象(動作401)。
該動作可對應(yīng)于圖2的動作202。例如,控件對象可由網(wǎng)頁文本文檔301來生成。 控件對象的示例包括但不限于,標(biāo)簽,文本框,日歷等等。
接著,應(yīng)用用于任何數(shù)量層的繪制指令的繪制優(yōu)先級機制(動作402)。繪制 優(yōu)先級機制使存在于第一層繪制指令中的、與控件對象相關(guān)聯(lián)的性質(zhì)始終應(yīng)用于控 件對象(動作410),控件對象可包括字體大小,字體顏色等等。在第二層繪制指 令中的、與控件對象相關(guān)聯(lián)的性質(zhì)如果不與第一層中的性質(zhì)沖突,則應(yīng)用于控件對 象(動作411)。以相似的方式,在第三層繪制指令中的、與控件對象相關(guān)聯(lián)的性 質(zhì)如果不與第一和第二層繪制指令沖突的話,則應(yīng)用于控件對象(動作412)。
在有些實施例中,存在任意數(shù)量的附加層繪制指令,它們也遭受方法400的 繪制優(yōu)先級機制。例如,與第四層繪制指令相關(guān)聯(lián)的性質(zhì)如果不與第一、二和三層 繪制指令沖突的話,可應(yīng)用于控件對象。應(yīng)當(dāng)注意,在權(quán)利要求中和說明書中,使 用"第一"、"第二"等等來描述繪制指令的層不是要表示任何有序的順序,而是 用于區(qū)別不同層的優(yōu)先級。在有些實施例中,與第一層相關(guān)聯(lián)的性質(zhì)首先被應(yīng)用, 而在其它實施例中,與第一層相關(guān)聯(lián)的性質(zhì)可最后或者以某種其它順序來應(yīng)用。如 提到的,應(yīng)用某層繪制指令的性質(zhì)的順序?qū)τ诒景l(fā)明的原理不是重要的。
例如,在一個三層實施例中, 一個標(biāo)簽的控件對象可以在網(wǎng)頁文本文檔上生 成。網(wǎng)頁文本文檔可以具有與標(biāo)簽對象相關(guān)聯(lián)的藍(lán)色字體顏色。此外,第一層繪制 指令可以包括與一標(biāo)簽控件對象相關(guān)聯(lián)的紅色字體顏色,而第三層繪制指令可以包 括與一標(biāo)簽控件對象相關(guān)聯(lián)的綠色字體顏色。
當(dāng)應(yīng)用繪制優(yōu)先級機制時,來自第三層繪制指令的綠色字體顏色可首先應(yīng)用 于標(biāo)簽控件對象。在網(wǎng)頁文本文檔中的藍(lán)色字體顏色隨后應(yīng)用于標(biāo)簽控件對象。由 于字體顏色沖突,因此藍(lán)色字體顏色覆蓋了綠色字體顏色。在第一層繪制指令中的 紅色字體顏色隨后應(yīng)用于標(biāo)簽控件對象。在該情形中,由于字體顏色沖突,因此紅 色字體顏色覆蓋了藍(lán)色字體顏色并且得到應(yīng)用。
繪制優(yōu)先級機制還為在某一層繪制指令中與一控件對象相關(guān)聯(lián)的多個性質(zhì)工作。例如,在三層實施例中,第三層繪制指令也可包括用于標(biāo)簽控件對象的字體大 小性質(zhì)。在該情形中,字體大小性質(zhì)將連同綠色字體顏色一起應(yīng)用于控件對象。然 而,由于在第二和第一層中在字體大小方面沒有沖突的性質(zhì),因此第三層的字體大 小得到應(yīng)用。相應(yīng)地,在任何層中與較高優(yōu)先級層沒有沖突的任何性質(zhì)被應(yīng)用于控 件對象。
在有些實施例中,在較低層和較高層繪制指令中存在一個控件對象的性質(zhì)類 集。來自較低層繪制指令的性質(zhì)可以添加到較高層的性質(zhì)類集中,只要來自較低層 的性質(zhì)與較高層中的性質(zhì)沒有沖突。例如, 一個類集可以是第二或中間層繪制指令 中的一個列表,它定義了一個性質(zhì)類集,例如紅色,綠色和藍(lán)色。第三或較低層的 主題可定義一個黑色和紅色的性質(zhì)。該類集是這些顏色的類集的總和。在該情形中, 第三層的黑色性質(zhì)被添加到第二層的紅色、綠色與藍(lán)色性質(zhì),而第三層的紅色性質(zhì) 沒有被添加,因為它有沖突。然而,如果第一或高優(yōu)先級主題定義了白色和淺紅色 性質(zhì),則最終的類集是白色和淺紅色,因為第一層的性質(zhì)比較低層高。
在其它實施例中,可以有模板性質(zhì)。模板性質(zhì)是一種特殊的性質(zhì),可用于定 義內(nèi)容,諸如標(biāo)記或其它控件。模板的使用允許內(nèi)容被應(yīng)用于網(wǎng)頁。
在有些實施例中,第二層繪制指令中的控件對象具有與其相關(guān)聯(lián)的性質(zhì),它 是以這樣一種方式來標(biāo)記的即陳述在第一和第三層繪制指令中與控件對象相關(guān)聯(lián) 的性質(zhì)無法被應(yīng)用于控件對象。
回到圖2和3,上述第一主題控件類集306包括第一主題對象360作為它的根。 第一主題對象360包括若干派生的控件對象361至367。
例如,標(biāo)簽控件元素361對應(yīng)于具有皮膚標(biāo)識符"Sticker (滯銷品)"的特定 皮膚。標(biāo)簽控件元素361是通過使原始的面向較高優(yōu)先級主題的文本文檔341A中 的控件元素引用342經(jīng)歷動作212至214的類生成、編譯和實例化過程而生成的。 如標(biāo)簽控件對象引用342中所示,標(biāo)簽控件對象在被執(zhí)行時,將綠色前景色應(yīng)用于 調(diào)用"Sticker"皮膚的任何標(biāo)簽控件對象。
標(biāo)簽控件元素362不對應(yīng)于任何特定皮膚。因此,標(biāo)簽控件元素362默認(rèn)地 應(yīng)用于未指定皮膚標(biāo)識符或者指定了不存在的皮膚標(biāo)識符的任何標(biāo)簽控件元素。標(biāo) 簽控件元素362是通過使原始的面向較高優(yōu)先級主題的文本文檔341A中的控件對 象引用343經(jīng)歷類生成、編譯和實例化過程而生成的。如在標(biāo)簽控件對象引用343 中所示,標(biāo)簽控件對象在被執(zhí)行時,將黑色前景色應(yīng)用于標(biāo)簽。
文本框控件對象363不對應(yīng)于任何特定的皮膚。因此,文本框控件對象363默認(rèn)地應(yīng)用于沒有指定皮膚標(biāo)識符或者指定了不存在的皮膚標(biāo)識符的任何文本框
控件元素。文本框控件對象363是通過使原始的面向較高優(yōu)先級主題的文本文檔 341A中的控件元素引用344經(jīng)歷類生成、編譯和實例化過程而生成的。如在文本 框控件對象引用344中所示,文本框控件對象在被執(zhí)行時,將黃色背景色應(yīng)用于文 本框。
文本框控件元素364對應(yīng)于具有皮膚標(biāo)識符為"Modem (現(xiàn)代)"的特定皮 膚。文本框控件對象364是通過使原始的面向較高優(yōu)先級主題的文本文檔中的控件 對象引用345經(jīng)歷類生成、編譯和實例化過程而生成的。如在文本框控件對象引用 345中所示,文本框控件對象在被執(zhí)行時,將紅色背景色應(yīng)用于任何調(diào)用"Modem"
皮膚的文本框控件對象。
日歷對象365也是通過使面向較高優(yōu)先級主題的文本文檔341之一的相應(yīng)日 歷控件對象引用(未示出)經(jīng)歷動作212至214的類生成、編譯和實例化過程而生 成的。日歷對象365不對應(yīng)于特定的皮膚,因而被默認(rèn)地應(yīng)用。
按鈕對象366是通過使面向較高優(yōu)先級主題的文本文檔341之一的相應(yīng)按鈕 控件對象引用(未示出)經(jīng)歷類生成、編譯和實例化過程而生成的,并且相應(yīng)于具 有標(biāo)識符為"CommandButton (共同按鈕)"的皮膚。
其它對象367表示一個或多個其它控件元素對象,它們也可通過使面向較高 優(yōu)先級主題的文本文檔中之一的相應(yīng)的一個或多個其它控件對象引用(未示出)經(jīng) 歷類生成、編譯和實例化過程而生成。
在圖2中,主題對象是在已經(jīng)訪問了面向較高優(yōu)先級主題文檔(動作211)、 生成較高優(yōu)先級主題類(動作212)和編譯較高優(yōu)先級主題類(213)之后被實例 化的(動作214)。然而,如果主題類已經(jīng)由于先前對動作211至213的執(zhí)行而存 在,則不必重復(fù)動作211至213的訪問、生成和編譯操作。
以相似的方式,較低優(yōu)先級主題控件類集307包括較低優(yōu)先級主題對象370 作為它的根。較低優(yōu)先級主題對象370包括若干派生的控件元素對象371至375。
例如,標(biāo)簽控件對象371不對應(yīng)于任何特定的皮膚。因此,標(biāo)簽控件對象371 將默認(rèn)地應(yīng)用于未指定皮膚標(biāo)識符或者指定了不存在的皮膚標(biāo)識符的任何標(biāo)簽控 件元素,只要標(biāo)簽控件對象在較低優(yōu)先級主題或網(wǎng)頁文本文檔中沒有沖突的性質(zhì)即 可。標(biāo)簽控件對象371是通過使原始的面向較低優(yōu)先級主題的文本文檔351A中的 控件對象引用352經(jīng)歷動作232至234的類生成、編譯和實例化過程而生成的。如 在標(biāo)簽控件對象引用352中所示,在標(biāo)簽控件對象沒有較高優(yōu)先級性質(zhì)的情況下,標(biāo)簽控件對象在被執(zhí)行時,將紅色前景色、加粗文本、大字體大小以及Tahoma字 體類型應(yīng)用于標(biāo)簽。
文本框控件對象372不對應(yīng)于任何特定的皮膚。因此,文本框控件元素372 默認(rèn)地應(yīng)用于未指定皮膚標(biāo)識符或者指定了不存在的皮膚標(biāo)識符的任何文本框控 件元素,只要較高優(yōu)先級主題或網(wǎng)頁文本文檔中沒有沖突的文本框控件對象即可。 文本框控件對象372是通過使原始的面向較低優(yōu)先級主題的文本文檔351A中的控 件對象引用353經(jīng)歷類生成、編譯和實例化過程而生成的。如在文本框控件對象引 用353中所示,文本框控件對象在被執(zhí)行時,在文本框控件對象沒有較高優(yōu)先級性 質(zhì)的情況下,將綠色背景色應(yīng)用于文本框。
標(biāo)簽控件對象373對應(yīng)于具有皮膚標(biāo)識符為"Validator (驗證符)"的特定皮 膚。標(biāo)簽控件對象373是通過使原始的面向較低優(yōu)先級主題的文本文檔351A中的 控件對象引用354經(jīng)歷類生成、編譯和實例化過程而生成的。如在標(biāo)簽控件對象引 用354中所示,標(biāo)簽控件元素在被執(zhí)行時,將加粗文本應(yīng)用于調(diào)用"Validator"皮 膚的任何標(biāo)簽控件元素,只要標(biāo)簽控件對象在較高優(yōu)先級主題或網(wǎng)頁文本文檔中沒 有沖突的性質(zhì)即可。
日歷對象374也是通過使面向較低優(yōu)先級主題的文本文檔351之一的相應(yīng)日 歷控件對象引用(未示出)經(jīng)歷動作232至234的類生成、編譯和實例化過程而生 成的。日歷對象374不對應(yīng)于一特定皮膚因而默認(rèn)地得到應(yīng)用,只要日歷控件元素 在較高優(yōu)先級主題或者網(wǎng)頁文本文檔中沒有沖突的性質(zhì)即可。
其它對象375表示一個或多其它控件元素對象,它們也可通過使面向較低優(yōu) 先級主題的文本文檔之一的相應(yīng)的一或多個其它控件元素引用(未示出)經(jīng)歷類生 成、編譯和實例化過程而生成。
與較高優(yōu)先級主題一樣,較低優(yōu)先級主題對象(動作234)是在己經(jīng)訪問面向 較低優(yōu)先級主題文檔(動作231)、生成較低優(yōu)先級主題類(動作232)以及編譯 較低優(yōu)先級主題類(233)之后被實例化的。然而,如果主題類由于先前動作231 至233的執(zhí)行而已經(jīng)存在,則不必重復(fù)動作231至233的訪問、生成和編譯操作。
再次參考圖3A,網(wǎng)頁文本文檔301可經(jīng)歷如由箭頭318所示的動作221和222 的類生成和實例化過程,以生成包括頁對象320作為其根的頁控件類集302。
頁對象320包括若干派生的對象,其中包括字面對象321,當(dāng)被執(zhí)行時,繪制 被繪制的頁303的靜態(tài)標(biāo)記語言部分。該字面對象是通過使網(wǎng)頁文本文檔301的靜 態(tài)部分312A至312F經(jīng)歷動作221和222的類生成和實例化過程而生成的。
19派生的標(biāo)簽控件元素對象322在被執(zhí)行時,繪制被繪制的頁303的第一標(biāo)簽 控件對象。第一標(biāo)簽控件對象322是通過使第一標(biāo)簽控件對象引用313經(jīng)歷類生成 和實例化過程而生成的。第一標(biāo)簽控件對象將文本"Shoe Size:(鞋尺碼)"應(yīng) 用于標(biāo)簽,并且由第一標(biāo)簽控件對象引用313的性質(zhì)所示的標(biāo)識符"input"來標(biāo) 識。也要注意,第一標(biāo)簽控件對象引用313具有相應(yīng)的皮膚標(biāo)識符性質(zhì)為 "Validator"。因此,當(dāng)執(zhí)行第一標(biāo)簽控件對象322以生成被繪制的網(wǎng)頁303中的 第一標(biāo)簽控件對象時,較低層主題對象370的標(biāo)簽控件對象373將被應(yīng)用于控件對 象313。在該情形中,為"Validator"的皮膚標(biāo)識符性質(zhì)將使文本"Shoe Size"被 加粗。第一控件對象313包括一個"font-bold = false (加粗字體=假)"性質(zhì), 它隨后被應(yīng)用于控件對象313。由于在網(wǎng)頁文本文檔與較低優(yōu)先級主題中的性質(zhì)之 間有沖突,因此網(wǎng)頁文本文檔中的性質(zhì)覆蓋較低優(yōu)先級主題中的加粗字體性質(zhì),并 且被應(yīng)用于被繪制的網(wǎng)頁303。
第二派生的標(biāo)簽控件對象323在被執(zhí)行時,繪制被繪制的頁303的第二標(biāo)簽 控件對象。第二標(biāo)簽控件對象323是通過使標(biāo)簽控件對象引用314經(jīng)歷類生成和實 例化過程而生成的。第二標(biāo)簽控件對象將文本"Name:"應(yīng)用于標(biāo)簽,并且由標(biāo)簽 控件對象引用314的性質(zhì)所示的標(biāo)識符"input"來標(biāo)識。也要注意,第二標(biāo)簽控 件對象引用314具有相應(yīng)的皮膚標(biāo)識符性質(zhì)為"Sticker"并且指定了藍(lán)色前景色。 當(dāng)執(zhí)行第二標(biāo)簽控件對象323以生成被繪制的網(wǎng)頁303中的第二標(biāo)簽控件對象時, 網(wǎng)頁文檔的藍(lán)色前景色性質(zhì)被應(yīng)用于控件對象314。較高優(yōu)先級主題對象360的標(biāo) 簽控件對象361隨后應(yīng)用于控件對象,從而將Sticker皮膚應(yīng)用于控件對象。由于 在網(wǎng)頁文本文檔與較高優(yōu)先級主題中的性質(zhì)之間有沖突,因此在較高優(yōu)先級主題中 的性質(zhì)覆蓋網(wǎng)頁文本文檔性質(zhì)并且應(yīng)用于被繪制的網(wǎng)頁303中。
派生的文本框控件對象324在被執(zhí)行時,繪制被繪制的頁303的文本框控件 對象。文本框控件對象322是通過使文本框控件對象引用315經(jīng)歷類生成和實例化 過程而生成的。文本框控件對象引用315沒有相應(yīng)的皮膚標(biāo)識符性質(zhì)。因此,當(dāng)執(zhí) 行文本框控件對象324以生成被繪制的網(wǎng)頁303中的文本框控件對象時,較低層的 控件對象372的背景色綠色性質(zhì)被應(yīng)用于控件對象324。較高層的控件對象364的 背景色黃色性質(zhì)被應(yīng)用于控件對象324。由于在較低優(yōu)先級主題與較高優(yōu)先級主題 中的性質(zhì)之間有沖突,因此較低優(yōu)先級主題中的背景色黃色性質(zhì)覆蓋較低優(yōu)先級主 題性質(zhì)并且應(yīng)用于被繪制的網(wǎng)頁303中。
第三派生的標(biāo)簽控件對象325在被執(zhí)行時,繪制被繪制的頁303的第三標(biāo)簽控件對象。第三標(biāo)簽控件對象325是通過使標(biāo)簽控件對象引用316經(jīng)歷類生成和實 例化過程而生成的。第三標(biāo)簽控件對象將文本"Shoes for Hikers:(徒步旅行鞋)" 應(yīng)用于標(biāo)簽,并且由標(biāo)簽控件元素引用316的性質(zhì)所示的標(biāo)識符"11"來標(biāo)識。標(biāo) 簽控件元素對象316沒有相應(yīng)的皮膚標(biāo)識符性質(zhì)。因此,當(dāng)執(zhí)行第三標(biāo)簽控件對象 325來生成被繪制的網(wǎng)頁303中的第三標(biāo)簽控件對象時,較低優(yōu)先級主題對象370 的默認(rèn)標(biāo)簽對象371被應(yīng)用。具體地,前景色紅色,加粗的字體,大字體大小和字 體名稱"Tahoma"性質(zhì)被應(yīng)用。網(wǎng)頁文本文檔301的加粗字體為假性質(zhì)應(yīng)用于控 件對象316。由于在較低優(yōu)先級主題與網(wǎng)頁文本文檔中的性質(zhì)之間有沖突,因此網(wǎng) 頁文本文檔中字體粗體為假性質(zhì)覆蓋較低優(yōu)先級主題性質(zhì)。由于在較低優(yōu)先級主題 與較高優(yōu)先級主題中的性質(zhì)之間有沖突,因此較高優(yōu)先級主題中的性質(zhì)覆蓋較低優(yōu) 先級主題性質(zhì),并且應(yīng)用于被繪制的網(wǎng)頁303中。較高優(yōu)先級主題對象362的性質(zhì) 被應(yīng)用。具體地,由于黑色前景色性質(zhì)與較低優(yōu)先級主題的紅色前景色性質(zhì)沖突, 因此黑色前景色覆蓋并且應(yīng)用于被繪制的網(wǎng)頁303中。注意,較低優(yōu)先級主題對象 370中仍有兩個性質(zhì)應(yīng)用于被繪制的網(wǎng)頁303,因為在較高優(yōu)先級主題與網(wǎng)頁文本 文檔中沒有沖突的性質(zhì)。
日歷控件對象326在被執(zhí)行時,繪制被繪制的頁303中的日歷控件對象。日 歷控件對象326是通過使日歷控件對象引用317經(jīng)歷類生成和實例化過程而生成 的。日歷控件對象引用317沒有對應(yīng)的皮膚標(biāo)識符性質(zhì)。因此,當(dāng)執(zhí)行日歷控件對 象326以生成被繪制的網(wǎng)頁303中的日歷控件對象時,較高優(yōu)先級主題對象360 的默認(rèn)日歷控件元素對象365也被執(zhí)行,從而將主題應(yīng)用于日歷對象。默認(rèn)日歷控 件365的性質(zhì)將具有比較低層主題對象370的默認(rèn)日歷控件對象374高的優(yōu)先級。
其它控件對象327表示一個或多個其它控件對象,它們可基于網(wǎng)頁文本文檔 301中的其它控件對象引用來生成。
被繪制的網(wǎng)頁303可包括來自較高優(yōu)先級主題、網(wǎng)頁文本文檔以及較低優(yōu)先 級主題的性質(zhì),如由圖3A和3B的箭頭380A與380B所示。如果網(wǎng)頁繪制是響應(yīng) 于如在動作301中的客戶請求的,則被繪制的網(wǎng)頁隨后可被下載到客戶機(動作 250)。
盡管在上述參考圖3-5所述的示例中定義控件對象的頁被示為公布的標(biāo)記,但 這只是說明而不是要限制權(quán)利要求。有可能的是,網(wǎng)頁可動態(tài)地定義控件對象并且 動態(tài)地調(diào)用要應(yīng)用的主題。而且,不只是皮膚文件可應(yīng)用于主題的聲明。可以存在 將來增加的用于主題的其它文件或資源,如資源、主頁等等。因此,主題內(nèi)容不限于控件/皮膚定義。
因此,網(wǎng)頁繪制優(yōu)先級機制比現(xiàn)有技術(shù)具有許多優(yōu)點。三層或多層繪制指令 的使用允許出于不同目的對網(wǎng)頁的總體觀感進行方便的修改。例如,在網(wǎng)頁設(shè)計階 段,可創(chuàng)建較低優(yōu)先級層的繪制指令,用于指定諸如背景色和字體大小等在網(wǎng)頁的 設(shè)計階段不重要的性質(zhì)。這可在開發(fā)相關(guān)網(wǎng)站時節(jié)省時間與金錢。特定的觀感隨后 可在中優(yōu)先級層的繪制指令中指定,如具有比最低層高的優(yōu)先級的網(wǎng)頁文本文檔。 此外,較高優(yōu)先級層的繪制指令可在創(chuàng)建了各個網(wǎng)頁文本文檔之后用于定制若干相 關(guān)的網(wǎng)頁,因而也比單獨地定制每個相關(guān)網(wǎng)頁文本文檔來得節(jié)省金錢與時間。較高 優(yōu)先級主題可在文字很少改變或沒有改變的情況下應(yīng)用于現(xiàn)有的網(wǎng)頁文本文檔。最 后,模板性質(zhì)覆蓋意味著內(nèi)容可以應(yīng)用于網(wǎng)頁。因此,網(wǎng)頁繪制機制代表了本領(lǐng)域 中的顯著進步。
盡管已經(jīng)以專用于結(jié)構(gòu)特征和/或方法性動作的語言描述了本主題,但要理解, 在所附權(quán)利要求中所定義的主題不必限制于上述特定的特征和動作。相反,上述特 定的特征和動作是作為實現(xiàn)權(quán)利要求的示例形式而揭示的。
權(quán)利要求
1.在計算系統(tǒng)(100)中使用的計算機程序產(chǎn)品,使用在至少三層繪制指令(301,341,351)的任何一層中指定的相應(yīng)繪制元素(316,343,352)繪制被顯示的對象,所述計算機程序產(chǎn)品包括一或多個其上有結(jié)構(gòu)化的計算機可執(zhí)行指令的計算機可讀介質(zhì),所述指令使得在由所述計算系統(tǒng)(100)的一或多個處理器(102)執(zhí)行時,使所述計算系統(tǒng)(100)執(zhí)行一方法,所述方法用于使所述計算系統(tǒng)基于所述至少三層繪制指令(301,341,351)的繪制優(yōu)先級生成網(wǎng)頁(303),所述計算機可執(zhí)行指令包括用于生成與表示所述第二層繪制指令的網(wǎng)頁定義(401)相關(guān)聯(lián)的控件對象的計算機可執(zhí)行指令;用于使所述至少三層的繪制指令的所述繪制優(yōu)先級機制被應(yīng)用的計算機可執(zhí)行指令,其中所述第一層繪制指令中的與所述控件對象相關(guān)聯(lián)的性質(zhì)始終應(yīng)用于所述控件對象(410),所述第二層繪制指令中的與所述控件對象相關(guān)聯(lián)的性質(zhì)如果與所述第一層繪制指令中的性質(zhì)沒有沖突,則被應(yīng)用于所述控件對象(411),而所述第三層繪制指令中的與所述控件對象相關(guān)聯(lián)的性質(zhì)如果與所述第一和第二層繪制指令中的性質(zhì)沒有沖突,則被應(yīng)用于所述控件對象(412)。
2. 如權(quán)利要求l所述的計算機程序產(chǎn)品,其特征在于,還包括 計算機可執(zhí)行指令,用于使在第四層繪制指令中的與所述控件對象相關(guān)聯(lián)的性質(zhì)如果與所述第一、第二和第三層繪制指令中的性質(zhì)沒有沖突,則應(yīng)用于所述控 件對象。
3. 如權(quán)利要求l所述的計算機程序產(chǎn)品,其特征在于,還包括計算機可執(zhí)行指令,用于使在較低的繪制指令中的與所述控件對象相關(guān)聯(lián)的 性質(zhì),在與較高層繪制指令中的與所述控件對象相關(guān)聯(lián)的性質(zhì)沒有沖突時,被添加 到所述較高層繪制指令中的與所述控件對象相關(guān)聯(lián)的性質(zhì),如果加起來的性質(zhì)與最 高層繪制指令中的與所述控件對象相關(guān)聯(lián)的性質(zhì)沒有沖突,則應(yīng)用所述較低和較高 層性質(zhì)之和。
4. 如權(quán)利要求l所述的計算機程序產(chǎn)品,其特征在于,在所述第一、第二和 第三層繪制指令中的所述性質(zhì)包括模板性質(zhì)。
5. 如權(quán)利要求l所述的計算機程序產(chǎn)品,其特征在于,代表所述第二層繪制指令的與網(wǎng)頁定義相關(guān)聯(lián)的所述控件對象具有以某種方式被標(biāo)記的性質(zhì),所述方式 陳述在所述第一和第三層繪制指令中沒有與所述控件對象相關(guān)聯(lián)的屬性可被應(yīng)用 于所述控件對象。
6. 如權(quán)利要求l所述的計算機程序產(chǎn)品,其特征在于,所述一個或多個計算 機可讀介質(zhì)是物理存儲器介質(zhì)。
7. 如權(quán)利要求6所述的計算機程序產(chǎn)品,其特征在于,所述物理存儲器是系統(tǒng)存儲器或持久存儲器之一。
8. —種使計算系統(tǒng)(100)以某種方式從網(wǎng)頁定義(301)生成網(wǎng)頁(303) 的方法,所述方式是較高優(yōu)先級主題和較低優(yōu)先級主題(310)在沒有與被包括在 所述網(wǎng)頁定義中的所述較高優(yōu)先級和較低優(yōu)先級主題(310)相關(guān)聯(lián)的性質(zhì)(316, 343, 352)的情況下被應(yīng)用于所述網(wǎng)頁,所述網(wǎng)頁定義表示中優(yōu)先級,并且引用要 被包括在所述相應(yīng)的網(wǎng)頁中的至少一個控件對象(316, 343, 352),所述計算系 統(tǒng)在繪制所述網(wǎng)頁時使用繪制優(yōu)先級機制(402),其中在所述較低優(yōu)先級主題中 的與所述控件對象相關(guān)聯(lián)的性質(zhì)在與所述較高優(yōu)先級主題或所述網(wǎng)頁定義中的與 所述控件對象相關(guān)聯(lián)的性質(zhì)沒有沖突時,應(yīng)用于所述控件對象,并且在所述網(wǎng)頁定 義中的與所述控件對象相關(guān)聯(lián)的性質(zhì)在與所述較高優(yōu)先級主題中的與所述控件對 象相關(guān)聯(lián)的性質(zhì)沒有沖突時,被應(yīng)用于所述控件對象,所述方法包括如下確定相應(yīng)于所述網(wǎng)頁定義的所述網(wǎng)頁要應(yīng)用較高優(yōu)先級主題的動作(203);訪問一個或多個面向較高優(yōu)先級主題的文本文檔的動作(211),所述文本文 檔共同地描述至少一個可被應(yīng)用于所述網(wǎng)頁定義的控件對象的較高優(yōu)先級主題性 質(zhì);基于所述一個或多個面向較高優(yōu)先級主題的文本文檔生成較高優(yōu)先級主題類 的動作(212);將所述較高優(yōu)先級主題類編譯成可用于實例化較高優(yōu)先級主題對象的較高優(yōu) 先級主題類的動作(213);使用已編譯的較高優(yōu)先級主題類實例化較高優(yōu)先級主題對象的動作(214), 所述較高優(yōu)先級主題對象包括至少一個部分,在被執(zhí)行時,使所述至少一個較高優(yōu) 先級主題性質(zhì)在由相應(yīng)于所述網(wǎng)頁定義的網(wǎng)頁實例調(diào)用時被應(yīng)用于所述控件對象;確定相應(yīng)于所述網(wǎng)頁定義的所述網(wǎng)頁要應(yīng)用較低優(yōu)先級主題的動作(203);訪問一個或多個面向較低優(yōu)先級主題的文本文檔的動作(231),所述文本文 檔共同地描述至少一個可被應(yīng)用于所述網(wǎng)頁定義的控件對象的較低優(yōu)先級主題性質(zhì);基于所述一個或多個面向較低優(yōu)先級主題的文本文檔生成較低優(yōu)先級主題類的動作(232);將所述較低優(yōu)先級主題類編譯成可用于實例化較低優(yōu)先級主題對象的較低優(yōu)先級主題類的動作(233);使用已編譯的較低優(yōu)先級主題類實例化較低優(yōu)先級主題對象的動作(234), 所述較低優(yōu)先級主題對象包括至少一個部分,在被執(zhí)行時,使所述至少一個較低優(yōu) 先級主題性質(zhì)在由相應(yīng)于所述網(wǎng)頁定義的網(wǎng)頁實例調(diào)用時和在滿足所述繪制優(yōu)先 級機制時被應(yīng)用于所述控件對象;生成網(wǎng)頁類的動作(221),在所述網(wǎng)頁類上基于所述網(wǎng)頁定義可生成網(wǎng)頁對 象的實例;使用所述網(wǎng)頁類實例化網(wǎng)頁對象的動作(222),所述網(wǎng)頁對象包括對所述較 高優(yōu)先級主題對象的所述部分的功能調(diào)用,在被執(zhí)行時,使所述至少一個較高優(yōu)先 級主題性質(zhì)被應(yīng)用于所述控件對象,以及所述網(wǎng)頁對象包括對所述較低優(yōu)先級主題 對象的所述部分的功能調(diào)用,在被執(zhí)行時,使所述至少一個較低優(yōu)先級主題性質(zhì)如 果在所述第一主題對象或所述網(wǎng)頁對象中不存在被應(yīng)用于所述控件對象的沖突性 質(zhì),則被應(yīng)用于所述控件對象;以及通過使用所述網(wǎng)頁繪制機制執(zhí)行所述網(wǎng)頁對象繪制具有所述控件對象的所述 網(wǎng)頁的動作(223)。
9.如權(quán)利要求8所述的方法,其特征在于,還包括接收對第二網(wǎng)頁的后續(xù)請求的動作;使用所述已編譯的較高優(yōu)先級主題類實例化第二較高優(yōu)先級主題對象的動 作,所述第二較高優(yōu)先級主題對象也包括至少一個部分,在被執(zhí)行時,使所述至少 一個較高優(yōu)先級主題性質(zhì)在由相應(yīng)于所述網(wǎng)頁定義的網(wǎng)頁實例調(diào)用時被應(yīng)用于所 述控件對象。使用所述已編譯的較低優(yōu)先級主題類實例化所述第二較低優(yōu)先級主題對象的 動作,所述第二較低優(yōu)先級主題對象也包括至少一個部分,在被執(zhí)行時,使所述至 少一個較低優(yōu)先級主題性質(zhì)在由相應(yīng)于所述網(wǎng)頁定義的網(wǎng)頁實例調(diào)用時和在滿足 所述繪制優(yōu)先級機制時被應(yīng)用于所述控件對象;使用所述網(wǎng)頁類實例化第二網(wǎng)頁對象的動作,所述第二網(wǎng)頁對象包括對所述 第二較高優(yōu)先級主題對象的所述部分的功能調(diào)用,在被執(zhí)行時,使所述至少一個較高優(yōu)先級主題性質(zhì)被應(yīng)用于所述控件對象,以及所述第二網(wǎng)頁對象包括對所述第二 較低優(yōu)先級主題對象的所述部分的功能調(diào)用,在被執(zhí)行時,使所述至少一個較低優(yōu) 先級主題性質(zhì)如果在所述第二較高優(yōu)先級主題對象或所述第二網(wǎng)頁對象中不存在 被應(yīng)用于所述控件對象的沖突性質(zhì),則被應(yīng)用于所述控件對象;以及通過執(zhí)行所述第二網(wǎng)頁對象繪制具有所述控件對象的所述第二網(wǎng)頁的動作。
10. 如權(quán)利要求8所述的方法,其特征在于,所述生成網(wǎng)頁類的動作,在所 述網(wǎng)頁類上基于所述網(wǎng)頁定義可生成網(wǎng)頁對象的實例,所述動作包括如下基于所述網(wǎng)頁定義生成未編譯的網(wǎng)頁類的動作;以及 將所述未編譯的網(wǎng)頁類編譯成所述網(wǎng)頁類的動作。
11. 如權(quán)利要求8所述的方法,其特征在于,所述生成未編譯的網(wǎng)頁類的動 作包括如下生成定義所述未編譯的網(wǎng)頁類的源代碼的動作。
12. 如權(quán)利要求8所述的方法,其特征在于,所述生成網(wǎng)頁類的動作,在所 述網(wǎng)頁類上可基于所述網(wǎng)頁定義生成網(wǎng)頁對象的實例,所述動作包括如下將所述網(wǎng)頁文本文檔直接編譯成所述已編譯的網(wǎng)頁類的動作。
13. 如權(quán)利要求8所述的方法,其特征在于,還包括如下 從客戶計算系統(tǒng)接收對所述網(wǎng)頁的請求的動作。
14. 如權(quán)利要求8所述的方法,其特征在于,還包括如下 將所述被繪制的網(wǎng)頁下載到客戶計算系統(tǒng)的動作。
15. 如權(quán)利要求8所述的方法,其特征在于,所述確定相應(yīng)于所述網(wǎng)頁定義的所述網(wǎng)頁要應(yīng)用較高優(yōu)先級主題或者較低優(yōu)先級主題的動作包括如下 從所述網(wǎng)頁定義讀取偽指令的動作。
16. 如權(quán)利要求8所述的方法,其特征在于,默認(rèn)的規(guī)則是應(yīng)用較高優(yōu)先級或較低優(yōu)先級主題,并且所述確定相應(yīng)于所述網(wǎng)頁定義的所述網(wǎng)頁是要應(yīng)用較高優(yōu)先級或者較低優(yōu)先級主題的動作包括如下確定不存在違反所述默認(rèn)規(guī)則的情形的動作。
17. 如權(quán)利要求16所述的方法,其特征在于,所述默認(rèn)的規(guī)則基于配置設(shè)置,并且所述確定相應(yīng)于所述網(wǎng)頁定義的所述網(wǎng)頁是要應(yīng)用較高優(yōu)先級或者較低優(yōu)先級主題的動作包括如下讀取所述配置設(shè)置的動作。
18. —種用于使計算系統(tǒng)(100)以某種方式從網(wǎng)頁定義(301)生成網(wǎng)頁(303)的方法,所述方式是將較高優(yōu)先級主題和較低優(yōu)先級主題(310在沒有與被包括在所述網(wǎng)頁定義中的所述較高優(yōu)先級和較低優(yōu)先級主題(310)相關(guān)聯(lián)的性質(zhì)(316, 343, 352)的情況下被應(yīng)用于所述網(wǎng)頁,所述網(wǎng)頁定義表示中優(yōu)先級,并且引用要 被包括在所述相應(yīng)的網(wǎng)頁中的至少一個控件對象(316, 343, 352),所述計算系 統(tǒng)在繪制所述網(wǎng)頁時使用繪制優(yōu)先級機制(402),其中在所述較低優(yōu)先級主題中 的與所述控件對象相關(guān)聯(lián)的性質(zhì)在與所述較高優(yōu)先級主題中的與所述控件對象相 關(guān)聯(lián)的性質(zhì)沒有沖突時被應(yīng)用于所述控件對象,以及在所述網(wǎng)頁定義中的與所述控 件對象相關(guān)聯(lián)的性質(zhì)僅在與所述較高優(yōu)先級主題中的與所述控件對象相關(guān)聯(lián)的性 質(zhì)沒有沖突時才被應(yīng)用于所述控件對象,所述方法包括如下確定相應(yīng)于所述網(wǎng)頁定義的所述網(wǎng)頁是要應(yīng)用較高優(yōu)先級和較低優(yōu)先級主題 的動作(203);以及在不需要所述網(wǎng)頁定義中詳細(xì)的較高優(yōu)先級和較低優(yōu)先級主題信息的情況下 將所述較高優(yōu)先級和較低優(yōu)先級主題應(yīng)用于所述網(wǎng)頁定義的步驟(210)。
19.如權(quán)利要求18所述的方法,其特征在于,所述在不需要所述網(wǎng)頁定義中 詳細(xì)的較高優(yōu)先級和較低優(yōu)先級主題信息的情況下將所述較高優(yōu)先級和較低優(yōu)先 級主題應(yīng)用于所述網(wǎng)頁定義的步驟包括如下訪問一個或多個面向較高優(yōu)先級主題的文本文檔的動作,所述文本文檔共同 地描述至少一個可被應(yīng)用于所述網(wǎng)頁定義的控件對象的較高優(yōu)先級主題性質(zhì);基于所述一個或多個面向較高優(yōu)先級主題的文本文檔生成較高優(yōu)先級主題類 的動作;將所述較高優(yōu)先級主題類編譯成可用于實例化較高優(yōu)先級主題對象的較高優(yōu) 先級主題類的動作;使用所述己編譯的較高優(yōu)先級主題類實例化較高優(yōu)先級主題對象的動作,所 述較高優(yōu)先級主題對象包括至少一個部分,在被執(zhí)行時,使所述至少一個較高優(yōu)先 級主題性質(zhì)在由相應(yīng)于所述網(wǎng)頁定義的網(wǎng)頁定義實例調(diào)用時被應(yīng)用于所述控件對 象;確定相應(yīng)于所述網(wǎng)頁定義的所述網(wǎng)頁是應(yīng)用較低優(yōu)先級主題的動作;訪問一或多個面向較低優(yōu)先級主題的文本文檔的動作,所述文本文檔共同地 描述至少一個可被應(yīng)用于所述網(wǎng)頁定義的控件對象的較低優(yōu)先級主題性質(zhì);基于所述一個或多個面向較低優(yōu)先級主題的文本文檔生成較低優(yōu)先級主題類 的動作;將所述較低優(yōu)先級主題類編譯成可用于實例化較低優(yōu)先級主題對象的較低優(yōu) 先級主題類的動作;使用所述已編譯的較低優(yōu)先級主題類實例化較低優(yōu)先級主題對象的動作,所 述較低優(yōu)先級主題對象包括至少一個部分,在被執(zhí)行時,使所述至少一個較低優(yōu)先 級主題性質(zhì)在由相應(yīng)于所述網(wǎng)頁定義的網(wǎng)頁實例調(diào)用時和在滿足所述繪制優(yōu)先級 機制時被應(yīng)用于所述控件對象;生成網(wǎng)頁類的動作,在所述網(wǎng)頁類上可基于所述網(wǎng)頁定義生成網(wǎng)頁對象的實例;使用所述網(wǎng)頁定義類實例化網(wǎng)頁對象的動作,所述網(wǎng)頁對象包括對所述較高 優(yōu)先級主題對象的所述部分的功能調(diào)用,在被執(zhí)行時,使所述至少一個較高優(yōu)先級 主題性質(zhì)被應(yīng)用于所述控件對象,以及所述網(wǎng)頁對象包括對所述較低優(yōu)先級主題對 象的所述部分的功能調(diào)用,在被調(diào)用時,使所述至少一個較低優(yōu)先級主題性質(zhì)如果 在所述第一主題對象或所術(shù)網(wǎng)頁對象中不存在要被應(yīng)用于所述控件對象的沖突性 質(zhì),則被應(yīng)用于所述控件對象;以及通過使用所述網(wǎng)頁繪制機制執(zhí)行所述網(wǎng)頁對象來繪制具有所述控件對象的所 述網(wǎng)頁的動作。
全文摘要
一種網(wǎng)頁繪制機制,基于三或多層繪制指令的繪制優(yōu)先級生成網(wǎng)頁。生成與表示第二或中間層繪制指令的網(wǎng)頁定義相關(guān)聯(lián)的控件對象。接著,應(yīng)用繪制優(yōu)先級機制。繪制優(yōu)先級機制使存在于第一或較高層繪制指令中的與該控件對象相關(guān)聯(lián)的屬性始終應(yīng)用于該控件對象。在第二層繪制指令中的與該控件對象相關(guān)聯(lián)的屬性如果不與第一層中的屬性沖突,則應(yīng)用于該控件對象。以相似的方式,在第三或較低層繪制指令中的與該控件對象相關(guān)聯(lián)的屬性如果不與第一和第二層繪制指令中的屬性沖突,則應(yīng)用于該控件對象。
文檔編號G06F13/00GK101495982SQ200680029290
公開日2009年7月29日 申請日期2006年7月27日 優(yōu)先權(quán)日2005年8月15日
發(fā)明者S·卡爾維特, T-H·楊 申請人:微軟公司