亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

可放縮的瀏覽器的制作方法

文檔序號:6430797閱讀:182來源:國知局
專利名稱:可放縮的瀏覽器的制作方法
技術(shù)領(lǐng)域
本發(fā)明涉及可放縮的瀏覽器程序。
瀏覽器程序廣為人知,作為一種應(yīng)用程序被用來提供一種用戶界面,用于閱覽在諸如本地盤、局域網(wǎng)、因特網(wǎng)等等媒體上發(fā)布的信息或與這些信息互相作用。信息和瀏覽器的相互接合趨于更緊密,以允許用戶通過單一的應(yīng)用-瀏覽器-來與各種類型的信息互相作用。
特別地,為在因特網(wǎng)上使用,按照一個表示語言來安排信息。這種表示語言例如是超文本標(biāo)記語言(HTML)、動態(tài)HTML(DHTML)、可擴(kuò)展標(biāo)記語言(XML)。XML表示語言由符合一個例如文檔類型定義(DTD)或XML概要(XML Schema)的概要的、預(yù)定義的XML元素(或標(biāo)簽)組成。
模塊化是將語言中的這種元素集分解成若干子集或模塊的行為。XHTML和SMIL是這種模塊化的已經(jīng)定義的例子。也有可能定義一個元素集,其表示語義和元素能被與其它元素組合(或嵌置)在一起,而本身又不是一個完整的語言。MathML、Ruby和XForms是該范疇中的例子。
一旦模塊可用,它們能被組合成簡檔(profiles)。簡檔是一種語言,它提供一個元素集,該元素集提供用戶所需的一個連貫而完整的語義集。明顯的簡檔是由其衍生出模塊的語言,諸如XHTML和SMIL語言。簡檔能由一個應(yīng)用實(shí)現(xiàn)。
模塊化和簡檔建立的機(jī)制是以XML的可擴(kuò)展性特性為基礎(chǔ)的。XML規(guī)定如何能將元素組合在一個文檔中。
簡檔建立也能是跨原始語言域的。例子是為了動畫制作SVG的XHTML+SMIL簡檔和SMIL動畫。
因此,向?yàn)g覽器提供表示信息的機(jī)會很大。就數(shù)據(jù)通信而言,所要表示的信息以及描述該表示的信息是通過例如廣泛使用的TCP/IP協(xié)議傳送的。
為了按照上述方式表示信息,瀏覽器程序必須支持某個表示語言。這包括語法分析信息,以及按照該語言的再現(xiàn)規(guī)則來再現(xiàn)信息中的內(nèi)容。語言正變得越來越高級,涉及在瀏覽器中再現(xiàn)規(guī)則的復(fù)雜實(shí)現(xiàn)。這要求工作存儲器、存儲容量和處理能力的廣泛應(yīng)用。特別是有更多的表示語言要由瀏覽器支持時,需要廣泛的系統(tǒng)資源?,F(xiàn)今在諸如移動電話、便攜式數(shù)字助理(PDA)等小型/便攜式設(shè)備中具有對于瀏覽器的需求,以更清楚地閱覽向這些設(shè)備提供的越來越增加的大量信息。由于這些設(shè)備存在系統(tǒng)資源相對小的缺陷,也有必要降低系統(tǒng)資源要求。
EP-A2-1003101公開了一種與用戶界面組件和數(shù)據(jù)組件組合使用的應(yīng)用內(nèi)核。該內(nèi)核駐留在客戶機(jī)端,能夠按需從服務(wù)器下載組件。這是一個在內(nèi)核控制下與服務(wù)器通信地執(zhí)行的動態(tài)過程。
然而,上述現(xiàn)有技術(shù)的方法的問題是,它涉及下載處理數(shù)據(jù)所需的組件,否則(即在下載之前)就不能被處理數(shù)據(jù)。該現(xiàn)有技術(shù)可被視為對本發(fā)明的補(bǔ)充。
以上和其它問題由一個當(dāng)在計(jì)算機(jī)上執(zhí)行時構(gòu)成一個瀏覽器程序的計(jì)算機(jī)程序解決,其中,該程序被安排在一個由程序組件組成的瀏覽器結(jié)構(gòu)中;瀏覽器程序被用來處理被安排在一個由模塊組成的數(shù)據(jù)結(jié)構(gòu)中的內(nèi)容;并且其中該瀏覽器結(jié)構(gòu)中的每個程序組件與該數(shù)據(jù)結(jié)構(gòu)中的一個相應(yīng)的模塊匹配。
由此,該計(jì)算機(jī)程序及其配置的功能隨著表示數(shù)據(jù)被按比例放縮。另一個優(yōu)點(diǎn)是來自不同源的相似類型的模塊(例如由XML構(gòu)造定義的)能在不同的簡檔或應(yīng)用中被再使用。
因此就使受資源約束的設(shè)備能以可共同操作和兼容的方式訪問例如來自因特網(wǎng)的信息。資源約束涉及存儲容量和處理能力,但是也涉及顯示器大小等方面。諸如移動電話的手持式設(shè)備構(gòu)成這個領(lǐng)域的主要類型。
因此可以把要在受資源約束的設(shè)備上運(yùn)行的瀏覽器程序安排得符合一個定制表示語言的簡檔。
本發(fā)明的目的是設(shè)計(jì)一種用于執(zhí)行XML文檔再現(xiàn)的軟件結(jié)構(gòu),其方式使得由XML模塊所代表的功能也以模塊化的形式在該結(jié)構(gòu)中出現(xiàn)。在XML文檔級的某種功能的采用或去除,對應(yīng)于在該體系結(jié)構(gòu)中一段軟件的增加或去除。這能通過組件技術(shù)實(shí)現(xiàn)。
在組件技術(shù)中,人們設(shè)計(jì)具有良好定義的互相依賴性的軟件段。組件技術(shù)的例子是COM、Darwin和Koala。組件(程序組件)的特征在于它們是能通過接口與它們的環(huán)境通信的封裝的軟件段。接口執(zhí)行用于輸入或用于輸出的方法。輸入對應(yīng)于組件為正確執(zhí)行其功能的需要,而輸出則對應(yīng)于該功能的結(jié)果。
可以通過連接輸出和輸入接口把各組件組合在一個結(jié)構(gòu)中。該連接可以在編譯時或在運(yùn)行時實(shí)現(xiàn)??梢詫⒁蝗航M件標(biāo)識為一個單獨(dú)的組件,或者反之,一個組件可能被分解成子組件。
優(yōu)選地,程序組件的每一個被安排得接收來自相應(yīng)模塊的內(nèi)容,并被提供對來自相應(yīng)模塊的內(nèi)容進(jìn)行操作的功能。
在一個有利的實(shí)施例中,計(jì)算機(jī)程序有一個語法分析程序,用于從各個模塊提取內(nèi)容并把一個相應(yīng)模塊的內(nèi)容提供到一個與該相應(yīng)模塊匹配的程序組件。
如果將程序組件的大小和功能隨著系統(tǒng)運(yùn)行計(jì)算機(jī)程序的可用資源的大小按比例放縮時,該可放縮性涉及單個組件。這允許將瀏覽器程序改編得適合僅具有非常有限的資源的設(shè)備。
當(dāng)數(shù)據(jù)結(jié)構(gòu)是一種具有由XML元素定義的模塊的XML數(shù)據(jù)結(jié)構(gòu)時,能非常簡單地進(jìn)行匹配。
計(jì)算機(jī)程序可被安排得下載程序組件并將它們集成為瀏覽器的一部分。由此,程序就能適合于或被改編得適合于隨時間推移的變化-以便例如利用更改了的和/或附加的程序組件。
當(dāng)數(shù)據(jù)結(jié)構(gòu)被按模塊分解并被轉(zhuǎn)送到多個設(shè)備上分布的瀏覽器時,瀏覽器可被改編得適合特定設(shè)備。當(dāng)各設(shè)備能夠互相通信時,這是特別有利的。
通過向結(jié)構(gòu)中裝載一個與一個選定的簡檔對應(yīng)的組件集,程序可被安排得能處置簡檔形式的不同功能。由此,瀏覽器按一個選定的簡檔的要求而按比例放縮。程序的結(jié)構(gòu)化體系允許分級適應(yīng)一個選定的簡檔。這又允許非常有效地使用存儲器。
下面將結(jié)合優(yōu)選實(shí)施例參照以下附圖更全面地解釋本發(fā)明。


