專利名稱:通過觀察深度管理用戶接口的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及計算機,更具體地說,涉及訪問文檔并向用戶呈現(xiàn)文檔的計算機系統(tǒng)和網(wǎng)絡(luò)。
小型計算設(shè)備和/或通信設(shè)備正變得更加普及。這種相對小型的設(shè)備包括掌上計算機、手持計算機,以及諸如蜂窩電話等的無線通信設(shè)備。這種相對小型的設(shè)備不具有顯示裝置,或者顯示裝置較小。這種相對小型的設(shè)備的存儲器和/或處理能力也是有限的。
萬維網(wǎng)(簡稱“Web”)是向各種客戶機提供專用格式化的電子文檔的因特網(wǎng)服務(wù)器。Web服務(wù)器當(dāng)前支持基于文本的置標(biāo)語言(稱為超文本置標(biāo)語言(HTML))格式的文檔。
為了向具有有限能力的客戶機(例如掌上和手持計算機)提供Web訪問,通常在客戶機和因特網(wǎng)服務(wù)器之間設(shè)置“代碼轉(zhuǎn)換器代理(transcoder proxy)。代碼轉(zhuǎn)換器代理例如根據(jù)客戶機能力為客戶機提供請求的Web文檔的選定部分。這樣,代碼轉(zhuǎn)換器代理將一個或多Web文檔的選定部分從一種數(shù)字格式翻譯成另一種格式。
圖1是當(dāng)前用于向客戶機14提供電子文檔12的系統(tǒng)10的方框圖。電子文檔12例如可以是Web頁或交互應(yīng)用程序(例如,應(yīng)由用戶填寫的電子表格以獲取用戶信息)。系統(tǒng)10包括互聯(lián)網(wǎng)服務(wù)器16和設(shè)置在客戶機14和互聯(lián)網(wǎng)服務(wù)器16之間的代碼轉(zhuǎn)換器代理18。代碼轉(zhuǎn)換器代理18從客戶機14向互聯(lián)網(wǎng)服務(wù)器16傳遞對文檔12的請求。這樣的請求通常包括用于指定文檔12的互聯(lián)網(wǎng)協(xié)議(IP)地址和包括文檔12的文件名稱的統(tǒng)一資源定位器(URL)。
互聯(lián)網(wǎng)服務(wù)器16取出文檔12并將文檔12提供給代碼轉(zhuǎn)換器代理18。代碼轉(zhuǎn)換器代理18將文檔12從一種數(shù)字格式(例如超文本置標(biāo)語言或HTML)翻譯成以運行在客戶機14內(nèi)的Web瀏覽器應(yīng)用程序可以理解的腳本語言編寫的腳本。Web瀏覽器程序可以使用腳本傳遞的信息在客戶機14的顯示裝置上顯示文檔12。替代地,Web瀏覽器程序可以使用腳本傳遞的信息通過客戶機14的揚聲器以語音形式輸出文檔12的內(nèi)容。
這樣當(dāng)客戶機14具有的存儲器、處理能力和/或顯示能力是有限的,并且文檔12大到超過了客戶機14的一個或多個有限能力時就會出現(xiàn)問題。例如客戶機14可能是具有有限的存儲器、處理能力和/或顯示能力的掌上或手持計算機。人們正在付出巨大努力來研究一種使大文檔的內(nèi)容適于客戶機14的有限能力的方法。已知的內(nèi)容變換方法包括代替圖象顯示短的文本說明、將圖象轉(zhuǎn)換成鏈接、將表轉(zhuǎn)換成條列表、去掉設(shè)備不支持的特性(例如,JAVASCRIPTTM小應(yīng)用程序),去掉設(shè)備不支持的對圖象的引用、將聯(lián)合圖形專家組(JPEG)圖象轉(zhuǎn)換成圖形互換格式(GIF)圖形用于只支持GIF圖象的設(shè)備,通過降低尺寸和/或彩色等級對GIF和JPEG圖象進行代碼轉(zhuǎn)換以及摘錄文本元素。
還希望具有能夠根據(jù)文檔12的結(jié)構(gòu)和/或客戶機14的能力向客戶機14傳遞電子文檔12(例如Web頁)的系統(tǒng)和方法。
本發(fā)明提供用于呈現(xiàn)(顯示)分層結(jié)構(gòu)的幾個不同的方法。分層結(jié)構(gòu)包括多個元素并且定義元素之間的層次關(guān)系。分層結(jié)構(gòu)可以在諸如Web文檔、交互式應(yīng)用程序或分成幾部分的地圖等電子文檔中實施。每個元素有一個“呈現(xiàn)屬性”,可以是數(shù)值或函數(shù)。一個單一的元素具有“焦點”(例如根據(jù)由作者編碼的文檔或缺省)。
“觀察深度”方法的第一實施例用于呈現(xiàn)分層結(jié)構(gòu),其形成了分層結(jié)構(gòu)的一個模型。該模型包括相對于其他層排列的多層;多個節(jié)點;以及至少一個分枝。每個節(jié)點代表單一元素。一個節(jié)點是根節(jié)點并占據(jù)分層結(jié)構(gòu)的最高層。一個給定的分枝將第一層中的第一節(jié)點連接到第一層的直接下一層的第二節(jié)點上。每個分枝代表了分枝連接的節(jié)點之間的分層關(guān)系。
術(shù)語“焦點節(jié)點”用于描述表示接收焦點的元素的節(jié)點。提供模型中與焦點節(jié)點處于同一層中的節(jié)點表示的每個元素的屬性。還提供高于焦點節(jié)點層的選定的一些層中節(jié)點表示的每個元素的屬性。此外,也提供低于焦點節(jié)點層的選定的一些層中節(jié)點表示的每個元素的屬性。
電子文檔傳遞系統(tǒng)的一個實施例包括耦合(有線或無線通信)到代碼轉(zhuǎn)換器代理的客戶機。該客戶機例如可以是具有有限存儲器和/或處理能力的掌上或手持計算機或無線通信設(shè)備。耦合代碼轉(zhuǎn)換器代理用于接收電子文檔。每個電子文檔包括一個或多個元素,并且以第一數(shù)字格式(例如,諸如HTML或擴展置標(biāo)語言XML的基于文本的置標(biāo)語言)表示。
可以在代碼轉(zhuǎn)換器代理中實施的觀察深度方法的第二實施例,包括以第一數(shù)字格式(例如HTML或擴展XML的基于文本的置標(biāo)語言)表示的分層結(jié)構(gòu)。如上所述地形成分層結(jié)構(gòu)的樹形模型。該樹形模型用于產(chǎn)生以第二數(shù)字格式(例如腳本語言)表示的原始腳本。原始腳本包括由以下節(jié)點表示的元素的呈現(xiàn)屬性(ⅰ)與原焦點節(jié)點在同一層中的節(jié)點;和(ⅱ)高于原始焦點節(jié)點層的選定的一些層中的節(jié)點。然后提供(例如向客戶機)原始腳本。
該方法還包括接收一事件,其中事件表示在有焦點的元素中發(fā)生了變化。響應(yīng)該事件,可以使用樹形模型產(chǎn)生以第二數(shù)字格式表示的新的腳本。該新的腳本包括由以下節(jié)點表示的元素的至少一部分的呈現(xiàn)屬性(ⅰ)與新焦點節(jié)點在同一層中的節(jié)點;高于新焦點節(jié)點層的選定的一些層中的節(jié)點。提供(例如向客戶機)新的腳本。
觀察深度方法的第三實施例可以在客戶機上實施,包括接收從如上所述的分層結(jié)構(gòu)的樹模型推導(dǎo)出的原始腳本。提供原始腳本中的呈現(xiàn)屬性。第三方法還可以包括響應(yīng)用戶輸入產(chǎn)生事件,其中事件表明有焦點的元素中的變化。(例如向代碼轉(zhuǎn)換器代理)提供事件??梢?例如從代碼轉(zhuǎn)換器代理)接收以第二種數(shù)字格式并如上所述從樹模型推導(dǎo)出的新腳本??梢蕴峁┬履_本中的呈現(xiàn)屬性。
還描述一種用于呈現(xiàn)分層結(jié)構(gòu)的分枝隔離方法??梢詫⒎种Ω綦x方法和觀察深度方法組合起來。該組合的一個實施例包括訪問分層結(jié)構(gòu)并形成如上所述的分層結(jié)構(gòu)的模型。根據(jù)觀察深度方法選擇模型的第一部分,包括與焦點節(jié)點處于同層的節(jié)點;和(ⅱ)高于焦點節(jié)點層的選定的一些層中的節(jié)點。根據(jù)分枝隔離方法選擇模型的第二部分,包括(ⅰ)沿著從根節(jié)點至焦點節(jié)點的路徑上的節(jié)點,和(ⅱ)在低于焦點節(jié)點層的層中并由一個或多個分枝連接到焦點的節(jié)點。提供在模型第一和第二部分中由節(jié)點表示的元素的呈現(xiàn)屬性。當(dāng)根節(jié)點在模型的第一和第二部分中,可以有選擇地提供根節(jié)點所表示的元素的呈現(xiàn)屬性。
下面描述用于呈現(xiàn)分層結(jié)構(gòu)的觀察深度和/或分枝隔離方法所應(yīng)用的計算機系統(tǒng)的兩個實施例。這兩個計算機系統(tǒng)的實施例包括與客戶應(yīng)用耦合的主機應(yīng)用。主機應(yīng)用和客戶應(yīng)用可以是在計算機系統(tǒng)中同時執(zhí)行(運行)的單獨的軟件程序。主機應(yīng)用例如可以是Web瀏覽器??蛻魬?yīng)用例如可以是輔助技術(shù)接口。在兩個實施例中,計算機系統(tǒng)包括如上所述的分層結(jié)構(gòu)。該主機應(yīng)用耦合到分層結(jié)構(gòu)。在其他實施例中,分層結(jié)構(gòu)可以在計算機系統(tǒng)的外部,并且主機應(yīng)用可以耦合接收或訪問訪分層結(jié)構(gòu)。
主機應(yīng)用訪問分層結(jié)構(gòu)并形成分層結(jié)構(gòu)的樹形模型(即樹)。在計算機系統(tǒng)的第一實施例中,樹駐留在主機應(yīng)用中。如上所述,樹包括節(jié)點和分枝。
為了顯示分層結(jié)構(gòu)的一部分,該客戶應(yīng)用訪問主機應(yīng)用中的樹。該客戶應(yīng)用可以實施如上所述的觀察深度方法。在此情況下,呈現(xiàn)屬性集包括與焦點節(jié)點處于同層的節(jié)點表示的所有元素的呈現(xiàn)屬性。該呈現(xiàn)屬性集還包括由高于焦點節(jié)點層的選定的一些層中的節(jié)點表示的所有元素的呈現(xiàn)屬性。該呈現(xiàn)屬性集還包括由低于焦點節(jié)點層的選定的一些層中的節(jié)點表示的所有元素的呈現(xiàn)屬性。客戶應(yīng)用還可以實施如上所述的分枝隔離和觀察深度方法的組合。
客戶應(yīng)用向計算機系統(tǒng)的用戶代理提供呈現(xiàn)屬性集。客戶應(yīng)用可以作為主機應(yīng)用和用戶代理之間的接口。用戶代理可以用作客戶應(yīng)用和計算機系統(tǒng)的輸出裝置之間的接口。輸出裝置例如可以是Braille顯示或文本-語音轉(zhuǎn)換器。Braille顯示可以是用于可視挑戰(zhàn)用戶(例如永久或暫時視覺損壞的用戶)選擇的輸出裝置。用戶代理可以用作客戶應(yīng)用和計算機系統(tǒng)的輸入裝置之間的接口。輸入裝置例如可以是語音-文本轉(zhuǎn)換器。語音-文本轉(zhuǎn)換器例如可以作為物理挑戰(zhàn)用戶(例如永久或暫時不能操作諸如鼠標(biāo)或鍵盤等傳統(tǒng)輸入裝置的用戶)的輸入裝置。用戶代理使用呈現(xiàn)屬性集來產(chǎn)生輸出命令并向輸出裝置提供輸出命令。結(jié)果,顯示部分分層結(jié)構(gòu),或者由輸出設(shè)備提供部分分層結(jié)構(gòu)。
在計算機系統(tǒng)的第二實施例中,樹駐留在客戶應(yīng)用中??蛻魬?yīng)用通過主機應(yīng)用訪問分層結(jié)構(gòu)并形成樹??蛻魬?yīng)用訪問樹以形成如上所述的呈現(xiàn)屬性集,并向用戶代理提供呈現(xiàn)屬性集。
在參照附圖閱讀了有關(guān)本發(fā)明的說明后,會更加理解本發(fā)明的目標(biāo)和其他優(yōu)點。
圖1是當(dāng)前用于向客戶機提供電子文檔的系統(tǒng)的方框圖;圖2是用于向客戶機提供電子文檔的系統(tǒng)的一個實施例的方框圖,其中電子文檔具有分層結(jié)構(gòu),并且其中使用樹模型或樹來表示電子文檔的分層結(jié)構(gòu);圖3示意了圖2中的樹的例子;圖4示意了圖3中的樹的例子,進一步說明了樹的結(jié)構(gòu);圖5是用于表示分層結(jié)構(gòu)的“分枝隔離”方法的一個實施例的流程圖;圖6示意了圖3中的樹的例子,強調(diào)了樹的多層次;圖7是用于表示分層結(jié)構(gòu)的“觀察深度”方法的一個實施例的流程圖;圖8是實施用于表示分層結(jié)構(gòu)的分枝隔離和/或觀察深度方法的計算機系統(tǒng)的第一實施例的方框圖;以及圖9是圖8的計算機系統(tǒng)的第二實施例的方框圖。
盡管通過圖中的例子示出的本發(fā)明適于各種修改和變型,然而也應(yīng)理解,這些附圖和說明不應(yīng)將本發(fā)明限制于所公開的形式,相反,本發(fā)明涵蓋了落入由所附權(quán)利要求限定的本發(fā)明的精神實質(zhì)和范圍內(nèi)的所有修改、等價物和變型。
圖2是用于向客戶機22提供電子文檔12的系統(tǒng)20的實施例的方框圖。通常,電子文檔12具有包括多個元素的分層結(jié)構(gòu),并定義元素之間的分層關(guān)系。電子文檔12例如可以是Web頁、交互式應(yīng)用程序(例如由用戶填寫以獲得用戶信息的電子表格),或劃分成各部分的地圖??蛻魴C22例如可以是掌上計算機、手持計算機、個人數(shù)字助理(PDA)或無線通信設(shè)備,并且可能具有有限的存儲器和/或處理能力。在圖2所示的實施例中,客戶機22包括輸出裝置24。輸出裝置24可能包括具有有限顯示能力的相對小型的顯示裝置。輸出裝置24可能還包括用于產(chǎn)生語音的揚聲器。
在圖2的實施例中,系統(tǒng)20包括互聯(lián)網(wǎng)服務(wù)器16和耦合于客戶機22和因特網(wǎng)服務(wù)器16之間的過渡服務(wù)器26。過渡服務(wù)器26包括代碼轉(zhuǎn)換器代理28。代碼轉(zhuǎn)換器代理28從客戶機22向互聯(lián)網(wǎng)服務(wù)器16傳遞對電子文檔(例如文檔12)的請求。如上所述,這樣的請求通常包括用于指明文檔12的網(wǎng)間協(xié)議(IP)地址和包含文檔12的文件的名稱的統(tǒng)一資源定位器(URL)?;ヂ?lián)網(wǎng)服務(wù)器16取出文檔12并將文檔12提供給代碼轉(zhuǎn)換器代理28。代碼轉(zhuǎn)換器代理28接收來自互聯(lián)網(wǎng)服務(wù)器16的以數(shù)字格式表示的文檔12。已知的數(shù)字格式包括諸如超文本置標(biāo)語言(HTML)和擴展置標(biāo)語言(XML)的基于文本的置標(biāo)語言格式。其他常用的數(shù)字格式包括POSTSCRIPT(TMAdobeSys.Inc.,San Jose,CA),便攜文檔格式(PDF)和先進功能打印(AFP)。
電子文檔12包括表示文檔結(jié)構(gòu)的多元素。例如,電子文檔可以是包括諸如段、超文本鏈接、列表、表和/或圖象的Web頁。文檔12的元素形成分層,并且電子文檔12定義元素之間的分層關(guān)系。電子文檔可以由樹形結(jié)構(gòu)來表示。代碼轉(zhuǎn)換器代理28對文檔12的元素進行語法分析,形成樹30并存儲樹30,其中樹30是文檔12的分層結(jié)構(gòu)的表示或模型。代碼轉(zhuǎn)換器代理使用樹30產(chǎn)生以用戶代理32(運行在客戶機22內(nèi)的Web瀏覽器應(yīng)用程序)理解的腳本語言寫成的腳本。
腳本語言例如可以是代碼轉(zhuǎn)換器代理28從互聯(lián)網(wǎng)服務(wù)器16接收文檔所使用的數(shù)字格式的子集(例如,HTML、XML、POSTSCRIPT,或PDF的子集)。在生成腳本時,代碼轉(zhuǎn)換器代理28可以將電子文檔12中的圖形圖象從一種格式轉(zhuǎn)換成另一種格式(例如從聯(lián)合圖形專家組/JPEG格式轉(zhuǎn)換成圖形交換格式/GIF格式,從JPEG和GIF格式轉(zhuǎn)換成定標(biāo)向量圖形/SVG格式等)。腳本可以包括聲頻數(shù)據(jù)文件(例如,wav文件),代碼轉(zhuǎn)換的Braille和/或非格式化文本。
電子文檔12的每個元素具有“呈現(xiàn)屬性”。一個給定元素的呈現(xiàn)屬性可以是值(例如元素的名稱或標(biāo)題)或函數(shù)(例如一個或多個被執(zhí)行的指令或語句以呈現(xiàn)元素)。代碼轉(zhuǎn)換器代理28例如可以將圖象翻譯成用于呈現(xiàn)圖象的一組繪圖命令。在此情況下,圖象的呈現(xiàn)屬性是包括繪圖命令集的函數(shù)。如以下詳細(xì)說明的,由代碼轉(zhuǎn)換器代理28產(chǎn)生的腳本包括文檔12的選定部分內(nèi)的元素的呈現(xiàn)屬性。代碼轉(zhuǎn)換器代理28向用戶代理32提供生成的腳本。響應(yīng)接收到的腳本,客戶機22的用戶代理32產(chǎn)生呈現(xiàn)信息34。用戶代理32使用呈現(xiàn)信息34向輸出裝置24發(fā)出輸出命令。
圖3是圖2中表示相應(yīng)的電子文檔12的分層結(jié)構(gòu)的示例樹30的示意圖。樹30包括文檔12的元素并傳遞文檔12的元素之間的分層關(guān)系。就技術(shù)術(shù)語來說,樹30是不包括環(huán)與回路的連接圖。圖形是由有限個通過稱為“分枝”或“邊”的線段連接的“節(jié)點”或“頂點”構(gòu)成的幾何圖形。連接圖是其中有可能形成任意兩節(jié)點或頂點之間的“路徑”的圖形。回路或環(huán)路是以相同的節(jié)點或頂點開始或結(jié)束的路徑。
圖3中的樹30包括節(jié)點40和分枝42。節(jié)點40代表文檔12的元素。節(jié)點40存在于樹30內(nèi)的不同層次上。每個分枝42在不同層次上互連兩節(jié)點。節(jié)點30包括在圖3的樹30上在層次0上標(biāo)記為“0”的“根”節(jié)點。節(jié)點0是層1中節(jié)點1A和1B的父節(jié)點,而節(jié)點1A和1B是“同胞”。節(jié)點2A、2B和2C是節(jié)點1A的“子節(jié)點”。類似地,節(jié)點2D-2F是節(jié)點1B的子節(jié)點。節(jié)點3A-3C是節(jié)點2A的子節(jié)點,節(jié)點3D-3F是節(jié)點2B的子節(jié)點,節(jié)點3G-3I是節(jié)點2C的子節(jié)點。節(jié)點2D-2F和節(jié)點3A-3I無子節(jié)點,并稱為“葉子”或“外部”節(jié)點。所有至少具有一個子節(jié)點的節(jié)點4D稱為“內(nèi)部”節(jié)點。
例如,文檔12可以是包含表元素和列表元素的HTML文檔。樹30的節(jié)點0可以代表整個文檔12(例如,文檔12的體元素)。節(jié)點1A可能表示表元素,而節(jié)點1B可能代表列表元素。節(jié)點1A的子節(jié)點2A-2C可能分別代表第一行的行元素(第一行內(nèi)的提供的值)、第二行的行元素以及表元素的標(biāo)題元素。節(jié)點2A、節(jié)點3A-3C的三個子節(jié)點可能分別表示表元素的第一行的不同行元素。節(jié)點2B、節(jié)點3D-3F的三個子節(jié)點可能分別表示表元素的第二行的不同行元素。節(jié)點2C、節(jié)點3G-3I的三個子節(jié)點可能分別表示表元素的不同標(biāo)題元素。
圖2和圖4現(xiàn)在將用于描述基于文檔12的結(jié)構(gòu)和/或客戶機22的能力向客戶機22提供文檔12的一部分第一“分枝隔離”方法。分枝隔離方法可以在圖2的代碼轉(zhuǎn)換代理28內(nèi)實施。在系統(tǒng)初始化和/或系統(tǒng)運行時,用戶代理32可以向代碼轉(zhuǎn)換器代理28提供客戶數(shù)據(jù)。客戶數(shù)據(jù)可能包括客戶機22的信息傳遞能力(例如存儲器大小、處理能力、顯示器大小等)。代碼轉(zhuǎn)換器代理28可以基于從客戶機22接收到的客戶數(shù)據(jù)實現(xiàn)分枝隔離方法。
圖4是進一步描述圖3中的示例樹30的結(jié)構(gòu)的圖。如上所述,節(jié)點0是樹30的根節(jié)點。圖4的樹30包括第一子樹44和第二子樹46。節(jié)點0的子節(jié)點1A是第一子樹44的根。節(jié)點0的其他子節(jié)點1B是第二子樹46的根。子樹44包括節(jié)點1A和節(jié)點1A的子節(jié)點最2A-2C,節(jié)點2A的子節(jié)點3A-3C,節(jié)點2B的子節(jié)點3D-3F以及節(jié)點2C的子節(jié)點3G-3I。子樹46包括節(jié)點1B和節(jié)點1B的子節(jié)點2D-2F。
圖4的樹30還包括一個第三子樹48、第四子樹50和第五子樹52。節(jié)點1A的子節(jié)點2A是第三子樹48的根節(jié)點。子樹48包括節(jié)點2A和節(jié)點2A的子節(jié)點3A-3C。節(jié)點1A的另一子節(jié)點2B是第四子樹50的根。子樹50包括節(jié)點2B和2B的子節(jié)點3D-3F。節(jié)點1A的第三子節(jié)點2C是第五子樹52的根。子樹52包括節(jié)點2C和節(jié)點2C的子節(jié)點3G-3I。
根據(jù)作者對文檔12的編碼,文檔12的元素的單個元素最初具有文檔12內(nèi)的焦點。在圖4中,由節(jié)點1A表示的元素最初具有焦點。如以下詳細(xì)地說明的那樣,使用通過用戶輸入可變更的焦點向客戶機22提供文檔12的選擇部分。實施分枝隔離方法,代碼轉(zhuǎn)換器代理28可以將文檔12的選定部分從一種數(shù)字格式(例如HTML、POSTSCRIPT、PDF等)翻譯成客戶機22內(nèi)的用戶代理32(例如Web瀏覽器)理解的腳本語言編寫的腳本,并將腳本提供給用戶代理32。
分枝隔離方法包括確定從樹的根節(jié)點(樹30的節(jié)點0)到表示接收焦點的元素的節(jié)點的路徑。例如,在圖4中,由節(jié)點1A表示的元素最初具有如上所述的焦點。從節(jié)點A到節(jié)點B的路徑是從節(jié)點A至節(jié)點B的序列。在樹形結(jié)構(gòu)中,從根節(jié)點至樹中任何其它節(jié)點只能有一條路徑。在圖4中,從樹30的根節(jié)點(節(jié)點0)到節(jié)點1A的路徑是節(jié)點序列(0,1A)。
分枝隔離方法還包括調(diào)用以下節(jié)點表示的元素沿著從根節(jié)點至表示接收焦點的元素的節(jié)點的路徑上的節(jié)點以及表示接收焦點的元素的節(jié)點為根的任何子樹中的節(jié)點。調(diào)用一個元素是實施該元素的呈現(xiàn)屬性(例如,函數(shù)值)。
例如,參照圖2和圖4,代碼轉(zhuǎn)換器代理28接收文檔12并形成樹30,文檔12的分層表示。例如文檔12可以是HTML文檔并且節(jié)點0可能表示文檔12的主體。節(jié)點1A可以表示文檔12的表元素,并且最初具有如圖4所述的焦點。在此情況下,代碼轉(zhuǎn)換器代理28可以實施分枝隔離方法基于接收到的客戶數(shù)據(jù),通過調(diào)用由沿著從根節(jié)點0至節(jié)點1A的路徑上的節(jié)點表示的元素,表示接收焦點的元素,以及子樹44的節(jié)點以產(chǎn)生腳本。
例如,節(jié)點0表示的元素可以具有值,該值是HTML標(biāo)記“<BODY>”。代碼轉(zhuǎn)換器代理28可以調(diào)用節(jié)點0表示的元素,從而獲得元素的值“<BODY>”。代碼轉(zhuǎn)換器代理28可以包括也可以不包括腳本上“<BODY>”值。
由節(jié)點1A表示的元素可以具有值,該值是HTML標(biāo)記“<TABLE>”。代碼轉(zhuǎn)換器代理28可以調(diào)用節(jié)點1A表示的元素,從而獲得元素的值“<TABLE>”。代碼轉(zhuǎn)換器代理28可以包括腳本中的“<TABLE>”值以提供表。
接收初始焦點的節(jié)點1A是子樹44的根節(jié)點。在實施分枝隔離法時,代碼轉(zhuǎn)換器代理28可以調(diào)用子樹44的所有元素。這樣調(diào)用產(chǎn)生表的第一和第二行的行元素,以及表的標(biāo)題元素。代碼轉(zhuǎn)換器代理28可以在腳本中包括第一和第二行的行元素,以及標(biāo)題元素以提供表。
如上所述,由代碼轉(zhuǎn)換器代理28產(chǎn)生的腳本包括文檔12的選定部分中的元素的呈現(xiàn)屬性(例如,值或函數(shù))。代碼轉(zhuǎn)換器代理28向用戶代理32提供產(chǎn)生的腳本。響應(yīng)接收到的腳本,客戶機22的用戶代理32產(chǎn)生呈現(xiàn)信息34。用戶代理32使用呈現(xiàn)信息34向輸出裝置24發(fā)出輸出命令。如上所述,輸出裝置24可以包括具有有限顯示能力的相對小型的顯示裝置。輸出裝置24還包括用于產(chǎn)生語音的揚聲器。
參照圖2,客戶機22還包括耦合到用戶代理32的輸入裝置36。輸入裝置36例如可以是一個或多個鍵或按鈕,諸如鼠標(biāo)的指點裝置或語音-文本轉(zhuǎn)換器。通過輸入裝置36的用戶輸入可以使用戶代理32產(chǎn)生事件。事件可以導(dǎo)致文檔12內(nèi)焦點的變化。例如,在用戶按鼠標(biāo)按鈕而指示或光標(biāo)處于當(dāng)前不接收焦點的表的行元素上,這就將焦點改變到表的行元素。如圖2所指出的,用戶代理32可以向代碼轉(zhuǎn)換器代理28提供事件。用戶還可以按下鍵,將焦點傳送給文檔12中的下一鏈路。
注意,客戶機22可能包括其他沒有示出的輸入、輸出和/或輸入/輸出(I/O)裝置。還應(yīng)注意,輸入裝置36和輸出裝置24可能是組合的I/O裝置,如語音引擎,用于將表示文本的數(shù)字信號轉(zhuǎn)換成語音,還將語音轉(zhuǎn)換成表示文本的數(shù)字信號,或者是觸摸屏I/O裝置,包括可視顯示屏幕和通過施與顯示屏幕的壓力(例如通過鐵筆)接收用戶輸入。
響應(yīng)焦點的改變,代碼變換器代理28可以使用當(dāng)前接收焦點的元素再應(yīng)用分枝隔離方法,從而通過產(chǎn)生新的腳本并向客戶機22提供新的腳本來響應(yīng)焦點的變化。響應(yīng)新的腳本,客戶機22的用戶代理32可以產(chǎn)生新的呈現(xiàn)信息,并使用新的呈現(xiàn)信息向輸出裝置24發(fā)出新的輸出命令。
例如,在圖4中,如果焦點從節(jié)點1A表示的表元素變化成由節(jié)點3A表示的表的第一行的行元素(例如通過響應(yīng)用戶輸入產(chǎn)生的事件),代碼轉(zhuǎn)換器代理28可以重新應(yīng)用分枝隔離方法。代碼轉(zhuǎn)換器代理28于是可以確定從根節(jié)點0到節(jié)點3A的路徑,調(diào)用沿該路徑的元素,以及由以節(jié)點3A為根的任何子樹中的節(jié)點表示的元素,以產(chǎn)生新的腳本,并向客戶機22提供新的腳本。
圖5是用于表示分層結(jié)構(gòu)(例如,諸如Web頁和交互式應(yīng)用程序的電子文檔,或分成若干部分的地圖)的“分枝隔離”方法60的一個實施的流程圖。在步驟62,訪問分層結(jié)構(gòu)。分層結(jié)構(gòu)包括多元素并定義元素之間的分層關(guān)系。如上所述,每個元素具有呈現(xiàn)屬性,并且單個元素具有焦點。
在步驟64形成分層結(jié)構(gòu)的模型。模型包括相對于其他層排列的多層、多個節(jié)點以及至少一個分枝。每個節(jié)點表示單一元素。節(jié)點中的一個是根節(jié)點并占據(jù)最高層(圖3和4中的層0的節(jié)點0)。一個給定的分枝將第一層中的第一節(jié)點連接到第一層的直接下一層中的第二節(jié)點上。每個分枝表示分枝連接的節(jié)點之間的分層關(guān)系。
模型可以是樹形結(jié)構(gòu)。在此情況下,低于焦點節(jié)點層并且通過一個或多個分枝連接到焦點節(jié)點的節(jié)點包括樹結(jié)構(gòu)中的“子樹”,其中焦點節(jié)點是子樹的根節(jié)點。低于焦點節(jié)點層并且通過一個或多個分枝連接到焦點節(jié)點的節(jié)點于是可以描述為“樹結(jié)構(gòu)的子樹中的節(jié)點,其中焦點節(jié)點是子樹的根節(jié)點”。
在步驟66,確定模型中從根節(jié)點到“焦點節(jié)點”的路徑,其中焦點節(jié)點是表示具有焦點的元素的節(jié)點。路徑是從根節(jié)點到焦點由分枝形成的路由。由根節(jié)點表示的元素的呈現(xiàn)屬性被有選擇地提供。例如,分層結(jié)構(gòu)可以是超文本置標(biāo)語言(HTML)文檔,并且根節(jié)點的呈現(xiàn)屬性可以簡單地為“<BODY>”。在此情況下,根節(jié)點的呈現(xiàn)屬性傳遞很少的信息,并可能不提供。
由非根節(jié)點表示的每個元素的呈現(xiàn)屬性在步驟70提供,這些節(jié)點是從根節(jié)點至焦點節(jié)點的路徑上的節(jié)點。在步驟72,提供由低于焦點節(jié)點層并由一個或多個分枝連接到焦點節(jié)點表示的每個元素的呈現(xiàn)屬性。
現(xiàn)在使用圖2和圖6來描述基于文檔12的結(jié)構(gòu)和/或客戶機22的能力向客戶機22提供文檔12的一部分的第二“觀察深度”法。觀察深度法可以實施在圖2的代碼轉(zhuǎn)換代理28中。代碼轉(zhuǎn)換器代理28可以根據(jù)從客戶機22接收到的客戶數(shù)據(jù)實施觀察深度方法。
圖6是圖3中例示樹30,強調(diào)樹30的多層。如上所述,由節(jié)點1A表示的元素最初具有焦點,根據(jù)作者對文檔12的編碼。在觀察深度法中,提供給客戶機22的那部分文檔取決于包含表示接收焦點的元素的節(jié)點的樹30的層。具體地說,提供給客戶機22的文檔12部分包括在樹30中包含表示接收焦點的元素的節(jié)點所在的層中的節(jié)點表示的元素。提供給客戶機22的文檔12部分還包括層數(shù)大于樹30上包括表示接收焦點的元素的節(jié)點所在的層中節(jié)點表示的元素和/或?qū)訑?shù)小于樹30上包括表示接收焦點的元素的節(jié)點所在的層中節(jié)點表示的元素。
在圖6中,節(jié)點1A表示如上所述根據(jù)作者對文檔12的編碼接收初始焦點的元素。代碼轉(zhuǎn)換器代理28可以通過調(diào)用由樹30的層1、包括表示接收焦點的元素的節(jié)點1A的樹30中的層中的節(jié)點1A和1B表示的元素。根據(jù)客戶數(shù)據(jù)(例如由客戶機22傳遞的客戶機22的能力),代碼轉(zhuǎn)換器代理還可以調(diào)用層數(shù)大于樹30中層1和于小層1的層中節(jié)點表示的元素。
例如,代碼轉(zhuǎn)換器代理28調(diào)用層數(shù)大于樹30中包括表示接收焦點的元素的節(jié)點的層中以及層樹小于包括表示接收焦點的元素的節(jié)點的層中的節(jié)點表示的元素(例如根據(jù)客戶機22提供的客戶數(shù)據(jù))。由于圖6的節(jié)點1A表示接收初始焦點的元素,代碼轉(zhuǎn)換器代理28可以通過調(diào)用由以下節(jié)點表示的元素來實施觀察深度法(ⅰ)層0中的節(jié)點,(ⅱ)層1中的節(jié)點1A和1B,(ⅲ)層2中的節(jié)點2A-2F。
由節(jié)點0表示的元素可以具有值是HTML標(biāo)記“<BODY>”。代碼轉(zhuǎn)換器代理28可以調(diào)用由節(jié)點0表示的元素,從而獲得元素的值“<BODY>”。代碼轉(zhuǎn)換器28可以包括也可以不包括腳本中的值“<BODY>”。
由節(jié)點1A表示的元素可以具有值是HTML標(biāo)記“<TABLE>”。代碼轉(zhuǎn)換器代理28可以調(diào)用節(jié)點1A表示的元素,從而獲得元素的值“<TABLE>”。代碼轉(zhuǎn)換器代理28可以選擇包括腳本中的“<TABLE>”值以向客戶機22的用戶表明文檔12包括表。
由節(jié)點1B表示的元素可以具有值是HTML標(biāo)記“<LI>”用于列表。代碼轉(zhuǎn)換器代理28可以調(diào)用節(jié)點1A表示的元素,從而獲得元素的值“<LI>”。代碼轉(zhuǎn)換器代理28可以包括腳本中的值“<LI>”,以便于提供列表。
由節(jié)點2A表示的元素可以具有值是HTML標(biāo)記“<TR>”用于表行。代碼轉(zhuǎn)換器代理28可以調(diào)用節(jié)點2A表示的元素,從而獲得元素的值“<TR>”。代碼轉(zhuǎn)換器28可以包括腳本中的值“<TR>”,以向客戶機22的用戶表明表元素包括第一行。
由節(jié)點2B表示的元素也可以具有值是HTML標(biāo)記“<TR>”用于表行。代碼轉(zhuǎn)換器代理28可以調(diào)用節(jié)點2B表示的元素,從而獲得元素的值“<TR>”。代碼轉(zhuǎn)換器代理28可以包括腳本中的值“<TR>”,以向客戶機22的用戶表明表元素包括第二行。
由節(jié)點2C表示的元素可以具有值“<HEADER>”用于表標(biāo)題。代碼轉(zhuǎn)換器代理28可以調(diào)用節(jié)點2C表示的元素,從而獲得元素的值“<HEADER>”。代碼轉(zhuǎn)換器代理28可以選擇包括腳本中的“<HEADER>”值以向客戶機22的用戶表明表元素包括至少一個標(biāo)題。
由節(jié)點2D-2F表示的元素可以具有列表項目值。代碼轉(zhuǎn)換器代理28可以調(diào)用節(jié)點2D-2F表示的元素,從而獲得元素的列表項目值。代碼轉(zhuǎn)換器代理28可以包括腳本中的列表項目值以提供該列表。
如上所示,代碼轉(zhuǎn)換器代理28向用戶代理32提供生成的腳本。響應(yīng)接收到的腳本,客戶機22的用戶代理32產(chǎn)生呈現(xiàn)信息34。用戶代理32使用呈現(xiàn)信息34向輸出裝置24發(fā)出輸出命令。
如上所述,通過輸入裝置36的用戶輸入可以使用戶代理32產(chǎn)生一事件。該事件引起文檔12中的焦點變化。響應(yīng)焦點的變化,代碼轉(zhuǎn)換器代理28使用當(dāng)前接收焦點的元素再應(yīng)用觀察深度方法,從而通過產(chǎn)生新腳本響應(yīng)焦點中的變化并且將新腳本提供給客戶機22。響應(yīng)新的腳本,客戶機22的用戶代理32可以產(chǎn)生新的呈現(xiàn)信息34,并使用新的呈現(xiàn)信息34向輸出裝置24發(fā)出新的輸出命令。
例如,在圖6中,如果通過響應(yīng)用戶輸入產(chǎn)生的事件將焦點從層1中的節(jié)點1A表示的表元素改變成層2中的節(jié)點(例如節(jié)點2A),代碼轉(zhuǎn)換器代理28可以再應(yīng)用觀察深度法。代碼轉(zhuǎn)換器代理28可以調(diào)用層2中的節(jié)點表示的元素(即節(jié)點2A-2F)。根據(jù)由客戶機22提供的客戶數(shù)據(jù)傳遞的客戶機22的能力,代碼轉(zhuǎn)換器代理28還可以調(diào)用在層數(shù)大于樹30的層2的層中的節(jié)點表示的元素和/或?qū)訑?shù)小于層2的層中節(jié)點表示的元素。
在系統(tǒng)運行期間,用戶代理32可以向代碼轉(zhuǎn)換器代理28提供新的客戶數(shù)據(jù)。新的客戶數(shù)據(jù)可以由用戶代理32產(chǎn)生以增加或降低詳細(xì)呈現(xiàn)量,并且可以根據(jù)用戶輸入產(chǎn)生新的客戶數(shù)據(jù)。響應(yīng)新的客戶數(shù)據(jù),代碼轉(zhuǎn)換器代理28可以改變大于表示接收焦點的元素的節(jié)點的層的層數(shù)和/或小于表示接收焦點的元素的節(jié)點的層的層數(shù)。
圖7是用于提供分層結(jié)構(gòu)(諸如Web頁的電子文檔和交互應(yīng)用程序或分成各部分的地圖)的“觀察深度”法80的一個實施例的流程圖。在步驟82,訪問如上所述的分層結(jié)構(gòu)。在步驟84,按如上所述形成分層結(jié)構(gòu)的模型。在步驟86,提供與焦點節(jié)點同在一層的節(jié)點表示的每個元素的呈現(xiàn)屬性,其中焦點節(jié)點是表示具有焦點的元素的節(jié)點。在步驟88,提供在選定的高于焦點節(jié)點層的層中的一個節(jié)點表示的每個元素的呈現(xiàn)屬性。
如上所述使用圖4和圖5描述的分枝隔音法以及使用圖6和圖7描述的觀察深度法可以組合在一起(例如,提供的電子文檔12的部分在客戶機32的呈現(xiàn)能力之內(nèi))。參照圖4,對于接收焦點的節(jié)點1A表示的元素,使用分枝隔離方法選定的文檔12的部分可能包括由根節(jié)點0和子樹44表示的元素。如上所述,輸出裝置24可以包括具有有限顯示能力的相對小型的顯示裝置,并且子樹44可以超過輸出裝置24的顯示能力。
在此情況下,代碼轉(zhuǎn)換器代理28可以僅調(diào)用子樹44的選定的一些層中的元素。例如選定的層數(shù)可以依據(jù)傳遞客戶機22的能力(例如,存儲器大小,處理能力、顯示器大小等等)的客戶數(shù)據(jù)。代碼轉(zhuǎn)換器代理可以首先實施分枝隔離方法,從而選擇由根節(jié)點0和子樹44表示的元素。代碼轉(zhuǎn)換器代理28然后可以對子樹44實施觀察深度法。如上所述,可以將代碼轉(zhuǎn)換器代理28配置成選擇樹30中包括表示接收焦點的元素的節(jié)點的層中的節(jié)點以及樹30中層數(shù)大于包括表示接收焦點的元素的節(jié)點的層中的節(jié)點。在此情況下,對于樹30中使用分枝隔離法選擇的部分應(yīng)用觀察深度方法,代碼轉(zhuǎn)換器代理28選擇層0中的節(jié)點0、層1中的節(jié)點1A以及層2中的節(jié)點2A-2C。
代碼轉(zhuǎn)換器代理28可以調(diào)用由節(jié)點0表示的元素,從而得到元素的值“<BODY>”。代碼轉(zhuǎn)換器代理28可以在腳本中包括或不包括“<BOOY>”值。
由節(jié)點1A表示的元素可以具有值為HTML標(biāo)記“<TABLE>”。代碼轉(zhuǎn)換器代理28可以調(diào)用由節(jié)點1A表示的元素,從而獲得元素的值“<TABLE>”。代碼轉(zhuǎn)換器代理28可以選擇在腳本中包括“<TABLE>”值以向客戶機22的用戶表明文檔12包括表。
由節(jié)點2A表示的元素可以具有值為HTML標(biāo)記“<TR>”用于表行。代碼轉(zhuǎn)換器代理28可以調(diào)用節(jié)點2A表示的元素,從而獲得元素的值“<TR>”。代碼轉(zhuǎn)換器28可以在腳本中包括值“<TR>”,以向客戶機22的用戶表明表元素包括第一行。
由節(jié)點2B表示的元素還可以具有值為HTML標(biāo)記“<TR>”用于表行。代碼轉(zhuǎn)換器代理28可以調(diào)用由節(jié)點2B表示的元素,從而獲得元素的值“<TR>”。代碼轉(zhuǎn)換器代理28可以在腳本中包括“<TR>”用于向客戶機22的用戶表明表元素包括第二行。
由節(jié)點2C表示的元素可能具有值“<HEADER>”用于表標(biāo)題。代碼轉(zhuǎn)換器代理28可以調(diào)用由節(jié)點2C表示的元素,從而獲得元素的值“<HEADER>”以向客戶機22的用戶表明表元素包括至少一個標(biāo)題。
參照圖6,對于由接收焦點的節(jié)點1A表示的元素,使用觀察深度法選擇的文檔12的部分可以包括由層0中的根節(jié)點0、層1中的節(jié)點1A和1B以及層2中的節(jié)點2A-2F表示的元素。使用觀察深度方法選擇的文檔12的部分可以超出輸出裝置24的顯示能力。在此情況下,代碼轉(zhuǎn)換器代理28可以對使用觀察深度法選擇的文檔12的部分應(yīng)用分枝隔離方法。這樣,代碼轉(zhuǎn)換器代理28可以選擇由根節(jié)點0和子樹44的節(jié)點1A和2A-2C表示的元素。代碼轉(zhuǎn)換器代理28可以如上所述地調(diào)用由這些節(jié)點表示的元素。
注意,通過對使用觀察深度方法選擇的文檔12的部分應(yīng)用分枝隔離法所取得的結(jié)果與通過對使用分枝隔離方法選擇的文檔12的部分應(yīng)用觀察深度方法所取得的結(jié)果是相同的。
圖8是應(yīng)用上述分枝隔離和/或觀察深度法以提供分層結(jié)構(gòu)的計算機系統(tǒng)90的第一實施例的方框圖。計算機系統(tǒng)90包括耦合于客戶應(yīng)用94的主機應(yīng)用92,主機應(yīng)用92和客戶應(yīng)用94可以是在計算機系統(tǒng)90內(nèi)同時執(zhí)行(運行)的單獨的軟件程序。主機應(yīng)用例如可以是Web瀏覽器??蛻魬?yīng)用94例如可以是“輔助技術(shù)”接口。術(shù)語“輔助技術(shù)是用于描述幫助實際受到挑戰(zhàn)的個體來訪問計算機系統(tǒng)(例如計算機系統(tǒng)90)的技術(shù)。已知的各種輔助技術(shù)包括“屏幕閱讀器”,將顯示信息轉(zhuǎn)換成語音或Braille,“屏幕強調(diào)器“,將顯示屏幕上的部分內(nèi)容的特征放大以及可以將語音轉(zhuǎn)換成文本或命令的數(shù)字表示的語音識別軟件。
在圖8的實施例中,計算機系統(tǒng)90包括分層結(jié)構(gòu)96。在其他實施例中,分層結(jié)構(gòu)96可以在計算機系統(tǒng)90的外部,并且分層結(jié)構(gòu)96可以連接用于接收或訪問分層結(jié)構(gòu)96。分層結(jié)構(gòu)96包括多元素并定義元素之間的分層關(guān)系。分層結(jié)構(gòu)96的每個元素具有呈現(xiàn)屬性,并且單個元素具有焦點。分層結(jié)構(gòu)96例如可以是諸如Web頁的電子文檔。分層文檔96可以是交互式應(yīng)用程序或劃分成諸部分的地圖。
主機應(yīng)用92耦合到分層結(jié)構(gòu)96,并訪問分層結(jié)構(gòu)96。主機應(yīng)用92形成樹98,其中樹98是分層結(jié)構(gòu)96的樹模型。在圖8的實施例中,樹98駐留在主機應(yīng)用92中。樹98包括如上所述的節(jié)點和分枝。
為了表示分層結(jié)構(gòu)96的一部分,客戶應(yīng)用94訪問主機應(yīng)用92內(nèi)的樹98??蛻魬?yīng)用94可以實施如上所述的分枝隔離法。在此情況下,客戶應(yīng)用確定模型中從根節(jié)點至焦點節(jié)點的路徑,其中焦點節(jié)點是表示具有焦點的元素的節(jié)點。客戶應(yīng)用94產(chǎn)生一組呈現(xiàn)特性。該組呈現(xiàn)特性可以包括或不包括根節(jié)點的呈現(xiàn)屬性,如上所述。該組呈現(xiàn)屬性包括由根節(jié)點以外的沿著從根節(jié)點到焦點節(jié)點的路徑上的其他節(jié)點表示的每個元素的呈現(xiàn)屬性。該組呈現(xiàn)屬性還包括由低于焦點節(jié)點層的層中、并由一個或多個分枝連接于焦點節(jié)點的節(jié)點(即樹98的子樹,其中焦點節(jié)點是子樹的根節(jié)點)表示的每個元素的呈現(xiàn)屬性。
替代地,客戶應(yīng)用94可以實施如上所述的觀察深度方法。在此情況下,該組呈現(xiàn)屬性包括與焦點節(jié)點在相同層中的節(jié)點表示的所有元素的呈現(xiàn)屬性。該組呈現(xiàn)屬性還可以包括高于焦點節(jié)點層的選定的一些層中的節(jié)點表示的所有元素的呈現(xiàn)屬性。該組呈現(xiàn)屬性還可以包括低于焦點節(jié)點層的選定的一些層中的節(jié)點表示的所有元素的呈現(xiàn)屬性??蛻魬?yīng)用94可以按如上所述實施分枝隔離和觀察深度方法的組合。
客戶應(yīng)用94向計算機系統(tǒng)90的用戶代理100提供該組呈現(xiàn)屬性。客戶應(yīng)用94可以作為主機應(yīng)用92和用戶代理100之間的接口。用戶代理100可以用作客戶應(yīng)用94和計算機系統(tǒng)90的輸出裝置102之間的接口。輸出裝置102例如可以是Braille顯示或文本-語音轉(zhuǎn)換器。用戶代理100可以用作客戶應(yīng)用94與計算機系統(tǒng)的輸入裝置104之間的接口。輸入裝置104例如可以是語音-文本轉(zhuǎn)換器。用戶代理100使用該組呈現(xiàn)屬性產(chǎn)生輸出命令,并且輸出裝置提供輸出命令。結(jié)果,顯示希望的分層結(jié)構(gòu)的部分或者由輸出裝置102提供輸出。
圖9是應(yīng)用上述分枝隔離和/或觀察深度法表示分層結(jié)構(gòu)的計算機系統(tǒng)的第二實施例的方框圖。在圖9的實施例中,樹98駐留在客戶應(yīng)用94內(nèi)??蛻魬?yīng)用94通過主機應(yīng)用92訪問分層結(jié)構(gòu)96并形成樹98??蛻魬?yīng)用訪問樹98形成如上所述的呈現(xiàn)屬性集,并向該組呈現(xiàn)屬性提供給用戶代理100。
正如本領(lǐng)域技術(shù)人員所理解的,本發(fā)明的方法和系統(tǒng)可用于表示分層結(jié)構(gòu),以下所附的權(quán)利要求書將函蓋所有的修改和變型。
權(quán)利要求
1.一種提供分層結(jié)構(gòu)的方法,包括訪問分層結(jié)構(gòu),其中分層結(jié)構(gòu)包括多個元素并且定義了元素之間的分層關(guān)系,并且其中每個元素具有一個呈現(xiàn)屬性,并且其中單一元素具有焦點;形成分層結(jié)構(gòu)的模型,分層結(jié)構(gòu)包括多個相對于其他層排列的層,多個節(jié)點,以及至少一個分枝,其中每個節(jié)點表示單一元素,并且其中單一元素為根節(jié)點并占據(jù)最高層,并且其中一給定的分枝將一個第一層中的第一節(jié)點連接于第一層的直接下一層中的第二節(jié)點,并且其中每個分枝表示由分枝連接的節(jié)點之間的分層關(guān)系;以及提供與焦點節(jié)點同在一層的節(jié)點表示的每個元素的呈現(xiàn)屬性,其中焦點節(jié)點是表示具有焦點的元素的節(jié)點。
2.如權(quán)利要求1的方法,進一步包括提供高于焦點節(jié)點層的選定的一些層中的節(jié)點表示的每個元素的呈現(xiàn)屬性。
3.如權(quán)利要求1的方法,進一步包括提供低于焦點節(jié)點層的選定的一些層中的節(jié)點表示的每個元素的呈現(xiàn)屬性。
4.如權(quán)利要求1的方法,其中分層結(jié)構(gòu)是電子文檔。
5.如權(quán)利要求4的方法,其中電子文檔是Web頁,交互式應(yīng)用程序或地圖。
6.如權(quán)利要求1的方法,其中模型是樹結(jié)構(gòu)。
7.如權(quán)利要求1的方法,其中給定節(jié)點的呈現(xiàn)屬性或者是一值或者是一函數(shù)。
8.一種用于提供分層結(jié)構(gòu)的方法,包括接收以第一數(shù)字格式表示的分層結(jié)構(gòu),其中分層結(jié)構(gòu)包括多個元素并且定義元素之間的分層關(guān)系,并且其中每個元素具有一個呈現(xiàn)屬性,并且其中單一元素具有焦點;形成分層結(jié)構(gòu)的樹模型,包括多個相對于其他層排列的層,多個節(jié)點,以及至少一個分枝,其中每個節(jié)點表示單一元素,并且其中單一節(jié)點為樹模型的根節(jié)點并占據(jù)了最高層,并且其中一給定的分枝將一個第一層中的第一節(jié)點連接于第一層的直接下一層中的第二節(jié)點上,并且其中每個分枝表示由分枝連接的節(jié)點之間的分層關(guān)系;使用樹模型產(chǎn)生以第二數(shù)字格式表示的原始腳本,其中原始腳本包括由以下節(jié)點表示的元素的呈現(xiàn)屬性與原始焦點節(jié)點在同一層中的節(jié)點,其中原始焦點節(jié)點是表示具有焦點的元素的節(jié)點;以及,高于原始焦點節(jié)點層的選定的一些層中的節(jié)點;以及提供原始腳本。
9.如權(quán)利要求8的方法,其中電子文檔是Web頁,交互式應(yīng)用程序或地圖。
10.如權(quán)利要求8的方法,其中給定節(jié)點的呈現(xiàn)屬性或者是一值或者是一函數(shù)。
11.如權(quán)利要求8的方法,其中第一數(shù)字格式是基于文本的置標(biāo)語言。
12.如權(quán)利要求11的方法,其中基于文本的置標(biāo)語言是超文本置標(biāo)語言(HTML)或擴展置標(biāo)語言(XML)。
13.如權(quán)利要求8的方法,其中第二數(shù)字格式是腳本語言。
14.如權(quán)利要求8的方法,其中原始腳本進一步包括由高于焦點節(jié)點層的選定的一些層中的節(jié)點表示的元素的呈現(xiàn)屬性。
15.如權(quán)利要求8的方法,還包括接收一事件,其中事件表明在具有焦點的元素中產(chǎn)生了變化;使用樹模型產(chǎn)生新的以第二數(shù)字格式表示的腳本以響應(yīng)所述事件,其中新的腳本包括由以下節(jié)點表示的元素的呈現(xiàn)屬性與新的焦點節(jié)點在同一層中的節(jié)點,其中新焦點節(jié)點是表示具有作為由事件表明的焦點中的變化的結(jié)果的焦點的元素的節(jié)點;和,高于新焦點節(jié)點層的選定的一些層中的節(jié)點,以及提供新腳本。
16.一種用于提供分層結(jié)構(gòu)的方法,包括接收以數(shù)字格式表示的原始腳本,其中分層結(jié)構(gòu)包括多個元素并且定義元素之間的分層關(guān)系,并且其中每個元素具有一個呈現(xiàn)屬性,并且其中單一元素具有焦點,并且其中原始腳本來自于具有多層和多個節(jié)點的分層結(jié)構(gòu)的樹模型,多層彼此相對排列,并且其中每個節(jié)點表示單一元素,并且其中原始腳本包括由以下節(jié)點表示的元素的呈現(xiàn)屬性與原始焦點節(jié)點在同一層中的節(jié)點,其中原始焦點節(jié)點是表示具有焦點的元素的節(jié)點;以及,高于原始焦點節(jié)點層的選定的一些層中的節(jié)點;以及提供原始腳本中的呈現(xiàn)屬性。
17.如權(quán)利要求16的方法,還包括響應(yīng)用戶的輸入產(chǎn)生事件,其中事件表明具有焦點的元素中的變化;提供事件;接收以數(shù)字格式表示的從樹模型中推導(dǎo)出來的新的腳本,其中新的腳本包括由以下節(jié)點表示的元素的呈現(xiàn)屬性與新的焦點節(jié)點在同一層中的節(jié)點,其中新的焦點節(jié)點是表示具有作為事件表明的焦點中的變化的結(jié)果的焦點的元素的節(jié)點;以及,高于新的焦點節(jié)點層的選定的一些層中的節(jié)點;以及提供新的腳本內(nèi)的呈現(xiàn)屬性。
18.一種用于提供分層結(jié)構(gòu)的方法,包括接收以第一數(shù)字格式表示的分層結(jié)構(gòu),其中分層結(jié)構(gòu)包括多個元素并且定義元素之間的分層關(guān)系,并且其中每個元素有一呈現(xiàn)屬性,并且其中單一元素具有焦點;形成分層結(jié)構(gòu)的樹模型,分層結(jié)構(gòu)包括多個相對其他層排列的層,多個節(jié)點,以及至少一個分枝,其中每個節(jié)點表示單一元素,并且其中單一節(jié)點是樹模型的根節(jié)點并且占據(jù)于最高層,并且其中一給定的分枝將一個第一層中的一個第一節(jié)點連接到第一層的直接下一層的第二節(jié)點上,并且其中每個分枝表示由分枝連接的節(jié)點之間的分層關(guān)系;使用樹模型產(chǎn)生以第二數(shù)字格式表示的原始腳本,其中原始腳本包括由以下節(jié)點表示的元素的呈現(xiàn)屬性;與原始焦點節(jié)點在同一層中的節(jié)點,其中原始焦點節(jié)點是表示具有焦點的元素的節(jié)點;以及,高于原始焦點節(jié)點層的選定的一些層中的節(jié)點;提供原始腳本中的呈現(xiàn)屬性;響應(yīng)用戶輸入產(chǎn)生事件,其中事件表明具有焦點的元素中的變化;使用樹模型響應(yīng)事件產(chǎn)生以第二數(shù)字格式表示的新的腳本,其中新的腳本包括由以下節(jié)點表示的元素的呈現(xiàn)屬性與新的焦點節(jié)點在同一層中的節(jié)點,其中新焦點節(jié)點是表示具有作為由事件表明的焦點的變化的結(jié)果的焦點的元素的節(jié)點;以及,在高于新的焦點節(jié)點層的選定的一些層中的節(jié)點;以及提供新腳本內(nèi)的呈現(xiàn)屬性。
19.一種用于提供分層結(jié)構(gòu)的系統(tǒng),包括將代碼轉(zhuǎn)換器代理配置成接收以第一數(shù)字格式表示的分層結(jié)構(gòu),其中分層結(jié)構(gòu)包括多個元素并且定義元素之間的分層關(guān)系,并且其中每個元素具有一個呈現(xiàn)屬性,并且其中單一元素具有焦點;形成分層結(jié)構(gòu)的樹模型,包括多個相對于其他層排列的層,多個節(jié)點,以及至少一個分枝,其中每個節(jié)點表示單一元素,并且其中單一節(jié)點為樹模型的根節(jié)點并占據(jù)了最高層,并且其中一給定的分枝將一個第一層中的第一節(jié)點連接于第一層的直接下一層中的第二節(jié)點上,并且其中每個分枝表示由分枝連接的節(jié)點之間的分層關(guān)系;使用樹模型產(chǎn)生以第二數(shù)字格式表示的原始腳本,其中原始腳本包括由以下節(jié)點表示的元素的呈現(xiàn)屬性與原始焦點節(jié)點同在一層中的節(jié)點,其中原始焦點節(jié)點是表示具有焦點的元素的節(jié)點;以及,高于原始焦點節(jié)層的選定的一些層中的節(jié)點;以及提供原始腳本,以及與代碼轉(zhuǎn)換器代理相連接的客戶機,其中客戶機包括輸出裝置;以及與輸出裝置相耦合的用戶代理,并且被配置成接收原始腳本;響應(yīng)原始腳本形成呈現(xiàn)信息,其中呈現(xiàn)信息包括原始腳本內(nèi)的呈現(xiàn)屬性;使用呈現(xiàn)信息產(chǎn)生輸出命令;以及向輸出裝置輸出命令。
20.如權(quán)利要求19的系統(tǒng),其中客戶機的用戶代理配置成響應(yīng)用戶的輸入產(chǎn)生事件,其中事件表明具有焦點的元素中的變化;以及提供事件。
21.如權(quán)利要求20的系統(tǒng),其中代碼轉(zhuǎn)換器代理被進一步配置成接收事件;使用樹模型響應(yīng)事件產(chǎn)生以第二數(shù)字格式表示的新的腳本,其中新的腳本包括由以下節(jié)點表示的元素的至少一部分的呈現(xiàn)屬性與新的焦點節(jié)在同一層中的節(jié)點,其中新的焦點節(jié)點是表示具有作為由事件表明的焦點中的變化的結(jié)果的焦點的元素的節(jié)點;高于新的焦點節(jié)點層的選定的一些層中的節(jié)點;以及提供新的腳本。
22.如權(quán)利要求21的系統(tǒng),其中客戶機的用戶代理被進一步配置成接收新的腳本;以及響應(yīng)新的腳本修改呈現(xiàn)信息。
23.一種用于提供分層結(jié)構(gòu)的方法,包括接收分層結(jié)構(gòu),其中分層結(jié)構(gòu)包括多個元素并且定義了元素之間的分層關(guān)系,并且其中每個元素具有一個呈現(xiàn)屬性,并且其中單一元素具有焦點;形成分層結(jié)構(gòu)的模型,分層結(jié)構(gòu)包括多個相對其他層排列的層,多個結(jié)點,以及至少一個分枝,其中每個節(jié)點表示單一元素,并且其中單一節(jié)點是根節(jié)點并且占據(jù)最高層,并且其中一給定的分枝將一個第一層中的第一節(jié)點連接到該第一層的直接下一層的第二節(jié)點上,并且其中每個分枝表示由分枝連接的節(jié)點之間的分層關(guān)系;選擇模型的第一部分,包括與焦點節(jié)點在同一層中的節(jié)點,其中焦點節(jié)點是表示具有焦點的元素的節(jié)點;以及在高于焦點節(jié)點層的選定的一些層中的節(jié)點;以及選擇模型的第二部分,包括沿著模型中從根節(jié)點至焦點節(jié)點的路徑上的節(jié)點;以及高于焦點節(jié)點層的層中并且由一個或多個分枝連接到焦點節(jié)點的節(jié)點;以及提供由模型的第一和第二部分內(nèi)的節(jié)點表示的元素的呈現(xiàn)屬性。
24.如權(quán)利要求23的方法,其中路徑是從根節(jié)點到焦點節(jié)點沿分枝形成的路由。
25.如權(quán)利要求23的方法,其中根節(jié)點是在模型的第一和第二部分內(nèi),并且其中有選擇地提供由根節(jié)點表示的元素的呈現(xiàn)屬性。
26.一計算機系統(tǒng),包括主機應(yīng)用,配置成訪問分層結(jié)構(gòu),其中分層結(jié)構(gòu)包括多個元素并且定義元素之間的分層關(guān)系,并且其中每個元素具有呈現(xiàn)屬性,并且其中單一元素具有焦點;形成分層結(jié)構(gòu)的模型,分層結(jié)構(gòu)包括多個相對于其他層排列的層,多個節(jié)點,以及至少一個分枝,其中每個節(jié)點表示單一元素,并且其中單一節(jié)點是根節(jié)點并且占據(jù)了最高層,并且其中一給定分枝將一個第一層中的第一節(jié)點連接到該第一層的直接下一層中的第二節(jié)點中,并且其中每個分枝表示由分枝連接的節(jié)點之間的分層關(guān)系;耦合到主機應(yīng)用的客戶應(yīng)用,并且配置成訪問分層結(jié)構(gòu)的模型;產(chǎn)生一組呈現(xiàn)屬性,其中該組呈現(xiàn)屬性包括與焦點節(jié)點在同一層中的節(jié)點表示的每個元素的屬性,其中焦點節(jié)點是表示具有焦點的元素的節(jié)點;以及提供該組呈現(xiàn)屬性;輸出裝置;以及與輸出裝置相連接用于接收該組呈現(xiàn)屬性的用戶代理,其中用戶代理被配置成使用該組呈現(xiàn)屬性以產(chǎn)生輸出命令;以及向輸出裝置提供輸出命令。
27.如權(quán)利要求26的計算機系統(tǒng),其中所述該組呈現(xiàn)屬性還包括由高于焦點節(jié)點層的選定的一些層中的節(jié)點表示的每個元素的呈現(xiàn)屬性。
28.如權(quán)利要求26的計算機系統(tǒng),其中所述該組呈現(xiàn)屬性還包括由低于焦點節(jié)點層的選定的一些層中的節(jié)點表示的每個元素的呈現(xiàn)屬性。
29.如權(quán)利要求26的計算機系統(tǒng),其中主機應(yīng)用是Web瀏覽器。
30.如權(quán)利要求26的計算機系統(tǒng),其中客戶應(yīng)用是用作主機應(yīng)用和用戶代理之間接口的輔助技術(shù)。
31.如權(quán)利要求26的計算機系統(tǒng),其中用戶代理用作客戶應(yīng)用和輸出裝置之間的接口。
32.如權(quán)利要求26的計算機系統(tǒng),其中輸出裝置是Braille顯示或文本-語音轉(zhuǎn)換器。
33.如權(quán)利要求26的計算機系統(tǒng),進一步包括與用戶代理相耦合的輸入裝置。
34.如權(quán)利要求33的計算機系統(tǒng),其中輸入裝置是語音-文本轉(zhuǎn)換器。
35.如權(quán)利要求26的計算機系統(tǒng),其中,根節(jié)點的呈現(xiàn)屬性被有選擇地包括在呈現(xiàn)屬性組中。
36.一種計算機系統(tǒng),包括主機應(yīng)用;與主機應(yīng)用相耦合的客戶應(yīng)用,并配置成通過主機應(yīng)用訪問分層結(jié)構(gòu),其中分層結(jié)構(gòu)包括多個元素并且定義元素之間的分層關(guān)系,并且其中每個元素有一呈現(xiàn)屬性,并且其中單一元素具有焦點;形成分層結(jié)構(gòu)的模型,分層結(jié)構(gòu)包括多個相對其他層排列的層,多個節(jié)點,以及至少一個分枝,其中每個節(jié)點表示單一元素,并且其中單一節(jié)點為根節(jié)點并且占據(jù)最高層,并且其中一給定分枝將一個第一層中的第一節(jié)點連接到該第一層的直接下一層中的第二節(jié)點上,并且其中每個分枝表示了由分枝連接的節(jié)點之間的分層關(guān)系;產(chǎn)生一組呈現(xiàn)屬性,其中該組呈現(xiàn)屬性包括與焦點節(jié)點在同一層中的節(jié)點表示的每個元素的屬性,其中焦點節(jié)點是表示具有焦點的元素的節(jié)點;以及提供該組呈現(xiàn)屬性;輸出裝置;以及與輸出裝置相耦合用于接收該組呈現(xiàn)屬性的用戶代理,其中用戶代理被配置成使用該組呈現(xiàn)屬性產(chǎn)生輸出命令;以及向輸出裝置提供輸出命令。
全文摘要
觀察深度方法包括形成分層結(jié)構(gòu)的樹形模型,每個節(jié)點表示一個元素。每個分枝表示連接的節(jié)點之間的分層關(guān)系。一焦點節(jié)點表示接收焦點的元素。提供由與焦點節(jié)點在同一層中的節(jié)點表示的每個元素的呈現(xiàn)屬性。還提供高于焦點節(jié)點層的選定的一些層中的節(jié)點表示的每個元素的呈現(xiàn)屬性,以及提供低于焦點節(jié)點層的選定的一些層中的節(jié)點表示的每個元素的呈現(xiàn)屬性。
文檔編號G09G5/00GK1305164SQ001350
公開日2001年7月25日 申請日期2000年12月7日 優(yōu)先權(quán)日1999年12月9日
發(fā)明者弗朗西絲·C·布朗, 理查德·S·施沃特費格, 勞倫斯·F·威斯 申請人:國際商業(yè)機器公司