專利名稱::用于生成網(wǎng)絡(luò)內(nèi)容的基礎(chǔ)結(jié)構(gòu)的制作方法發(fā)明的領(lǐng)域本發(fā)明主要涉及計算領(lǐng)域,尤其是提供可被用來動態(tài)地創(chuàng)建網(wǎng)絡(luò)內(nèi)容,如由入口站點和搜索引擎創(chuàng)建的網(wǎng)頁,的基礎(chǔ)結(jié)構(gòu)。發(fā)明的背景傳統(tǒng)網(wǎng)頁包括符合標(biāo)記語言的內(nèi)容,標(biāo)記語言諸如超文本標(biāo)記語言(HTML)或擴展超文本標(biāo)記語言(XHTML),它適合于由網(wǎng)絡(luò)瀏覽器表現(xiàn)。一些網(wǎng)頁是靜態(tài)的——例如,一頁永恒的、不變的HTML或XHTML內(nèi)容可被存儲在文件中,文件可被下載到用戶機器并且顯示在瀏覽器上。然而,大多數(shù)商業(yè)網(wǎng)絡(luò)內(nèi)容,如由搜索網(wǎng)站、入口站點、電子商務(wù)網(wǎng)站提供的內(nèi)容,不是靜態(tài)的,而是動態(tài)生成的,以至于網(wǎng)站對于用戶能夠個性化,或響應(yīng)來自于用戶的一些輸入而生成。動態(tài)生成的內(nèi)容由專門為此目的設(shè)計的程序生成。這樣的程序是可執(zhí)行或可解釋編碼的模塊,根據(jù)一套規(guī)則或過程模塊創(chuàng)建內(nèi)容。例如,當(dāng)用戶向搜索引擎網(wǎng)站發(fā)送一個查詢時,搜索引擎查閱各種各樣的源(例如,已知網(wǎng)頁的數(shù)據(jù)庫)以產(chǎn)生結(jié)果,然后搜索引擎網(wǎng)站處的內(nèi)容生成程序生成包括結(jié)果的一頁HTML內(nèi)容,并且向用戶發(fā)送那頁。清楚地,這樣的結(jié)果頁面必須被動態(tài)地生成,因為結(jié)果頁面的內(nèi)容將根據(jù)用戶提交什么查詢而改變。雖然在動態(tài)生成網(wǎng)絡(luò)內(nèi)容上現(xiàn)存軟件是有效的,但是當(dāng)存在對程序需要產(chǎn)生的內(nèi)容的創(chuàng)造性變化時,這樣的軟件感到靈活性的缺乏。例如,搜索引擎可使用顯示搜索結(jié)果為搜索引擎定位的網(wǎng)頁標(biāo)題清單的程序。然而,如果搜索引擎的操作者希望引入一個表示這些結(jié)果的新方法(例如,用已定位網(wǎng)頁的縮略圖加強清單),一般,完成這個改變的唯一方法是重寫程序(或,至少,增加支持縮略圖包含的程序的編碼)。大多數(shù)網(wǎng)絡(luò)內(nèi)容可視作由較小內(nèi)容段的模塊化“積木”構(gòu)建。例如,搜索結(jié)果頁面由各種各樣的獨立內(nèi)容段組成(例如,標(biāo)識、版權(quán)啟事、最新搜索的結(jié)果、用于輸入另一個搜索查詢的搜索框、廣告等等)。理論上,網(wǎng)絡(luò)內(nèi)容的模塊化性質(zhì)建議單個程序可驅(qū)動內(nèi)容生成處理,通過由內(nèi)容設(shè)計者在運行時期提供的模塊化積木構(gòu)建內(nèi)容。內(nèi)容的創(chuàng)造性改變不使這樣的程序的改變成為必需,因為程序可簡單地針對使用不同的積木來產(chǎn)生不同內(nèi)容。然而,在不改變軟件本身可對內(nèi)容做出什么類型的創(chuàng)造變化的方面,傳統(tǒng)內(nèi)容生成軟件是十分有限的。以上述觀點,有必要有個克服先前領(lǐng)域的弊端的系統(tǒng)。發(fā)明概述本發(fā)明提供用于生成內(nèi)容,如網(wǎng)頁的基礎(chǔ)結(jié)構(gòu)。基礎(chǔ)結(jié)構(gòu)基于一頁內(nèi)容可從更小的部件構(gòu)建的想法,這些部件可獨立地設(shè)計、完成和修改。本發(fā)明使得這些更小部件,以及它們擬合在一起的方式,能夠在運行時期被明確規(guī)定給內(nèi)容生成軟件。依照發(fā)明,內(nèi)容的創(chuàng)建由“線框”、“視圖”和內(nèi)容生成對象明確規(guī)定。線框是定義一內(nèi)容段的空間區(qū)域的數(shù)據(jù)結(jié)構(gòu)。例如,線框可將網(wǎng)頁定義為具有四個長方形區(qū)域,從頁面的頂部至底部垂直地運行。這些區(qū)域的每個稱為“槽”?!耙晥D”是將線框中每個槽綁定到內(nèi)容生成對象,或一連串的內(nèi)容生成對象(或,另一可選擇地,指定特定的槽為空)的數(shù)據(jù)結(jié)構(gòu)。為了表現(xiàn)視圖,繪制工具訪問視圖中確定的線框,并且對于那個線框中的每個槽,使得內(nèi)容生成對象被綁定到那個槽中以產(chǎn)生內(nèi)容。繪制工具然后將由對象產(chǎn)生的內(nèi)容放入槽中。對于線框中的每個槽這個處理被重復(fù)。繪制工具的輸出是一內(nèi)容段(如HTML網(wǎng)頁),內(nèi)容包含由在線框的合適區(qū)域中的每個內(nèi)容生成對象產(chǎn)生的內(nèi)容。內(nèi)容生成對象包括“控制”、可擴展式樣語言(XSL)標(biāo)記以及視圖??刂剖巧蓪⒈环湃氩壑械腍TML或XHTML內(nèi)容的可執(zhí)行或可解釋編碼。XSL標(biāo)記是可被XSL處理軟件用來生成HTML或XHTML內(nèi)容的數(shù)據(jù)。由于要在內(nèi)容產(chǎn)生中計算視圖結(jié)果,視圖本身就是內(nèi)容生成對象。因此,內(nèi)容可從實際上是最高層視圖的子視圖、子子視圖等等的視圖構(gòu)建。當(dāng)繪制工具遇到被綁定到子視圖中的槽時,繪制工具可遞歸地調(diào)用自己以根據(jù)那個視圖為槽生成內(nèi)容。依照本發(fā)明的特點,根據(jù)配置文件中包含的參數(shù),控制可展示不同的行為。因此,根據(jù)在配置文件中什么參數(shù)被提供,給定控制可被設(shè)計來產(chǎn)生一內(nèi)容段的不同變體。本發(fā)明的其他特點如下所述。附圖的概述結(jié)合附圖閱讀,以上概述,以及以下較佳實施例的詳細描述將被更好地理解。為了說明本發(fā)明,圖中示出的是本發(fā)明的用作范例結(jié)構(gòu);但是,本發(fā)明不被限制于所揭示的特定的方法和手段。圖中圖1是用作范例的計算環(huán)境的框圖,發(fā)明的方面在其中可被實現(xiàn);圖2是用作范例的網(wǎng)絡(luò)瀏覽器的用戶界面的框圖;圖3是第一用作范例的線框的框圖;圖4是第一用作范例的控制的框圖;圖5是第一用作范例的視圖的框圖,視圖將控制綁定到第一用作范例的線框中;圖6是第二用作范例的線框的框圖;圖7-8是用作范例的可擴展樣式語言(XSL)標(biāo)記的框圖;圖9是第二用作范例的控制的框圖;圖10是第二用作范例的視圖的框圖;圖11是第三用作范例的視圖的框圖;圖12是依據(jù)本發(fā)明的方面被生成的用作范例的內(nèi)容的框圖;圖13是依據(jù)本發(fā)明的方面用于生成內(nèi)容的用作范例的基礎(chǔ)結(jié)構(gòu)的框圖;圖14是依據(jù)本發(fā)明的方面用于生成內(nèi)容的用作范例的處理的框圖。發(fā)明的詳細說明綜述許多商業(yè)網(wǎng)絡(luò)內(nèi)容從更小的內(nèi)容段被構(gòu)建,內(nèi)容以定義的方式圖示地被擬合在一起。本發(fā)明提供了使得內(nèi)容提供者根據(jù)這些更小段能夠明確規(guī)定內(nèi)容如何被構(gòu)造的基礎(chǔ)結(jié)構(gòu)?;A(chǔ)結(jié)構(gòu)包括根據(jù)內(nèi)容提供者的規(guī)范動態(tài)地生成內(nèi)容的繪制工具。用作范例的計算環(huán)境圖1展示了用作范例的計算環(huán)境,本發(fā)明的方面在其中可被實現(xiàn)。計算系統(tǒng)環(huán)境100僅僅是合適的計算環(huán)境的一個例子,并且不被試圖建議作為發(fā)明使用或功能的范圍的限制。計算環(huán)境100應(yīng)被解釋為對于任何部件之一或部件組合既不具有任何依賴性,也不具有要求,這些部件在用作范例的操作環(huán)境100中被說明。本發(fā)明可與許多其他通用或?qū)S糜嬎阆到y(tǒng)環(huán)境或配置一起運行。適合和本發(fā)明一起使用的眾所周知的計算系統(tǒng)、環(huán)境、和/或配置的例子包括,而非限制,個人計算機、服務(wù)器計算機、手持式或膝上型設(shè)備、多處理系統(tǒng)、基于微處理機的系統(tǒng)、機頂盒、可編程用戶電子裝置、網(wǎng)絡(luò)PC、小型計算機、大型計算機、嵌入式系統(tǒng)、包括任何以上系統(tǒng)或設(shè)備的分布式計算系統(tǒng)等等。本發(fā)明可用由計算機執(zhí)行的計算機可執(zhí)行指令的一般上下文來描述,如程序模塊。一般地,程序模塊包括完成特定任務(wù)或?qū)崿F(xiàn)特定抽象數(shù)據(jù)、類型的例程、程序、對象、部件、數(shù)據(jù)結(jié)構(gòu)等。本發(fā)明也可在分布式計算環(huán)境中被實踐,其中任務(wù)由遠程處理設(shè)備完成,遠程處理設(shè)備通過通信網(wǎng)絡(luò)或其他數(shù)據(jù)傳送媒體被鏈接。在分布式計算環(huán)境中,程序模塊或其他數(shù)據(jù)可位于包括存儲器存儲設(shè)備的本地和遠程計算存儲媒體中。關(guān)于圖1,用于實現(xiàn)本發(fā)明的用作范例的系統(tǒng)包括以計算機110形式存在的通用計算設(shè)備。計算機110的部件可包括,但非限制,處理單元120、系統(tǒng)存儲器130以及系統(tǒng)總線121,系統(tǒng)總線121將包括系統(tǒng)存儲器的各種各樣的系統(tǒng)部件耦合到處理單元120上。系統(tǒng)總線121可以是任何一些類型的總線結(jié)構(gòu),總線結(jié)構(gòu)包括存儲器總線或存儲器控制器、外圍總線、以及使用任何各種總線結(jié)構(gòu)的本地總線。作為例子,而非限制,這樣的結(jié)構(gòu)包括工業(yè)標(biāo)準體系結(jié)構(gòu)(ISA)總線、微通道體系結(jié)構(gòu)(MCA)總線、增強型ISA(EISA)、視頻電子標(biāo)準協(xié)會(VESA)本地總線、以及外圍部件互連(PCI)總線(也稱為Mezzanine總線)。計算機110一般包括各種計算機可讀媒體。計算機可讀媒體可以是可被計算機110訪問的任何可用媒體,并且包括易失的和非易失的媒體,可移動的和不可移動的媒體。作為例子,而非限制,計算機可讀媒體可包括計算機存儲媒體和通信媒體。計算機存儲媒體包括易失的和非易失的、可移動的和不可移動的媒體,這些媒體以用于諸如計算機可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊或其他數(shù)據(jù)的信息存儲的任何方式或技術(shù)被實現(xiàn)。計算機存儲媒體包括,而非限制,RAM、ROM、EPROM、閃存或其他存儲技術(shù)、CDROM、數(shù)字多用光盤(DVD)或其他光盤任何存儲、磁盒、磁帶、磁盤存儲或其他磁存儲設(shè)備,或可用來存儲所需信息并且可被計算機110訪問的任何其他媒介。通信媒體一般包含計算機可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊或在諸如載波或其他傳輸裝置的調(diào)制數(shù)據(jù)信號中的其他數(shù)據(jù),并且包括任何信息傳遞媒體。術(shù)語“調(diào)制數(shù)據(jù)信號”意思是,具有一個或多個以編碼信號中的信息的信號這樣的方式設(shè)置或變換的特征的信號。作為例子,而非限制,通信媒體包括諸如有線網(wǎng)絡(luò)或直接連線連接的有線媒體,以及諸如聲的、RF、紅外或其他無線媒體的無線媒體。以上任何的組合也應(yīng)被包括在計算機可讀媒體的范圍內(nèi)。系統(tǒng)存儲器130包括以易失的和/或非易失的存儲器形式存在的計算機存儲媒體,如只讀存儲器(ROM)131和隨機存取存儲器(RAM)132?;据斎?輸出系統(tǒng)133(BIOS),包括幫助在計算機110中的單元之間傳送信息的基本例程,如在啟動期間,一般被存儲在ROM131中。RAM132一般包括可被處理單元120立即訪問和/或正被處理單元120操作的數(shù)據(jù)和/或程序模塊。作為例子,而非限制,圖1說明了操作系統(tǒng)134、應(yīng)用程序135、其他程序模塊136和程序數(shù)據(jù)137。計算機110也可包括其他可移動的/不可移動的、易失的/非易失的計算機存儲媒體。僅僅作為例子,圖1說明了從不可移動的、非易失的磁媒體中讀取或?qū)懭氲挠脖P驅(qū)動140,從可移動的、非易失的磁盤152中讀取或?qū)懭氲拇疟P驅(qū)動151,以及從可移動的、非易失的光盤156中讀取或?qū)懭氲墓獗P驅(qū)動155,光盤如CDROM或其他光媒體??杀挥迷谟米鞣独牟僮鳝h(huán)境中的其他可移動的/不可移動的、易失的/非易失的計算機存儲媒體包括,而非限制,磁帶盒、閃存卡、數(shù)字多用光盤、數(shù)字錄象帶、固態(tài)RAM、固態(tài)ROM等等。硬盤驅(qū)動141一般通過諸如接口140的不可移動的存儲器接口被連接至系統(tǒng)總線121,磁盤驅(qū)動151和光盤驅(qū)動155一般通過可移動存儲器接口,如接口150,被連接至系統(tǒng)總線121。以上討論的并且在圖1中被說明的驅(qū)動和與它們有關(guān)的計算機存儲媒體向計算機110提供了計算機可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊以及其他數(shù)據(jù)的存儲。在圖1中,例如,硬盤驅(qū)動141被作為存儲操作系統(tǒng)144、應(yīng)用程序145、其他程序模塊146和程序數(shù)據(jù)147來說明。注意,這些部件可以與操作系統(tǒng)134、應(yīng)用程序135、其他程序模塊136和程序數(shù)據(jù)137相同或不同。操作系統(tǒng)144、應(yīng)用程序145、其他程序模塊146和程序數(shù)據(jù)147在此被給予不同的數(shù)字以說明,至少,它們是不同的復(fù)制。用戶可通過諸如鍵盤162和指點器161的輸入設(shè)備向計算機20輸入命令和信息,指點器161通常指鼠標(biāo)、軌跡球或觸摸板。其他輸入設(shè)備(未展示)可包括話筒、游戲桿、游戲板、衛(wèi)星拋物面、掃描儀等等。這些或其他輸入設(shè)備常通過與系統(tǒng)總線耦合的用戶輸入接口160被連接至處理單元120,但也可通過其他接口和總線結(jié)構(gòu),如并行口、游戲口或通用串行總線(USB)被連接至處理單元120。監(jiān)視器191或其他類型的顯示設(shè)備也經(jīng)由接口,如視頻接口190,被連接至系統(tǒng)總線121。除了監(jiān)視器,計算機還可包括諸如揚聲器197和打印機196的外圍輸出設(shè)備,它們可通過輸出外圍設(shè)備接口190被連接。計算機110可運行于使用邏輯連接至一個或多個遠程計算機,如遠程計算機180,的聯(lián)網(wǎng)環(huán)境中。遠程計算機180可以是個人計算機、服務(wù)器、路由器、網(wǎng)絡(luò)PC、對等設(shè)備或其他普通的網(wǎng)絡(luò)節(jié)點,并且一般包括以上描述的與計算機110相關(guān)的計算機許多或所有單元,盡管只有存儲器存儲設(shè)備181在圖1中被說明。圖1中所描述的邏輯連接包括局域網(wǎng)(LAN)171和廣域網(wǎng)(WAN)173,但也可包括其他網(wǎng)絡(luò)。這樣的聯(lián)網(wǎng)環(huán)境在辦公室、企業(yè)級計算機網(wǎng)絡(luò)、內(nèi)部網(wǎng)和因特網(wǎng)中是平常的。當(dāng)被用在LAN聯(lián)網(wǎng)環(huán)境中,計算機110通過網(wǎng)絡(luò)接口或適配器170被連接至LAN171。當(dāng)被用在WAN聯(lián)網(wǎng)環(huán)境中,計算機110一般包括調(diào)制解調(diào)器172或用于建立在WAN173,如因特網(wǎng),上通信的其他裝置。調(diào)制解調(diào)器172可以是內(nèi)置的或外置的,可經(jīng)由用戶輸入接口160,或其他合適的裝置被連接至系統(tǒng)總線121。在聯(lián)網(wǎng)環(huán)境中,所描述的與計算機110有關(guān)的程序模塊,或其部分,可被存儲在遠程存儲器存儲設(shè)備中。作為例子,而非限制,圖1將遠程應(yīng)用程序185作為駐存在存儲器設(shè)備181上來說明。要理解的是,所示的網(wǎng)絡(luò)連接是用作范例的,并且在計算機之間建立通信鏈接的其他裝置也可被使用。用作范例的網(wǎng)絡(luò)瀏覽器圖2展示了用作范例的網(wǎng)絡(luò)瀏覽器的可視接口。如本領(lǐng)域中所知的,網(wǎng)絡(luò)瀏覽器是使得用戶能夠與某類型內(nèi)容(如HTML內(nèi)容)交互,并且能夠從網(wǎng)絡(luò)中檢索這樣的內(nèi)容的一段軟件。瀏覽器200可以,例如,組成存儲在計算機110上(圖1中所示的)、并且在處理單元120上執(zhí)行(圖1中所示的)的軟件。瀏覽器200可從計算機110所連接到的廣域網(wǎng)173(圖1中所示的),例如因特網(wǎng),中訪問內(nèi)容,。一般地,瀏覽器也可以訪問在計算機110上本地存儲的內(nèi)容。圖2的用作范例瀏覽器向用戶顯示各種各樣的信息。特別是,瀏覽器200向用戶顯示站點鏈接欄202。站點鏈接欄202包括框204,用戶可輸入統(tǒng)一資源定位(URL)到框中,依次點擊瀏覽器到特定內(nèi)容項目。在圖2的例子中,用戶輸入URLhttp//search.msn.com到框204中,由此表明用戶希望訪問由URL標(biāo)識的內(nèi)容。瀏覽器200從它可能位于的因特網(wǎng)的哪個地方中檢索這個內(nèi)容,并且在視圖區(qū)域206中顯示內(nèi)容。在圖2的例子中,內(nèi)容用HTML或XHTML傳送。(在URL中的詞語http表示“超文本傳輸協(xié)議”;在URL中它的出現(xiàn)表明基本內(nèi)容是HTML或XHTML內(nèi)容)。瀏覽器200包含,或訪問,HTML和/或XHTML解釋器,解釋器呈現(xiàn)由瀏覽器200接收到的HTML或XHTML內(nèi)容。在圖2的例子中,瀏覽器200在標(biāo)題欄208中顯示內(nèi)容的標(biāo)題(“MSNSearch——“MoreUsefulEveryday”)。一般的瀏覽器,諸如瀏覽器200,也使得用戶能夠完成各種各樣的功能,如打印、郵寄、或保存已顯示的內(nèi)容;使用“收藏夾”或“書簽”的清單來導(dǎo)航到其他內(nèi)容;改變文本內(nèi)容的默認字體等等。這個功能通過菜單欄210和/或按鈕212向用戶展示。如下所述,本發(fā)明為生成內(nèi)容提供了基礎(chǔ)結(jié)構(gòu),如在視圖區(qū)域206中被顯示的那些。用于創(chuàng)建內(nèi)容呈現(xiàn)的數(shù)據(jù)結(jié)構(gòu)本發(fā)明提供了歸納和抽象用來創(chuàng)建諸如用于網(wǎng)頁的XHTML內(nèi)容的過程的基礎(chǔ)結(jié)構(gòu)。(對于這點,瀏覽器可呈現(xiàn)內(nèi)容的例子應(yīng)指的是作為XHTML內(nèi)容的內(nèi)容。但是,應(yīng)該理解的是本發(fā)明可被用來生成其他類型的內(nèi)容,如HTML、無線標(biāo)記語言(WML)、話音可擴展標(biāo)記語言(VXML)等等)。本發(fā)明的基礎(chǔ)結(jié)構(gòu)利用了四種類型的數(shù)據(jù)結(jié)構(gòu)線框、視圖、控制和配置文件。“線框”是定義一頁內(nèi)容的空間區(qū)域的數(shù)據(jù)結(jié)構(gòu)。每個區(qū)域被稱為“槽”?!翱刂啤卑▌討B(tài)地生成XHTML內(nèi)容的可執(zhí)行或可解釋編碼,被放入由線框定義的特定的槽中?!耙晥D”是在特定的槽和特定的控制(或特定的一連串控制)之間建立映像的數(shù)據(jù)結(jié)構(gòu)。視圖也可將可擴展樣式語言(XSL)標(biāo)記、或另一個視圖映像到槽中(視圖也可將一連串XSL標(biāo)記或視圖映像到槽中);到槽中的XSL標(biāo)記和視圖的映像在下面更詳細討論。“配置文件”包括被控制用來影響它們行為的數(shù)據(jù)。例如,控制可能能夠生成特定內(nèi)容段的兩個或更多的不同變體,并且配置文件可包含表明這些變化中的哪個應(yīng)被生成的參數(shù)。圖3展示了用作范例的線框300。線框300將內(nèi)容的概念頁分成區(qū)域,區(qū)域如上所注,被稱為“槽”。在圖3的例子中,有四個槽,304(1)、304(2)、304(3)和304(4)。每個槽有個名字;在這個例子中,從304(1)到304(4)的名字各自為“slot_header”、“slot_results”、“slot_sidebar”和“slot_footer”。線框300本身也有名字(“WireFrame_Site”,在這個例子中)。如下所要討論的,名字被用在視圖數(shù)據(jù)結(jié)構(gòu)中以識別線框及其每個槽。一般地,線框被表示為XHTML結(jié)構(gòu)。因此,圖3中所示的用作范例的線框可被定義為如下<wireframename=”wireframe_site”><div><slotname=”slot_header”/></div><table><tr><td><slotname=”slot_results”/></td><td><slotname=”slot_sidebar”/></td></tr></table><div><slotname=”slot_footer”/></div></wireframe>如所見,上述XHTML定義設(shè)計了四個內(nèi)容區(qū)域具有槽名“slot_header”的頂端區(qū)域;具有槽名“slot_footer”的底端區(qū)域;以及在頂端和底端區(qū)域之間的兩列表格,其中左列被稱為“slot_results”,右列被稱為“slot_sidebar”。圖4展示了用作范例的控制400,它生成XHTML內(nèi)容402。控制400有名字(“Control_Footer”,在這個例子中),并且,如下所述,名字被用在視圖數(shù)據(jù)結(jié)構(gòu)以識別控制??刂?00可被用來產(chǎn)生將被插入到線框300中名為“slot_footer”的槽中的內(nèi)容??刂?00包括可執(zhí)行或可解釋編碼,當(dāng)編碼執(zhí)行時被配置成動態(tài)地生成XHTML內(nèi)容402??刂?00可用各種各樣的方式實現(xiàn)。例如,控制400可包括機器可執(zhí)行編碼(如.exe或.dll文件)、可解釋腳本(如在JAVA或C#語言中的腳本),虛擬機器編碼(如Java字節(jié)碼)等等。下面是描述控制400功能的偽碼的例子。(將易于理解的是下列偽碼可在任何上述可執(zhí)行或可解釋部件中被實現(xiàn)。)<prelisting-type="program-listing"><![CDATA[ XTHMLControl_Footer() { StringstrFooter; strFooter=_ “<TABLEWIDTH=771”HEIGHT=”16”CELLPADDING=”0” CELLSPACING=”0”BORDER=”0”> ?。糡R><TDWIDTH=”770”HEIGHT=”1”BGCOLOR=”#bdbebd”> ?。糞PACERTYPE=”block”HEIGHT=“1”/></TD></TR> <TD><TDHEIGHT=”15”class=”nsf”>&ndsp;&nbsp; ” strFooter=strFooter&file_read(copyright_notice.txt); strFooter=_ “</TD></TR></TABLE>” returestrFooter; }]]></pre>上述偽碼將控制400定義為生成和返回XHTML內(nèi)容的名為“Control_Footer“的函數(shù)。在這個例子中,Control_Footer將XTHML編碼返回到表格中,表格具有特定尺寸和背景顏色,并且包含諸如”Copyright2003MicrosoftCorporation-AllRightsReserved”的文本串(或不管什么文本串被包含在文件“copyright-notice.txt”中。)如上所注明的,控制可借助于被稱為“視圖“的結(jié)構(gòu)被映像(或“綁定”)到線框的槽中。圖5展示了用作范例的控制到線框200的槽中的映像。在這個例子中,控制420(被稱為“Control_Header”)映像到槽304(1),控制410(”Control_Results”)映像到槽304(2),控制430(”Control_Sidebar”)映像到槽304(3),以及控制440(”Control_Footer”,如上所述與圖4有關(guān)的)映像到槽304(4)。這種映像根據(jù)線框200定義了一頁XTHML內(nèi)容,線框中,由槽304(1)、304(2)、304(3)、和304(4)定義的每個區(qū)域?qū)⒏髯缘乇挥煽刂?20、410、430、440生成的XHTML內(nèi)容填充。這個映像表示視圖500。視圖500,如圖5所描述的,可由下列數(shù)據(jù)結(jié)構(gòu)來表示<prelisting-type="program-listing"><![CDATA[ ?。紇iewname=”view_Classic”wireframe=”wireframe_site”> <bindingslot=”slot_header”> ?。糲tlControl_Header/> ?。?binding> ?。糱indingslot=”slot_results”> ?。糲tlControl_Results/> ?。?binding> <bindingslot=”slot_sidebar”> ?。糲tlControl_Sidebar/> </binding> ?。糱indingslot=”slot_footer”> ?。糲tlControl_Footer/> ?。?binding> ?。?view>]]></pre>以上所示的數(shù)據(jù)結(jié)構(gòu)將名字“view_Classic”分配給視圖。因為一般系統(tǒng)有幾個視圖,名字允許視圖從幾個視圖中被識別。正如所見,數(shù)據(jù)結(jié)構(gòu)包含每個槽的“綁定”,并且表明將被“綁定”到槽中的特定控制。雖然上述例子展示被綁定到每個槽中的簡單控制,但是應(yīng)該注意到,多個控制可被綁定到單個槽中以被按次序地執(zhí)行。因此,“slot_header”的綁定可如下被讀取<bindingslot=”slot_header”><ctlControl_A/><ctlControl_B/><ctlControl_C/></binding>這種綁定將表明名為“Control_A”、“Control_B”和“Control_C”的控制按表明的次序執(zhí)行以便將內(nèi)容填充slot_header中。此外,當(dāng)上述例子僅僅展示被綁定到槽中的控制,如前所注明的,本發(fā)明也允許視圖或XSL標(biāo)記被綁定到槽中??刂频讲鄣慕壎ㄊ墙壎ǖ淖詈唵卫印5?,槽綁定的概念可以被通用化,圖6-12展示了這樣通用化的例子。用視圖來明確規(guī)定內(nèi)容的例子如上所述,控制是生成XHTML內(nèi)容的軟件對象。將控制“映像”或“綁定”到槽意味著槽將被由控制生成的XHTML內(nèi)容填充。然而,控制不是生成XHTML內(nèi)容的唯一類型的對象。特別是,本領(lǐng)域所熟知的是XSL標(biāo)記可被計算來產(chǎn)生XHTML內(nèi)容。此外,當(dāng)視圖被計算來將合適的內(nèi)容放入線框的槽中時,這個計算的結(jié)果是XHTML內(nèi)容,所以視圖也是產(chǎn)生XTHML內(nèi)容的另一個對象??紤]這些事實,可看到XSL標(biāo)記和視圖,以及可被計算來產(chǎn)生XTHML內(nèi)容的任何其他類型的對象,可被映像到槽。圖6-11展示如何構(gòu)建視圖,視圖可被綁定到線框300(圖3中所示的)中名為“slot_header”的槽。結(jié)合以前例子,視圖包含用于特定線框的槽綁定,所以有必要定義將被用在視圖中的線框。圖6展示了線框600,被稱為”WireFrame_Header”。線框600有四個槽,602(1)、602(2)、602(3)和602(4),各自被稱為“slot_big7”、“slot_banner”、“slot_sharkfin”和“slot_querybox”。這個線框可由下列數(shù)據(jù)結(jié)構(gòu)定義<wireframename=”WireFrame_Header”><div><slotname=”slot_big7”/></div><div><slotname=”slot_banner”/></div><div><slotname=”slot_sharkfin”/></div><div><slotname=”slot_querybox”/></div></wiregrame>圖7-10展示將被綁定到線框600的槽602(1)至602(4)的各種各樣的對象。圖7展示了名為“Big7”的XSL標(biāo)記700。XSL標(biāo)記700關(guān)聯(lián)于XSL數(shù)據(jù),它在合適的XSL處理軟件的幫助下,可被用來生成XHTML內(nèi)容,內(nèi)容包含出現(xiàn)search.msn.com美國版網(wǎng)站的頂端的“big7”鏈接702。這些“big7”鏈接是”MSNHome”、”MyMSN”、“Hotmail”、”Search”、“Shopping”、“Money”以及“People&Chat”。圖8展示了另一個XSL標(biāo)記800,被稱為“Banner”。XSL標(biāo)記800可被XSL處理軟件以與XSL標(biāo)記700相同的方式計算。但是,XSL標(biāo)記800產(chǎn)生條幅廣告802。在圖8的例子中,這個條幅廣告是用于Redmond大學(xué)的。圖9展示了被稱為“Control_Sharkfin”的控制900。控制900生成在曲線圖形(參照數(shù)字902)旁邊展示字母MSN的XHTML內(nèi)容,內(nèi)容出現(xiàn)在search.msn.com網(wǎng)站上。(圖形從鯊魚的背鰭導(dǎo)出其名字,曲線是它的聯(lián)想)圖10展示了被稱為“View_QueryBox”的視圖1000。與視圖500一起(上述連同圖5討論的),視圖1000表示在線框的槽和將為那些槽生成內(nèi)容的對象(如控制、XSL標(biāo)記、或視圖)之間的映像或綁定。在圖10的例子中,線框1002有兩個槽,1004(1)和1004(2),各自被稱為“slot_searchbox”和“slot_polead”。視圖1000將槽1004(1)(“slot_searchbox”)綁定到為框1006和“go”按鈕1008產(chǎn)生XHTML內(nèi)容的對象中,用戶可將查詢打入框1006,用戶可點擊“go”按鈕1008向搜索引擎發(fā)送查詢。槽1004(2)(“slot_polead”)被綁定到為廣告1010產(chǎn)生XHTML內(nèi)容的對象。將XSL標(biāo)記700和800、控制900、以及視圖1000綁定到線框600的槽的視圖可被創(chuàng)建(圖6中所示的)。圖11展示了這樣的綁定。XSL標(biāo)記700(”Big7”)被綁定到槽602(1)(“slot_big7”)。XSL標(biāo)記800被綁定到槽602(2)(“slot_banner”)??刂?00(”Control_Sharkfin”)被綁定到槽602(3)(“slot_sharkfin”)。視圖1000(”View_queryBox”)被綁定到槽602(4)(“slot_querybox”)。由這種綁定定義的視圖1100可如下列數(shù)據(jù)結(jié)構(gòu)表示<prelisting-type="program-listing"><![CDATA[?。紇iewname-=”view_header”wireframe=”WireFrameheader”> ?。糱indingslot=”slot-big7”> ?。紉slBig7/>‘XSLyieldsBig7HTML ?。?binding> <bindingslot=”slot_banner”> ?。紉slBanner/>“XSLyieldsBannerAdcreative ?。?binding> ?。糱indingslot=”slot_sharkfin”> ?。糲tlControl_Skarkfin/> </binding> ?。糱indingslot=”slot_querybox”> <viewView_QueryBox/> ?。?binding> ?。?view>]]></pre>上述數(shù)據(jù)結(jié)構(gòu)將“view_header”的名字給于視圖1000,并且創(chuàng)建了圖11中所描述的綁定。在上面例子中,要注意的是被綁定到槽的每個類型的對象被標(biāo)志預(yù)定為它的類型——例如,“xslBanner”,以表明“Banner”是XSL標(biāo)記,并且相似的詞語“ctlControl_Skarkfin”和“viewView_QueryBox”來標(biāo)志控制和視圖。使用這種類型的標(biāo)志是較佳的,因為控制、XSL標(biāo)記、以及視圖要求不同類型的處理,并且標(biāo)志使得視圖繪制工具(下面連同圖13-14所討論的)能夠容易地識別什么類型的對象需要處理。如上所注明的,圖6-11展示了例子,其中視圖(視圖1100)被綁定到線框300中的槽304(1)(”slot_header”)。(另一個視圖不得不被創(chuàng)建以將線框300的槽綁定到將填充這些槽的內(nèi)容生成對象。這個視圖將包括在槽304(1)和視圖1000之間的綁定。這樣的視圖的細節(jié)能夠容易地從后續(xù)討論中被理解。)圖12展示了根據(jù)這個綁定可被創(chuàng)建的結(jié)果內(nèi)容。圖12展示了線框300,及其四個槽304(1)、304(2)、304(3)和304(4)。因為槽304(1)(“slot_header”)被綁定至視圖1100中,線框600(視圖1100是以此為基礎(chǔ)的)作為覆蓋槽304(1)被展示。線框600,依次,有四個槽602(1)、602(2)、602(3)和602(4)。在這四個槽中,槽602(4)被綁定至視圖1000(圖10中所示的),視圖1000,依次,是以線框1002為基礎(chǔ)的。因此,在圖12中線框1002作為覆蓋槽602(4)被展示。從圖12中可理解,其中所示的內(nèi)容形成了層次,其中線框1002是在線框600的一個槽中,線框600,依次,是在線框300的一個槽中。從層次底部到向上分析圖12中所示的內(nèi)容,可以看到視圖1000生成下列內(nèi)容框1006和“go”按鈕1008(在線框1002中的槽1004(1)內(nèi)),以及廣告1010(在槽1004(2)內(nèi))。這個內(nèi)容位于線框600中的槽602(4)內(nèi)。線框600也包含內(nèi)容項目702、802和902,這些可從XSL標(biāo)記和控制中被生成,如以上圖7-9中所描述的。視圖1100因此生成被包含在線框600的槽中的內(nèi)容。因為視圖1100已被綁定到線框300的槽304(1),由視圖1100生成的內(nèi)容被放入槽304(1)中。圖12也展示了槽304(2)-304(4);視圖可以被明確規(guī)定為以上述方式將這些槽綁定到控制、XSL標(biāo)記、以及視圖。雖然圖6-12的例子展示被綁定到單個控制、XSL標(biāo)記、或視圖的每個槽,如上所注明,槽可以被綁定到多個控制、XSL標(biāo)記、或視圖,它們都能被計算來填充給定的槽。應(yīng)該注明的,雖然圖12使用虛線來展示線框及其槽的外形,但是這些線實際上不被包括在從視圖構(gòu)建的內(nèi)容中。這些線僅僅在圖12中被展示以說明層次結(jié)構(gòu),在結(jié)構(gòu)中內(nèi)容可根據(jù)本發(fā)明被構(gòu)建。從視圖生成內(nèi)容的結(jié)構(gòu)圖13展示了依據(jù)本發(fā)明被用來生成內(nèi)容的各種各樣部件的概述。繪制工具1302是使用視圖1304來生成XHTML內(nèi)容的軟件部件,內(nèi)容適合于在瀏覽器(如瀏覽器200,圖2中所示的)上表現(xiàn)。繪制工具可以,作為例子,在搜索引擎的服務(wù)器上存在,并且可以被用來動態(tài)地生成結(jié)果頁面以響應(yīng)用戶查詢。如上所討論的,視圖,如視圖1304,包括在線框1308的槽的一方和內(nèi)容生成對象1308的另一方之間的映像或綁定。也如上所討論的,內(nèi)容生成對象1316可采取各種各樣的形式;控制1310、XSL標(biāo)記1312、以及視圖1314是對象的例子,內(nèi)容生成以對象為基礎(chǔ)??刂?310,如上所述,包括動態(tài)地生成內(nèi)容的可執(zhí)行或可解釋編碼。因為控制1310可以作為程序被實現(xiàn),根據(jù)它們的輸入它們能夠展現(xiàn)不同行為。配置文件1316向控制提供這個輸入。例如,根據(jù)各種各樣情況,“sharkfin”控制(參照數(shù)字900,圖9中所示的)可被用于生成鯊魚鰭圖形的不同版本(如,更寬或更窄的版本)。例如,根據(jù)網(wǎng)站是正通過導(dǎo)航欄202(圖2中所示的)被直接訪問,還是通過將視圖區(qū)域206分割成兩個窄的子區(qū)域的搜索協(xié)助特性被訪問,search.msn.com網(wǎng)站可生成鯊魚鰭的或?qū)捇蛘陌姹?。配置文?316可包含被鯊魚鰭控制用來明確規(guī)定哪個鯊魚鰭的版本將被生成的參數(shù)。如果鯊魚鰭控制被設(shè)計來響應(yīng)配置文件中的參數(shù),那么鯊魚鰭的不同版本可用單個控制和多個配置文件被創(chuàng)建;不同的配置文件可根據(jù)哪個鯊魚鰭的版本將被產(chǎn)生提供給控制。此外,配置信息可作為槽綁定的部分在視圖中被明確規(guī)定。例如,綁定<bindingslot=”slot_a”><control_name=”header”mode=”default”></binding>可被用來明確規(guī)定“header”控制將被用于默認模式,并且相似的綁定<bindingslot=”slot_a”><control_name=”header”mode=”searchpane”></binding>也可被用來明確規(guī)定“header”控制將被用于“searchpane”模式。這種明確規(guī)定不同模式的方式與使用不同配置文件來明確規(guī)定用于控制的不同參數(shù)的方式同樣直作用。如配置文件使用的另一個例子,在這里描述的基礎(chǔ)結(jié)構(gòu)可被搜索引擎用來生成查詢和結(jié)果頁面。不同用戶可能希望以不同格式瀏覽搜索結(jié)果,——例如一個用戶可能希望僅僅接收搜索結(jié)果的文本描述,而另一個用戶可能希望瀏覽伴隨文本描述的縮略圖。單個“結(jié)果”控制可以被寫(如,用于綁定到“slot_results”槽304(2)中,圖3中所示),這能夠生成各種格式的結(jié)果。由“results”控制生成的特定格式依賴于包含在配置文件1316中的參數(shù)。結(jié)果被表示的實際格式可通過改變配置文件被簡單地改變。在一個例子中,一些配置文件(每個具有不同參數(shù))可被提供,并且用戶可以被給以改變結(jié)果呈現(xiàn)的機會。例如,當(dāng)用戶接收包含搜索結(jié)果的頁面時,用戶可使用頁面上的菜單來選擇用戶想要接收結(jié)果的不同形式。用戶的選擇然后被發(fā)送至搜索引擎服務(wù)器,帶有服務(wù)器用不同配置文件重新生成頁面的請求。應(yīng)該注意的是配置文件1316可被作為傳統(tǒng)的“文件”被實現(xiàn)(例如,被存儲在文件系統(tǒng)中的指定對象),但不限制于這個實施例。一般地,“配置文件”表示存儲在某個地方并且可被控制訪問的數(shù)據(jù),而不管這個數(shù)據(jù)是如何被存儲的。根據(jù)視圖生成內(nèi)容的過程根據(jù)視圖生成內(nèi)容的過程可由下列偽碼描述<prelisting-type="program-listing"><![CDATA[ RendererEval() { ForeachSlotintheView’sWireFrame { FindSlotbindinginViewBindings Ifbindingexists IfbindingisaControl Slot=Evaluatethecontrol IfbindingisaXSLTag Slot=ProcessXSL IfbindingisaView Slot=RendererEval(subview)Ifbindingdoesnotexist Slot=empty } }]]></pre>上述RendererEval()方法被實現(xiàn),例如,通過繪制工具1302。方法采用視圖作為參數(shù),步進通過視圖的線框中的槽,并且根據(jù)什么對象被綁定到槽為每個槽生成合適的XHTML內(nèi)容。如果槽被綁定到控制,控制被執(zhí)行并且槽被由控制生成的XHTML內(nèi)容填充。如果槽被綁定到XSL標(biāo)記,那么XSL處理軟件被應(yīng)用到標(biāo)記上以生成合適的XHTML內(nèi)容。如果槽被綁定到視圖,那么視圖被計算來生成XHTML內(nèi)容。在上面的偽碼中,“子視圖”是被綁定到“RendererEval()”函數(shù)正在計算的槽的視圖。正如以上偽碼中所見的,RendererEval()可以遞歸地調(diào)用自身以計算這個子視圖。圖14展示了由繪制工具1302實現(xiàn)的過程的流程圖。繪制工具得到視圖(方塊1402)。在以上偽碼例子中,當(dāng)視圖被作為參數(shù)被傳遞到繪制工具的最高層方法時,這個步驟被完成。繪制工具然后檢查第一個槽綁定(方塊1404)。如果綁定是空的(方塊1405),那么沒有內(nèi)容放入這個槽中,所以繪制工具繼續(xù)到方塊1414以決定是否有任何更多的槽。然而,如果槽沒有綁定,那么繪制工具進行計算綁定到槽的對象,并且根據(jù)那個對象用合適的內(nèi)容填充槽。如上所注明的,綁定較佳地表明槽是否被綁定到控制、XSL標(biāo)記或視圖。根據(jù)什么類型的對象被綁定到槽,繪制工具出現(xiàn)分支(方塊1408)。如果槽被綁定到控制,那么控制被執(zhí)行以產(chǎn)生XHTML內(nèi)容,并且XHTML內(nèi)容被放入槽中(方塊1408)。如果槽被綁定到XSL標(biāo)記,那么XSL標(biāo)記被處理以生成XHTML內(nèi)容,并且內(nèi)容被放入槽中(方塊1410)。如果槽被綁定到另一個視圖,那么這個其他的視圖被計算來生成XHTML內(nèi)容,并且那個內(nèi)容被放入槽中(方塊1412)。如上所注明的,當(dāng)視圖在槽綁定中被遇到時,計算那個視圖的過程是和計算最高層視圖的過程本質(zhì)相同的;方塊1412,事實上,可作為對完成圖14過程的方法的遞歸調(diào)用被實現(xiàn)。當(dāng)前的槽被處理后,繪制工具決定在當(dāng)前視圖中是否有另外的槽(方塊1414)。如果沒有這樣的槽,那么過程終止。如果有另外的槽,那么繪制工具繼續(xù)到下一個槽(方塊1416),并且返回到方塊1405來處理下一個槽。要注意的是,上述例子僅僅為了解釋被提供,并且決不被理解為本發(fā)明的限制。當(dāng)本發(fā)明參考各種實施例描述時,要理解這里所使用的詞是描述和說明性的詞,而不是限制的詞。此外,盡管本發(fā)明參考特定裝置、材料和實施例在此描述,但是本發(fā)明不試圖被限制于這里揭示的特例;而是,本發(fā)明擴展至所有功能上等效的結(jié)構(gòu)、方法和使用,如在后附權(quán)利要求書的范圍中。那些本領(lǐng)域熟練的技術(shù)人員,得益于這個規(guī)范的指導(dǎo),在不脫離本發(fā)明在其方面的范圍和精神下,使得許多本發(fā)明的修改和變化可以被做出。權(quán)利要求1.一個用于生成內(nèi)容項目的系統(tǒng),其特征在于,它包括第一線框數(shù)據(jù)結(jié)構(gòu),它定義內(nèi)容項目的多個區(qū)域;第一組內(nèi)容生成對象;第一視圖,它將第一組內(nèi)容生成對象映像到由第一線框定義的區(qū)域中;以及繪制工具,對于由第一線框定義的每個區(qū)域使得內(nèi)容根據(jù)由視圖映像到區(qū)域的內(nèi)容生成對象被生成;以及將生成的內(nèi)容插入?yún)^(qū)域。2.如權(quán)利要求1所述的系統(tǒng),其特征在于,內(nèi)容項目包括超文本標(biāo)記語言(HTML)或擴展超文本標(biāo)記語言(XHTML)網(wǎng)頁。3.如權(quán)利要求1所述的系統(tǒng),其特征在于,由視圖映像到區(qū)域的內(nèi)容生成對象是包括可執(zhí)行或可解釋編碼的控制,生成的內(nèi)容由所述可執(zhí)行或可解釋編碼的執(zhí)行生成。4.如權(quán)利要求3所述的系統(tǒng),其特征在于,還包括配置文件,其中由可執(zhí)行或可解釋編碼生成的內(nèi)容至少部分地基于所述配置文件中包含的數(shù)據(jù)。5.如權(quán)利要求3所述的系統(tǒng),其特征在于,視圖明確規(guī)定了模式,在模式中可執(zhí)行或可解釋編碼要運行,并且由可執(zhí)行或可解釋編碼生成的內(nèi)容至少部分地基于明確規(guī)定的模式。6.如權(quán)利要求1所述的系統(tǒng),其特征在于,由視圖映像到區(qū)域的內(nèi)容生成對象包括可擴展式樣語言(XSL)標(biāo)記,并且根據(jù)所述XSL標(biāo)記,繪制工具使用XSL處理器生成內(nèi)容。7.如權(quán)利要求1所述的系統(tǒng),其特征在于,由視圖映像到區(qū)域的內(nèi)容生成對象包括第二視圖,第二視圖通過將第二線框與第二組內(nèi)容生成對象聯(lián)系起來明確規(guī)定內(nèi)容,生成的內(nèi)容通過繪制工具的計算第二視圖生成。8.如權(quán)利要求1所述的系統(tǒng),其特征在于,至少一個由第一線框定義的區(qū)域不與任何內(nèi)容生成對象一起被第一視圖映像,并且繪制工具使得內(nèi)容項目能夠反映在所述由第一線框定義的區(qū)域之一中的內(nèi)容缺失。9.一個用于生成內(nèi)容項目的方法,其特征在于,包括訪問明確規(guī)定一組線框的槽與一組內(nèi)容生成對象之間的聯(lián)系的視圖,線框的槽定義了內(nèi)容項目的區(qū)域;以及對于每個槽,根據(jù)內(nèi)容生成對象,將內(nèi)容插入所述槽之一中,視圖將內(nèi)容生成對象與所述槽之一聯(lián)系起來。10.如權(quán)利要求9所述的方法,其特征在于,內(nèi)容項目包括超文本標(biāo)記語言(HTML)或擴展超文本標(biāo)記語言(XHTML)網(wǎng)頁。11.如權(quán)利要求9所述的方法,其特征在于,內(nèi)容生成對象包括可執(zhí)行或可解釋編碼,視圖將內(nèi)容生成對象與所述槽之一聯(lián)系起來,并且其中被插入所述槽之一的內(nèi)容通過執(zhí)行所述可執(zhí)行或可解釋編碼被生成。12.如權(quán)利要求11所述的方法,其特征在于,可執(zhí)行或可解釋編碼在確定所生成內(nèi)容期間考慮包含在配置文件中的數(shù)據(jù)。13.如權(quán)利要求11所述的方法,其特征在于,可執(zhí)行或可解釋編碼在確定所生成內(nèi)容期間考慮在視圖中明確規(guī)定的模式。14.如權(quán)利要求9所述的方法,其特征在于,內(nèi)容生成對象包括可擴展式樣語言(XSL)標(biāo)記,視圖將內(nèi)容生成對象與所述槽之一聯(lián)系起來,并且方法還包括根據(jù)XSL標(biāo)記,使用XSL處理器生成內(nèi)容。15.如權(quán)利要求9所述的方法,其特征在于,內(nèi)容生成對象包括子視圖,視圖將內(nèi)容生成對象與所述槽之一聯(lián)系起來,并且方法還包括計算子視圖以生成被插入到所述槽之一中的內(nèi)容。16.用計算機可執(zhí)行指令編碼計算機可讀媒體以完成生成網(wǎng)頁的方法,其特征在于,方法包括接收第一視圖,視圖明確規(guī)定了第一線框與第一組內(nèi)容生成對象之間的對應(yīng)關(guān)系,第一線框包括網(wǎng)頁的多個區(qū)域,每個區(qū)域或者是空的或者是對應(yīng)于第一組內(nèi)容生成對象之一;對于第一線框中的每個所述區(qū)域如果所述區(qū)域之一對應(yīng)于一內(nèi)容生成對象,那么在所述區(qū)域之一中,根據(jù)所述內(nèi)容生成對象,將內(nèi)容加至網(wǎng)頁;如果所述區(qū)域之一對應(yīng)于一內(nèi)容生成對象,那么使得網(wǎng)頁被構(gòu)造以反映所述區(qū)域之一中內(nèi)容的缺失。17.如權(quán)利要求16所述的計算機可讀媒體,其特征在于,這組內(nèi)容生成對象包括一個或多個可執(zhí)行或可解釋編碼,它們操作來生成內(nèi)容;可擴展式樣語言(XSL)標(biāo)記,它向XSL處理器明確規(guī)定將被生成或檢索的內(nèi)容;第二視圖,它明確規(guī)定了第二線框與第二組內(nèi)容生成對象之間的對應(yīng)關(guān)系。18.如權(quán)利要求17所述的方法,其特征在于,可執(zhí)行或可解釋編碼生成的內(nèi)容是包含在配置文件中的數(shù)據(jù)的函數(shù)。19.如權(quán)利要求17所述的方法,其特征在于,可執(zhí)行或可解釋編碼生成的內(nèi)容是在第一視圖中為可執(zhí)行或可解釋編碼明確規(guī)定的模式的函數(shù)。20.計算機可讀媒體在其上編碼了數(shù)據(jù)結(jié)構(gòu)以幫助內(nèi)容項目的生成,其特征在于,數(shù)據(jù)包括第一線框的第一標(biāo)識符,第一線框定義內(nèi)容項目的多個區(qū)域;對于由第一線框定義的至少一個區(qū)域,明確規(guī)定關(guān)聯(lián)于所述區(qū)域之一的內(nèi)容生成對象的綁定,綁定通過關(guān)聯(lián)于所述區(qū)域之一的第二標(biāo)識符識別所述區(qū)域之一,綁定還通過關(guān)聯(lián)于所述內(nèi)容生成對象的第三標(biāo)識符識別內(nèi)容生成對象。21.如權(quán)利要求20所述的計算機可讀媒體,其特征在于,所述第一、第二和第三村識符的每一個包括一文本串。22.如權(quán)利要求20所述的計算機可讀媒體,其特征在于,內(nèi)容生成對象包括生成將被插入進所述區(qū)域之一的內(nèi)容的可執(zhí)行或可解釋編碼。23.如權(quán)利要求20所述的計算機可讀媒體,其特征在于,內(nèi)容生成對象包括XSL標(biāo)記,它向XSL處理器明確規(guī)定將被生成或檢索的內(nèi)容。24.如權(quán)利要求20所述的計算機可讀媒體,其特征在于,內(nèi)容生成對象包括將第二線框的區(qū)域與一組內(nèi)容生成對象聯(lián)系起來的第二視圖。全文摘要用于表示網(wǎng)絡(luò)內(nèi)容的結(jié)構(gòu),將那個內(nèi)容的各種組成模塊化?!熬€框”定義了一頁內(nèi)容的空間區(qū)域。區(qū)域被稱為“槽”?!耙晥D”定義了在線框中的槽和生成內(nèi)容對象之間的映像或綁定。根據(jù)被綁定到槽的對象,繪制工具用內(nèi)容填充槽。槽可被綁定到控制、可擴展式樣語言(XSL)標(biāo)記、或其他視圖??刂剖巧蓛?nèi)容以填充槽的可執(zhí)行或可解釋編碼。XSL處理器也可根據(jù)XSL標(biāo)記生成這樣的內(nèi)容。此外,視圖可以被遞歸地使用,所以槽的內(nèi)容可由另一個視圖生成??刂瓶蓮呐渲梦募薪邮諈?shù),所以給定的控制可產(chǎn)生給定原始內(nèi)容段的不同變體。文檔編號G06F17/30GK1525314SQ20041000761公開日2004年9月1日申請日期2004年2月24日優(yōu)先權(quán)日2003年2月24日發(fā)明者M·羅賣林-斯托批格男,M·A·F·卡爾布西,F卡爾布西,M羅賣林-斯托批格男申請人:微軟公司