圖1表示一個系統(tǒng)中的瀏覽器;圖2表示瀏覽器的第一種結(jié)構(gòu);和圖3表示瀏覽器的第二種結(jié)構(gòu)。
圖1表示一個系統(tǒng)中的瀏覽器。系統(tǒng)101可以是移動電話、個人數(shù)字助理(PDA)或通用計(jì)算機(jī)等等。一般來說,本文中所用的術(shù)語計(jì)算機(jī)包含所有類型的消費(fèi)電子設(shè)備,諸如電視機(jī)、收音機(jī)、機(jī)頂盒等等。
系統(tǒng)包含的計(jì)算機(jī)單元102能運(yùn)行操作系統(tǒng)程序(OS)105、應(yīng)用程序(Apps)104和瀏覽器程序(BrwsrPrg)103。術(shù)語應(yīng)用程序(Apps)包括為不同目的被計(jì)算機(jī)系統(tǒng)102運(yùn)行的程序。這種應(yīng)用程序可以是電子郵件應(yīng)用、日歷應(yīng)用等等。
系統(tǒng)包含接口裝置,諸如麥克風(fēng)109、擴(kuò)音器108、顯示器107和鍵盤106。此外,接口裝置可以包含計(jì)算機(jī)鼠標(biāo)(未予示出))。
圖2表示瀏覽器程序的第一種結(jié)構(gòu)。瀏覽器程序200由對一個輸入文件或數(shù)據(jù)流中的單獨(dú)內(nèi)容部分操作的程序組件組成。瀏覽器程序200被安排得處理一個由模塊組成的數(shù)據(jù)結(jié)構(gòu)中的內(nèi)容。該數(shù)據(jù)結(jié)構(gòu)最好符合可擴(kuò)展標(biāo)記語言(XML),其中,一個模塊被定義為XML結(jié)構(gòu)的樹形表示中的一個節(jié)點(diǎn)和(如果有的話)若干子節(jié)點(diǎn)。一個節(jié)點(diǎn)或子節(jié)點(diǎn)包含一個或多個含有內(nèi)容的元素,并被開始-標(biāo)簽和結(jié)尾-標(biāo)簽封閉。在圖中,輸入文件212(XML)被瀏覽器程序200的語法分析程序組件(Prs)201接收。語法分析程序組件(Prs)201被用來從各個模塊提取內(nèi)容并把一個相應(yīng)模塊的內(nèi)容(即內(nèi)容部分)提供到一個與該相應(yīng)模塊匹配的程序組件。
記為streamedText(strmTxt)(流式文本)的第一個組件202包含一個記為Loader(Ldr)(裝入器)的子組件203和一個記為“TextRendition and Layout”(txtR/L)(文本再現(xiàn)和布局)的子組件204。第一個組件的輸入由語法分析程序201以及記為Synchronisation(Sync)(同步)的第二個組件205提供。該組件的輸出通過一個驅(qū)動器(未予示出)被提供到顯示裝置213。
第二個組件205包含一個記為Filter(flt)(過濾器)的子組件206、一個標(biāo)記Clock(clk)(時鐘)的子組件207、和一個記為Comparator(Comp)(比較器)的子組件208。對這個組件的輸入由語法分析程序201提供。
記為playAudio(plAud)(播放音頻)的第三個組件209包含一個記為DRM的子組件210和一個記為“Render and Decode“(R/D)(再現(xiàn)和解碼)的子組件211。這個第三組件的輸出通過一個驅(qū)動器(未予示出))被提供到揚(yáng)聲器裝置213。
如將要在以下的例I中顯示的那樣,瀏覽器結(jié)構(gòu)中的這些程序組件,與數(shù)據(jù)結(jié)構(gòu)中的對應(yīng)的模塊相匹配。
就簡檔而言解釋例I?;叵胍幌?,簡檔是一種設(shè)置的服務(wù),它提供一個服從系統(tǒng)性能、同時順從用戶需求的連貫而完整的功能集。一般而言,應(yīng)當(dāng)指出假設(shè)以下術(shù)語是所述技術(shù)領(lǐng)域的熟練人員熟知的。然而,關(guān)于本例中所用的語義和術(shù)語的更多信息可在www.w3.org/AudioVidio找到,那里解釋了SMIL(同步多媒體集成語言)。
例I同步在本例中例示四個簡檔簡檔1A流式文本的表示。
簡檔1B音頻的表示。
簡檔1C二者在一起的表示。
簡檔1D同步的表示。
簡檔1A-流式文本的表示有一個XML模塊,稱作“StreamedText”(大寫S)(流式文本)
模塊StreamedText“StreamedText”模塊由兩個元素<textstream>(文本流)和<page>(頁)組成。元素<textstream>包裝模塊“StreamedText”,而元素<page>界定將被一個接一個地表示的每個文本串。元素<text>(文本)有一個記為“time”(時間)的屬性,該屬性指示何時要用一個新的<page>替換前一個<page>。應(yīng)當(dāng)注意的是,可以想得出用其它元素和屬性來例如確定顯示位置、顯示的延續(xù)時間等等。
見圖1,程序組件是按照它們的輸入和輸出被說明的,輸入和輸出本身又構(gòu)成組件的接口
表1streamedText組件Loader和Text Rendition and Layout組件可以被組合在單一組件streamedText(小寫s)中。
簡檔1B-音頻的表示有一個XML模塊,稱作“PlayAudio”(大寫P)(播放音頻)
模塊PlayAudio“PlayAudio”模塊由一個元素<audio>(音頻)組成。它引用由其屬性”src”所指示的、因特網(wǎng)上的一個音頻文件。該文件是”mp3”類型的,按照屬性”drm”是供免費(fèi)重放的。
程序組件在下面的表2中說明
表2playAudio組件DRM和‘Render and Decode’組件可以被組合在單一組件playAudio(小寫p)中。
簡檔1C-二者在一起的表示該簡檔把前面兩個XML模塊StreamedText和PlayAudio合并在一起
模塊合并模塊(merged module)實(shí)際上該簡檔由三個模塊組成,因?yàn)樗舶ㄔ?amp;lt;par>來指示其兩個孩子<textstream>(文本流)和<audio>(音頻)要被同時表示。該元素被語法分析,但是在這個簡檔中不被進(jìn)一步處理。音頻在歌曲中的各行在屏幕上顯示的同時被重放。這兩個模塊的進(jìn)行不同步。
程序組件在下面的表3中說明
表3組件簡檔1D-二者在一起的同步化的表示該簡檔用同步功能擴(kuò)展前一個簡檔,或者反之亦然,前面的簡檔是這個簡檔的子集。
模塊完成模塊這個簡檔由與例1C中的相同的模塊組成,不過被用第4個模塊擴(kuò)展,該模塊被稱作MediaMarkerTiming(媒體標(biāo)記定時)(同SMIL20規(guī)范中的具有相同名稱的模塊相似),它包括媒體標(biāo)記器和同步功能。音頻在歌曲中的各行在屏幕上顯示的同時被重放。現(xiàn)在,這兩個模塊的進(jìn)行同步。
程序組件在下面的表4中說明
表4組件例I中的XML模塊和程序組件之間的關(guān)系如下表所示
表5過濾器組件由StreamedText和MediaMarkerTiming這兩個定時類型的存在所暗示。
注意組件與模塊之間的關(guān)聯(lián)可能與簡檔的層次體系有關(guān)。Clock與StreamedText相關(guān)聯(lián);當(dāng)兩種形式的定時都進(jìn)入簡檔時,過濾器和封裝器同步被引入。這些定時模塊的關(guān)聯(lián)與定時的層次體系有關(guān)。例如,可以想象得到一個不支持時鐘時間值的簡檔。這就意味著Clock組件被一個空組件替換(Filter能被清空)。Clock組件不以硬方式與StreamdText模塊相關(guān)聯(lián)。
圖3表示瀏覽器的第二個結(jié)構(gòu)。在圖中,輸入文件307(XML)被瀏覽器程序300的語法分析程序組件301(Prs)接收。語法分析程序組件301被安排得從相應(yīng)的模塊提取內(nèi)容以及將一個對應(yīng)模塊的內(nèi)容(例如一個內(nèi)容部分)提供到一個與該相應(yīng)模塊匹配的程序組件。
記為“ImageRender”(imgR)(圖像再現(xiàn))的組件302接收來自語法分析程序301的輸入并把輸出提供到一個記為“Layout Manager”(布局管理器)303(LoMan)的組件,后者又通過一個驅(qū)動器(未予示出)向一個顯示器308提供一個輸出?!季止芾砥鳌?03從語法分析程序301和一個記為’List Manager’(列表管理器)(ListMan)的組件304接收另外的輸入。
‘ListManager’組件負(fù)責(zé)接收由一個操作用戶界面的用戶喚起的事件。事件可以是所謂的‘點(diǎn)擊’事件、‘鼠標(biāo)移動’事件、‘雙點(diǎn)擊’事件等等。除了向‘布局管理器’提供一個輸出,還向‘EventListener’(事件接收者)組件305(EvList)提供一個輸出。
組件‘Excl Manager’(Excl管理器)306(Exlman)接收來自語法分析程序和‘事件接收者’的輸入,并向‘事件接收者’提供一個輸出。
如將要在接下來的例II中所示的那樣,在瀏覽器結(jié)構(gòu)中這些程序組件與數(shù)據(jù)結(jié)構(gòu)中相應(yīng)的模塊匹配。
例II布局在本例中例示三個簡檔-簡檔2A無布局的圖像畫廊的表示。
-簡檔2B帶布局的UI列表的增加。
-簡檔2C為小屏幕UI列表的增加(無布局)。
簡檔2A-無布局的圖像畫廊的表示。有幾個XML模塊ExclTimeContainers、EventTiming和MultiArcTiming類似于SMIL20中的那些模塊,Image類似于XHTML中的Image
模塊ExclTimeContainers模塊中的<excl>元素含有來自Image模塊的<img>元素。<excl>元素具有這樣的語義,即每只表示它的孩子之一。如果某元素被激活的,則當(dāng)前的一個元素被去激活。EventTiming模塊中的begin屬性規(guī)定對應(yīng)的<img>元素何時必須被顯示。
第一個<img>的begin屬性有兩個被MultiArcTiming模塊允許的值。它實(shí)現(xiàn)<excl>的初始化。
新的<img>在從其前一個<img>接收到一個”點(diǎn)擊”事件后被顯示。該”點(diǎn)擊”事件被某個用戶動作啟動,并以獨(dú)立于平臺的方式被引入系統(tǒng)。
圖像結(jié)果的循環(huán)表示。
程序組件
表6用于無布局的圖像畫廊表示的組件簡檔2B-帶布局的UI列表的增加簡檔用一個List(列表)模塊和一個Layout(布局)模塊擴(kuò)展前面的簡檔,這兩個模塊中的后者與SMIL’Basic Layout’模塊相當(dāng)
模塊Layout模塊增加top(頂)、left(左)、width(寬)和height(高)屬性(它與SMIL20 BasicLayout(基本布局)模塊在增加這些屬性的方式上不同);List模塊增加<list>(列表)和<item>(項(xiàng))元素,它們分別說明一個UI列表接口工具(widget)及其域(fields)。該列表要被顯示在屏幕的左半,圖像要被顯示在屏幕的右半。<list>的UI再現(xiàn)可以以某種方式滾動。<item>元素含有一個要在列表的域中顯示的文本串。當(dāng)單擊一個域時,一個與對應(yīng)<item>元素相關(guān)聯(lián)的事件被喚起。(為了XML格式良好的目的需要<gallery>元素,但這與這個討論無關(guān)。)程序組件
表7帶布局的UI列表的組件簡檔2C-小屏幕UI列表的增加(無布局)該簡檔與前面的簡檔相同,不過不支持Layout(布局)模塊;Layout語義能被語法分析和驗(yàn)證,但是所說明的行為不被執(zhí)行
模塊或者列表,或者一個被選擇的圖像被顯示。圖像是通過單擊列表被選擇的。單擊一個圖像則總是導(dǎo)致顯示列表。(可以想得出更復(fù)雜的方案,例如通過采用雙點(diǎn)擊或右點(diǎn)擊使得列表不是總是被顯示在圖像之間,或者如下面例3B中所示的那樣,等等。這與這個討論無關(guān)。)程序組件
表8小屏幕UI列表的組件(無布局)“LayoutManager”被大量地縮減。它執(zhí)行以其上一次接收的輸入替換屏幕圖像的任務(wù)。每一次將有一個再現(xiàn)即一個元素可見。
我們再次想起,本例旨在簡單地展示本發(fā)明。如果進(jìn)行更復(fù)雜的域語法分析,則會得出設(shè)計(jì)各組件的其它方式。例如,可以將這里所示的組件分解成子組件,根據(jù)簡檔以不同方式將它們分組。然而,不變的是XML模塊與這些子組件相關(guān)聯(lián)。更準(zhǔn)確地說,在例2C這個例子中,用戶單擊的分離不是由ListManager執(zhí)行;相反,它涉及一個管理和分派事件的額外組件。如上所述,這在本例中不細(xì)述。關(guān)于當(dāng)<img>被去激活時布局空間的清除,有類似的評述。
XML模塊和SW組件之間的關(guān)系如下面的表9所示
表9例III多重設(shè)備在本例中例示兩個簡檔
-簡檔3A用于文本的設(shè)備和用于音頻的設(shè)備。
-簡檔3B用于圖像表示的設(shè)備和用于管理列表的設(shè)備。
這個例子討論可放縮性特性應(yīng)用的另一種形式。在頭兩個例子中,可放縮性涉及擴(kuò)展客戶機(jī)設(shè)備的性能。本例中,我們采納前面的兩種情況,但是組合這兩個互補(bǔ)功能的設(shè)備。這兩個設(shè)備裝有相同的XML文檔。它們可能是互連的,以致它們能同步它們的操作。第一個設(shè)備能表示該文檔一部分,第二個設(shè)備能表示另一部分。
由于設(shè)備裝有相同的XML文檔,假設(shè)該文檔允許部分表示——如果客戶機(jī)只能這樣做的話。否則,就需要一個將文檔分離成兩部分的預(yù)處理器(代理(proxy),可能位于設(shè)備之一上)。
文檔提取和向這兩個設(shè)備的裝載也要求它們之間有某種通信。在文檔的表示期間這兩個設(shè)備之間同步的場合,也需要具有該功能。
SMIL20基本規(guī)范是一個如何將相同的文檔裝入不同功能的客戶機(jī)中的例子。它用一個被稱作systemRequired(系統(tǒng)要求)的屬性來說明對某一個模塊的支持的需要。該屬性是被稱作BasicContentControl(基本內(nèi)容控制)的模塊的一個部分。它具有的語義是,對根部位于其被調(diào)用的元素上的子樹的再現(xiàn),只有在其關(guān)聯(lián)的功能被支持時才被執(zhí)行。否則,該子樹必須被跳過,與此同時客戶機(jī)可以繼續(xù)再現(xiàn)文檔的其余部分。在下面的例子中,我們復(fù)制這個模塊。注意這意味著一個執(zhí)行功能檢查的對應(yīng)程序組件。
簡檔3A-用于文本的設(shè)備和用于音頻的設(shè)備有兩個設(shè)備,一個能按照簡檔1A表示流式文本,另一個能按照簡檔1B表示音頻。這兩個設(shè)備都裝有來自簡檔1C的XML文檔,不過是已經(jīng)用systemRequired屬性更改過的
模塊第一個設(shè)備將表示流式文本,第二個設(shè)備將再現(xiàn)音頻。如果兩個設(shè)備能被同步,則必須安置圖2中所示且在簡檔1D中描述的Synchronisation模塊,以控制這兩個設(shè)備之間的同步。這可以在代理中,或者在這兩個設(shè)備的其中之一中。如果XML文檔的作者想要求同步,則在<par>元素需要一個對MediaMarkerTiming的systemRequired調(diào)用。
簡檔3B-用于圖像表示的設(shè)備和用于管理列表的設(shè)備有兩個設(shè)備,一個能按照簡檔2A顯示圖像,另一個能表示圖像的列表,使用戶能在列表中導(dǎo)航。該列表符合簡檔2B和2C中的一個。這兩個設(shè)備互相連接,使得“列表”設(shè)備能向“圖像”顯示器發(fā)送選擇信號。這兩個設(shè)備都裝載有來自簡檔2C的XML文檔,不過是已經(jīng)用systemRequired屬性更改過的,并帶有額外的按照簡檔2A的<img>上的事件說明
模塊第一個設(shè)備將表示圖像;用戶能通過“單擊”圖像而從頭到尾滾動圖像(單擊的形式可以是點(diǎn)擊顯示設(shè)備上的一個旋鈕)。它支持在簡檔2A中描述的組件。第二個設(shè)備將表示圖像的列表。它支持簡檔2C加簡檔2A的組件,特別是ListManager。第二個設(shè)備與第一個設(shè)備通信,以通知事件。
也可以想象得出第一個設(shè)備如簡檔2C中的那樣執(zhí)行,即它包括ListManager。第二個設(shè)備然后提供第一設(shè)備的遙控。人們可以想到如果列表代表EPG(電子節(jié)目指南),則在電視節(jié)目中導(dǎo)航,而不是在圖像列表中導(dǎo)航。電視屏保持表示電視節(jié)目,與此同時可以在遙控器上檢查節(jié)目指南。另一種情形是電視節(jié)目由多個(照相機(jī))視圖組成。不是在同一個屏幕上將導(dǎo)航域與被選擇的視圖一起顯示,而是由一個外圍設(shè)備接管那部分的顯示。程序制作者設(shè)計(jì)描述包括在各視圖中導(dǎo)航的完整程序的XML文檔。電視能顯示其全部-類似于簡檔2C,而用一個用于UI組件的專用遙控器擴(kuò)展電視并在電視中裝載來自程序制作者的相同XML文檔,則使得能夠分離UI和節(jié)目顯示(除了遠(yuǎn)程使用的好處外)。這假設(shè)XML文檔含有像systemRequired屬性那樣的信息。注意到按照情形2A的方式,也可以在根本不支持導(dǎo)航的電視上采用該程序。
強(qiáng)調(diào)“組件”和“結(jié)構(gòu)”在軟件設(shè)計(jì)階段使用的概念是有用的。它們提供在指令它們功能的實(shí)際的程序代碼的一級上位抽象。假設(shè)一個編譯程序創(chuàng)建該實(shí)際的代碼,并按諸如代碼長度的性能標(biāo)準(zhǔn)優(yōu)化該實(shí)際的代碼。
各組件也能被其他組件替代,只要它們完全滿足相同的輸入/輸出關(guān)系。例如,可以將某個功能從結(jié)構(gòu)中去除,方法是將對應(yīng)的組件替換為一個滿足輸入/輸出關(guān)系的空組件。該空組件接收來自與其輸入相連的其它組件的輸出,然后或者丟棄該輸出或者將其一路傳送到其自己的輸出。在輸出變得可用的信息也可由組件生成,例如是個固定常數(shù)。也有可能將接收的輸入稍微變更后再提供到輸出。這都取決于組件的確切功能及其在整個結(jié)構(gòu)中的作用。替換“空”組件的一種設(shè)想是一個位于執(zhí)行已經(jīng)保持的功能的組件之間的(簡單組件形式的)粘接層。
將語言級的表示功能的XML模塊(或XML模塊集)與執(zhí)行該功能的程序或軟件級的組件(或組件集)關(guān)聯(lián)。語言級的簡檔設(shè)置對應(yīng)于結(jié)構(gòu)中的組件的(重)設(shè)置/實(shí)例化。有一個統(tǒng)一化的結(jié)構(gòu),然而在設(shè)備上的實(shí)現(xiàn)只實(shí)現(xiàn)它的各部分,以便按要求的功能簡檔放縮。被實(shí)現(xiàn)的各部分含有與構(gòu)成XML表示語言級的簡檔的XML模塊對應(yīng)的組件的子集。
XML功能模塊的例子包括-同步的定時
-交互作用和其它事件的定時-動畫的定時-UI;接口工具(按鈕,滑標(biāo))-UI;用戶輸入(XForm)-UI;語音(輸入和/或輸出)-文本(HTML)的布局-文本樣式布局(CSS)-媒體(音頻/視頻再現(xiàn))布局-圖像布局-流式文本(閉路字幕)布局-數(shù)字權(quán)限和鑰管理(加密)布局-數(shù)學(xué)公式(MathML)布局本文件中的所有設(shè)計(jì),諸如所使用的XML標(biāo)記,都是舉例。不必與具有相同語義和語法的現(xiàn)有XML有一對一的(語義)映射關(guān)系。也沒有暗示提供良好的標(biāo)記設(shè)計(jì)。同樣,程序組件是舉例命名的,但是不暗示在諸如存儲耗費(fèi)或功能操作的性能尺度上的最優(yōu)設(shè)計(jì)。
為了保持低數(shù)量的組件,在不影響例子時將組件組合成較大的組件。與各例無關(guān)的不重要的組件被忽略。
權(quán)利要求
1.一種當(dāng)在計(jì)算機(jī)(101)上被執(zhí)行時形成一個瀏覽器程序(103;200;300)的計(jì)算機(jī)程序產(chǎn)品,其中-在包含程序組件(201,...211;301,...306)的瀏覽器結(jié)構(gòu)(200;300)中編排該程序;-瀏覽器程序被安排用于處理在包含模塊的數(shù)據(jù)結(jié)構(gòu)中編排的內(nèi)容;和-瀏覽器結(jié)構(gòu)中的每個程序組件與該數(shù)據(jù)結(jié)構(gòu)中的一個相應(yīng)模塊匹配。
2.按照權(quán)利要求1的計(jì)算機(jī)程序產(chǎn)品,其中,程序組件的每一個被安排用于接收來自相應(yīng)模塊的內(nèi)容,并被提供了用于對來自所述對應(yīng)模塊的內(nèi)容進(jìn)行操作的功能。
3.按照權(quán)利要求1或2的計(jì)算機(jī)程序產(chǎn)品,其中,計(jì)算機(jī)程序包含語法分析程序(210;310),用于從相應(yīng)的模塊中提取內(nèi)容,并將一個相應(yīng)模塊的內(nèi)容提供給一個與該相應(yīng)模塊匹配的程序組件(202,...,211;302,...,306)。
4.按照權(quán)利要求1至3的任何權(quán)利要求的計(jì)算機(jī)程序產(chǎn)品,其中,根據(jù)系統(tǒng)中可用于運(yùn)行該計(jì)算機(jī)程序的資源的大小對程序組件的大小和功能進(jìn)行放縮。
5.按照權(quán)利要求1至4中任一權(quán)利要求的計(jì)算機(jī)程序產(chǎn)品,其中,數(shù)據(jù)結(jié)構(gòu)是具有由XML元素定義的模塊的XML數(shù)據(jù)結(jié)構(gòu)。
6.按照權(quán)利要求1至5中任一權(quán)利要求的計(jì)算機(jī)程序產(chǎn)品,其中,計(jì)算機(jī)程序被安排用于下載程序組件并將它們集成為瀏覽器的一部分。
7.按照權(quán)利要求1至6中任一權(quán)利要求的計(jì)算機(jī)程序產(chǎn)品,其中,數(shù)據(jù)結(jié)構(gòu)被模塊分解并被轉(zhuǎn)發(fā)到分布在多個設(shè)備(101)上的瀏覽器。
8.按照權(quán)利要求1至7中任一權(quán)利要求的計(jì)算機(jī)程序產(chǎn)品,被安排用于通過向結(jié)構(gòu)中裝載一個與選定簡檔相對應(yīng)的組件集而處理簡檔形式的不同功能。
9.帶有如權(quán)利要求1至7中任一權(quán)利要求所述的計(jì)算機(jī)程序的機(jī)頂盒。
10.帶有如權(quán)利要求1至7中任一權(quán)利要求所述的計(jì)算機(jī)程序的移動電話。
11.帶有如權(quán)利要求1至7中任一權(quán)利要求所述的計(jì)算機(jī)程序的通用計(jì)算機(jī)。
12.一種形成瀏覽器程序(103;200;300)的方法,其中該程序是在包含程序組件(201,...,211;301,...,306)的瀏覽器結(jié)構(gòu)(200;300)中編排的;處理在包含模塊的數(shù)據(jù)結(jié)構(gòu)中編排的內(nèi)容;和匹配瀏覽器結(jié)構(gòu)中的每個程序組件與數(shù)據(jù)結(jié)構(gòu)中的相應(yīng)模塊。
全文摘要
一種當(dāng)在計(jì)算機(jī)(101)上被執(zhí)行時構(gòu)成一個瀏覽器程序(200)的計(jì)算機(jī)程序產(chǎn)品,其中程序是在包含程序組件(301,…306)組成的瀏覽器結(jié)構(gòu)(300)中編排的;瀏覽器程序被安排成處理在由XML標(biāo)簽包裝的模塊組成的數(shù)據(jù)結(jié)構(gòu)—例如可擴(kuò)展標(biāo)記語言(XML)—中編排的內(nèi)容。瀏覽器結(jié)構(gòu)中的每個程序組件與數(shù)據(jù)結(jié)構(gòu)中的一個對應(yīng)的模塊匹配。XML文檔級的某種功能的加入或去除相當(dāng)于體系結(jié)構(gòu)中一段軟件的增加或去除。因此使得受資源約束的設(shè)備能夠以可互操作和兼容的方式訪問例如來自因特網(wǎng)的信息。資源約束涉及存儲容量和處理能力,也涉及顯示器大小等等。
文檔編號G06F9/44GK1578957SQ02821794
公開日2005年2月9日 申請日期2002年10月25日 優(yōu)先權(quán)日2001年11月1日
發(fā)明者W·R·T·坦卡特, R·A·W·克勞特, R·M·P·多博斯 申請人:皇家飛利浦電子股份有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
1