專利名稱:文檔處理裝置和文檔處理方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種文檔處理技術(shù),特別是涉及一種對通過標(biāo)記語言描述的文檔進行處理的文檔處理裝置和文檔處理方法。
背景技術(shù):
XML作為適用于通過如網(wǎng)絡(luò)等與他人共享數(shù)據(jù)的形式受到人們的關(guān)注,且人們正開發(fā)用于編寫、顯示和編輯XML文檔的應(yīng)用軟件(例如,請參照專利文獻(xiàn)1)。XML文檔根據(jù)由文檔類型定義等定義的詞匯(標(biāo)簽組)編寫。
專利文獻(xiàn)1特開2001-290804號公報發(fā)明內(nèi)容發(fā)明要解決的課題詞匯可以任意進行定義,在理論上可以存在無限多的詞匯。對應(yīng)于所有這些詞匯提供專用的顯示和編輯環(huán)境是不太現(xiàn)實的。在現(xiàn)有技術(shù)中,在對由專用編輯環(huán)境未準(zhǔn)備的詞匯描述的文檔進行編輯的情況下,直接用文本編輯器等編輯由文本數(shù)據(jù)構(gòu)成的文檔的源。
本發(fā)明是鑒于這種狀況而做出的,其目的在于,提供一種在對由標(biāo)記語言進行描述的文檔進行處理時可提高用戶的便利性的技術(shù)。
用于解決課題的方案本發(fā)明的一種實施方式涉及文檔處理裝置。該文檔處理裝置包括多個處理系統(tǒng),所述多個處理系統(tǒng)將由標(biāo)記語言描述的文檔以互不相同的多個顯示格式同時顯示在同一屏幕上,并接受用戶對所述文檔的編輯。
本發(fā)明的另一種實施方式也涉及文檔處理裝置。該文檔處理裝置包括多個處理系統(tǒng),所述多個處理系統(tǒng)將由標(biāo)記語言描述的文檔以互不相同的多個顯示格式可切換地顯示,并接受用戶對所述文檔的編輯。
標(biāo)記語言可以是XML的一種方式,例如,XHTML、SVG、MathML等,也可以是SGML、HTML等。通過不同的多個顯示格式顯示文檔,能夠讓用戶從多種角度把握文檔,使文檔的編輯容易。由此,能夠提高用戶的便利性。
所述多個處理系統(tǒng)中的一個系統(tǒng)在接受用戶對所述文檔的編輯時,對編輯結(jié)果進行反映,從而使其它處理系統(tǒng)也更新顯示。由此,能夠?qū)崟r地反映其它處理系統(tǒng)中的編輯,顯示最新的狀況。
還可以進一步包括變換部,將處理對象的文檔映射為所述處理部能夠兼容的標(biāo)記語言。由此,即使是對于由處理系統(tǒng)不兼容的標(biāo)記語言描述的文檔,也可以進行顯示和編輯。另外,即使是處理系統(tǒng)所兼容的標(biāo)記語言,也可以通過XHTML、HTML等標(biāo)記語言生成和提供編輯用屏幕。
還可以包括生成部,能夠從作為所述處理對象的文檔生成數(shù)據(jù),所述數(shù)據(jù)符合為了在將文檔作為數(shù)據(jù)處理時提供訪問方法而被確定的文檔對象模型格式,并且所述生成部可以生成與作為所述處理對象的文檔相對應(yīng)的第一文檔對象模型數(shù)據(jù),和與由所述變換部映射的文檔相對應(yīng)的第二文檔對象模型數(shù)據(jù)。第一文檔對象模型數(shù)據(jù)為作為編輯基礎(chǔ)的DOM樹,第二文檔對象模型數(shù)據(jù)為作為顯示基礎(chǔ)的DOM樹。接受用戶對所述文檔的編輯的處理系統(tǒng)可以改變所述第一文檔對象模型數(shù)據(jù)。在其它處理系統(tǒng)中,將第二文檔對象模型數(shù)據(jù)作為顯示基礎(chǔ)的處理系統(tǒng)在第一文檔對象模型數(shù)據(jù)被更新時,對第二文檔對象模型數(shù)據(jù)進行更新,從而更新顯示。由此,可以實時地將編輯反映到顯示中。
本發(fā)明的再一個實施方式涉及文檔處理方法。其特征在于,將由標(biāo)記語言描述的文檔分別以互不相同的顯示格式同時顯示在同一屏幕上,以接受用戶對所述文檔的編輯。
另外,作為本發(fā)明的實施方式,以上構(gòu)成要素的任意組合、以及將本發(fā)明的描述在方法、裝置、系統(tǒng)等之間進行變換的方式也是有效的。
發(fā)明效果根據(jù)本發(fā)明,可提高在對由標(biāo)記語言進行描述的文檔進行處理時的用戶的便利性。
圖1是有關(guān)本發(fā)明實施方式的文檔處理裝置的結(jié)構(gòu)示意圖;圖2是通過文檔處理裝置編輯的XML文檔的一個例子的示意圖;圖3是將圖2所示的XML文檔變換為由HTML描述的表的一個例子的示意圖;圖4是用來將圖2所示的XML文檔變換為圖3所示的表的定義文件的一個例子的示意圖;圖5是將圖2所示的XML文檔通過圖3所示的對應(yīng)映射為HTML而顯示的屏幕的一個例子的示意圖;圖6是為了使用戶生成定義文件而由定義文件生成部提示給用戶的圖形用戶界面的一個例子的示意圖;圖7是由定義文件生成部生成的屏幕布局的其它例子的示意圖;圖8是通過文檔處理裝置形成的XML文檔的編輯屏幕的一個例子的示意圖;圖9是通過文檔處理裝置編輯的XML文檔的其它例的示意圖;圖10是顯示圖9所示的文檔的屏幕的一個例子的示意圖。
標(biāo)號說明100 文檔處理裝置 110 主控單元 120 編輯單元130 DOM單元132 DOM提供器 134 DOM構(gòu)造器136 輸出單元 140 CSS單元 150 HTML單元160 SVG單元180 VC單元182 映射單元184 定義文件獲取單元 186 定義文件生成單元發(fā)明的優(yōu)選實施方式圖1示出了本發(fā)明實施方式的文檔處理裝置100的結(jié)構(gòu)。文檔處理裝置100對結(jié)構(gòu)化的文檔進行處理,該文檔中的數(shù)據(jù)被分為具有分級結(jié)構(gòu)的多個構(gòu)成元素。該實施方案中表示的是一個實施例,其中,對作為結(jié)構(gòu)化文檔之一例的XML文檔進行處理。文檔處理裝置100包括主控單元110、編輯單元120、DOM單元130、CSS單元140、HTML單元150、SVG單元160以及用作變換部一個示例的VC單元180。就硬件部件而言,這些結(jié)構(gòu)可由任意的計算機的CPU或存儲器、存儲器載入的程序等來實現(xiàn),但是在此描述為通過它們的協(xié)作而實現(xiàn)的功能模塊。本領(lǐng)域技術(shù)人員能夠理解,這些功能模塊可僅通過硬件的方式、僅通過軟件的方式或通過二者相結(jié)合的方式等多種方式來實現(xiàn)。
主控單元110提供插件的載入,和提供執(zhí)行命令的框架。編輯單元120提供用于編輯XML文檔的框架。文檔處理裝置100中的文檔的顯示和編輯功能是通過插件來實現(xiàn)的,根據(jù)所處理的文檔類型,必要的插件通過主控單元110或編輯單元120載入。主控單元110或編輯單元120通過參考待處理的文檔的命名空間來確定哪個或哪些詞匯描述了待處理的XML文檔的內(nèi)容,并且對應(yīng)于所確定的詞匯載入用于顯示和編輯的插件從而執(zhí)行顯示和編輯。例如,對HTML文檔進行顯示和編輯的HTML單元150、對SVG文檔進行顯示和編輯的SVG單元160在文檔處理裝置100中被實現(xiàn)為處理單元。也就是說,對于各個詞匯(標(biāo)簽集),將顯示系統(tǒng)和編輯系統(tǒng)實現(xiàn)為插件,以使得在對HTML文檔和SVG文檔進行編輯時,分別將HTML單元150和SVG單元160與其各自的控制單元進行協(xié)同載入。如以下將描述的那樣,在要對既包括HTML又包括SVG組件的復(fù)合文檔進行處理時,HTML單元150和SVG單元160均被載入。
通過以上結(jié)構(gòu),用戶能夠僅選擇必要的功能以安裝該功能,如果需要,也能夠在稍后的階段增加或刪除適當(dāng)?shù)墓δ堋R虼?,能夠有效利用記錄介質(zhì)的存儲區(qū)域(例如儲存程序的硬盤),并能夠避免在執(zhí)行程序的時候存儲器使用的浪費。此外,由于這一結(jié)構(gòu)有利于功能的擴展,因此開發(fā)者自己能夠以插件的形式處理新的詞匯,因而能夠促進開發(fā)過程。因此,用戶也能夠通過增加插件而以較低成本輕易地增加功能。
編輯單元120通過用戶界面接收來自用戶的編輯指令的事件,將事件通知給適當(dāng)?shù)牟寮⒖刂铺幚?,所述處理可包括重新?zhí)行事件的重做(redo)處理以及取消事件的撤消(undo)處理。
DOM單元130包括DOM提供器132、DOM構(gòu)造器134以及輸出單元136。DOM單元130實現(xiàn)了與文檔對象模型(Document Object ModelDOM)相符的功能。在XML文檔作為數(shù)據(jù)被處理時,所述文檔對象模型被定義以提供訪問方法。DOM構(gòu)造器132是滿足由編輯單元120所定義界面的DOM的實現(xiàn)。DOM創(chuàng)建器134從XML文檔創(chuàng)建DOM樹。如以下將描述的那樣,當(dāng)通過VC單元180將待處理的XML文檔映射為其它詞匯時,生成與映射源中的XML文檔相對應(yīng)的源樹以及與映射目標(biāo)中的XML文檔相對應(yīng)的目的樹。輸出單元136例如在編輯結(jié)束時,輸出作為XML文檔的DOM樹。
CSS單元140包括CSS分析器142、CSS提供器144以及呈現(xiàn)單元146,并提供與CSS相符的顯示功能。CSS分析器142具有用于分析CSS語法的分析功能。CSS提供器144是CSS對象的實現(xiàn),并執(zhí)行對DOM樹的CSS層疊處理。呈現(xiàn)單元146是CSS的呈現(xiàn)引擎,并用來顯示以諸如HTML等詞匯描述的、利用CSS布置的文檔。
HTML單元150對以HTML描述的文檔進行顯示或編輯。SVG單元160對以SVG描述的文檔進行顯示或編輯。這些顯示/編輯系統(tǒng)以插件的形式實現(xiàn),分別包括顯示器(Canvas)156、166,用以顯示文檔;控制器(Editlet)152、162,接收或發(fā)送包含了編輯指令的事件;編輯器(Zone)154、164,接收編輯指令以對DOM進行編輯。在控制器152或162從外部源接收到用于DOM樹的編輯命令時,編輯器154或164修改DOM樹,而顯示器156或166更新顯示。這些單元具有與被稱作MVC(Model-View-Controllers,模型-視圖-控制器)的框架相類似的結(jié)構(gòu),大體上,顯示器156及166與“View”對應(yīng),控制器152及162與“Controller”對應(yīng),編輯器154及164與DOM的實體“Model”分別對應(yīng)。本實施方式中的文檔處理裝置100不僅以樹的顯示格式編輯XML文檔,還可以對應(yīng)于不同的詞匯進行編輯。例如,HTML單元150提供用于以類似于文字處理的方式編輯HTML文檔的界面,SVG單元160提供用于以類似于圖像描繪工具的形式編輯SVG文檔的界面。
VC單元180包括映射單元182、定義文件獲取單元184以及定義文件生成單元186。通過將以某個詞匯描述的文檔映射為另一詞匯,VC單元180提供了一種框架,以通過與被映射的詞匯相對應(yīng)的顯示和編輯插件來顯示或編輯文檔。在本實施方案中,該功能被稱為詞匯連接(Vocabulary ConnectionVC)。在VC單元180中,定義文件獲取單元184獲取描述了映射定義的定義文件。該定義文件逐個節(jié)點地描述了節(jié)點間的對應(yīng)(連接)。此時,可規(guī)定各節(jié)點的元素值或?qū)傩灾凳欠窨梢跃庉?。也可描述使用了?jié)點的元素值或?qū)傩灾档倪\算表達(dá)式。這些功能將在稍后進行描述。映射單元182使得DOM構(gòu)造器134通過參考定義文件獲取單元184已經(jīng)獲取的定義文件來生成目的樹,以使得映射單元182能夠管理源樹與目的樹之間的對應(yīng)關(guān)系。定義文件生成單元186為用戶提供圖形用戶界面,以生成定義文件。
VC單元180對源樹與目的樹之間的連接進行監(jiān)控。當(dāng)VC單元180通過由負(fù)責(zé)顯示的插件提供的用戶界面從用戶處接收編輯指令時,它首先修改源樹的相應(yīng)節(jié)點。因此,DOM單元130將發(fā)出表明源樹已經(jīng)被修改的變化事件。然后,VC單元180接收該變化事件,并對應(yīng)于被修改的節(jié)點而修改目的樹的節(jié)點,以使得目的樹與源樹的修改同步。當(dāng)為顯示/編輯目的樹提供必要的處理的插件(例如HTML單元150)接收了表明目的樹已經(jīng)被修改的變化事件時,該插件通過參考被修改的目的樹而對顯示進行更新。通過執(zhí)行將詞匯轉(zhuǎn)換為另一主要詞匯的上述結(jié)構(gòu),即使是以少數(shù)用戶使用的局部詞匯來描述文檔,也能夠正確顯示文檔,并能夠相應(yīng)地提供理想的編輯環(huán)境。
下面將對利用文檔處理裝置100顯示和/或編輯文檔的操作進行說明。當(dāng)文檔處理裝置100讀取作為處理對象的文檔時,DOM構(gòu)造器134從XML文檔生成DOM樹。主控單元110或編輯單元120通過參考命名空間來判別描述文檔的詞匯。如果與詞匯相對應(yīng)的插件安裝在文檔處理裝置100中,則該插件被載入以顯示/編輯文檔。另一方面,如果插件并未安裝其中,則確認(rèn)是否存在映射的定義文件。如果存在定義文件,則定義文件獲取單元184獲取該定義文件,并根據(jù)定義生成目的樹,以使得能夠通過與映射目的的詞匯相對應(yīng)的插件來顯示/編輯文檔。如果該文檔是包含多個詞匯的復(fù)合文檔,則通過與各詞匯相對應(yīng)的插件來顯示/編輯該文檔的相關(guān)部分,以下將對此詳細(xì)描述。如果不存在定義文件,則顯示文檔的源或樹型結(jié)構(gòu),并在所顯示的屏幕中進行編輯。
圖2示出了待處理的XML文檔的一個實施例。該XML文檔用于管理與學(xué)生已獲得的評分或成績相關(guān)的數(shù)據(jù)。作為XML文檔的上部節(jié)點的構(gòu)成元素“成績”包括在“成績”下方為各個學(xué)生設(shè)置的多個構(gòu)成元素“生徒”。構(gòu)成元素“生徒”具有屬性“名前”,并包括作為子元素“國語”、“數(shù)學(xué)”、“理科”以及“社會”。屬性“名前”存儲學(xué)生的姓名。構(gòu)成元素“國語”、“數(shù)學(xué)”、“理科”和“社會”分別存儲日語、數(shù)學(xué)、自然科學(xué)和社會科學(xué)的成績。例如,姓名為“A”的學(xué)生的成績是日語成績?yōu)椤?0”、數(shù)學(xué)成績?yōu)椤?0”、自然科學(xué)成績?yōu)椤?5”以及社會科學(xué)成績?yōu)椤?0”。下文中,該文檔中使用的詞匯(標(biāo)簽集)被稱作“成績管理詞匯”。
由于根據(jù)本實施方案的文檔處理裝置100不具有與成績管理詞匯的顯示和/或編輯相對應(yīng)的插件,因此,將使用以上描述的VC功能,以不使用源顯示和樹顯示的其它顯示方法來顯示該文檔。也就是說,通過準(zhǔn)備定義文件,使得成績管理詞匯可映射為已具有插件的另一詞匯,例如HTML或SVG等。下面的說明是在假設(shè)已經(jīng)具備了定義文件的情況下進行的,不過對于用戶本身用以創(chuàng)建定義文件所必需的用戶界面將在后面描述。
圖3示出了圖2中所示的XML文檔映射為以HTML描述的表的一個實施例。在圖3所示的實施例中,以成績管理詞匯描述的“生徒”節(jié)點與以HTML描述的表(“TABLE”節(jié)點)的行(“TR”節(jié)點)相關(guān)。各行的第一列與屬性值“名前”相對應(yīng),第二列與“國語”節(jié)點的元素值相對應(yīng),第三列與“數(shù)學(xué)”節(jié)點的元素值相對應(yīng),第四列與“理科”節(jié)點的元素值相對應(yīng),而第五列與“社會”節(jié)點的元素值相對應(yīng)。因此,圖2所示的XML文檔能以HTML的列表格式來顯示。此外,這些屬性值和元素值被指定為能夠編輯,以使得用戶能夠使用HTML單元150的編輯功能在顯示屏上對這些值進行編輯。在第六列中,指定了用來計算日語、數(shù)學(xué)、自然科學(xué)以及社會科學(xué)的成績的加權(quán)平均的運算表達(dá)式,并顯示每個學(xué)生成績的平均值。以這種方式,通過在定義文件中指定運算表達(dá)式來完成更靈活的顯示,從而提高用戶在進行編輯時的便利性。在圖3所示的實施例中,將對第六列的編輯指定為不允許,以使得不能單獨對平均值本身進行編輯。因此,在映射定義中,能夠指明可編輯或不能編輯,以避免用戶可能的錯誤操作。
圖4表示定義文件的一個實施例,以將圖2所示的XML文檔映射為圖3所示的表。該定義文件通過被定義用于和定義文件一起使用的腳本語言來描述。在圖4所示的實施例中,定義了“生徒の追加”(意為“增加學(xué)生”)和“生徒の削除”(意為“刪除學(xué)生”)作為命令,并分別涉及將節(jié)點“生徒”插入源樹中的操作以及將節(jié)點“生徒”從源樹中刪除的操作。模板描述了諸如“名前”和“國語”等標(biāo)題顯示于表的第一行中,而節(jié)點“生徒”的內(nèi)容顯示于第二行及其隨后的行中。在顯示節(jié)點“生徒”內(nèi)容的模板中,包含“text-of”的項表示允許進行編輯,而包含“value-of”的項表示不允許進行編輯。在這些顯示了節(jié)點“生徒”內(nèi)容的行中,在第六行中描述了運算表達(dá)式“(src國語+src數(shù)學(xué)+scr理科+scr社會)div 4”。這意味著顯示學(xué)生成績的平均值。
圖5示出了將圖2所示的由成績管理詞匯描述的XML文檔利用圖3所示的對應(yīng)關(guān)系映射至HTML以使其顯示在顯示屏上時,顯示屏的一個實施例。在表200各行中從左至右顯示的是各學(xué)生的姓名,以及日語成績、數(shù)學(xué)成績、自然科學(xué)成績、社會科學(xué)成績及平均分?jǐn)?shù)。用戶能夠在屏幕上對XML文檔進行編輯。例如,當(dāng)?shù)诙械谌兄械闹底優(yōu)椤?0”時,源樹中與該節(jié)點相對應(yīng)的元素值(亦即學(xué)生“B”的數(shù)學(xué)成績)變?yōu)椤?0”。此時,為了使目的樹符合源樹,VC單元180修改目的樹的相應(yīng)部分,從而使得HTML單元150能夠根據(jù)改變的目的樹來對顯示進行更新。因此,學(xué)生“B”的數(shù)學(xué)成績變?yōu)椤?0”,而平均分?jǐn)?shù)相應(yīng)地變?yōu)椤?5”。
在圖5所示的屏幕上,例如“生徒の追加”和“生徒の削除”的命令被顯示為菜單,如圖4所示的定義文件中所定義的那樣。當(dāng)用戶從這些命令中選擇一個命令時,節(jié)點“生徒”增加至源樹中或從源樹中刪除。以這種方式,利用根據(jù)本實施方案的文檔處理裝置100,不僅能夠?qū)Ψ旨壗Y(jié)構(gòu)末端中的構(gòu)成元素的元素值進行編輯,而且能夠?qū)υ摲旨壗Y(jié)構(gòu)進行編輯。具有上述樹型結(jié)構(gòu)的編輯功能能夠以命令的形式提供給用戶。例如,增加或刪除表中的行的命令與增加或刪除節(jié)點“生徒”的操作相關(guān)。此外,嵌入其它詞匯中的命令也可提供給用戶。該表可用作輸入模板,以使得對于新學(xué)生的成績數(shù)據(jù)能夠以填空的方式來增加。如上所述,在使用HTML單元150的顯示/編輯功能的同時,以成績管理詞匯描述的文檔可通過VC功能來編輯。
圖6示出了由定義文件生成單元186呈現(xiàn)給用戶的圖形用戶界面的一個實施例,以使用戶能夠生成定義文件。待映射(即映射源)的XML文檔在屏幕的左側(cè)區(qū)域202顯示為樹。映射后(即映射目標(biāo))的XML文檔的屏幕布局顯示在屏幕的右側(cè)區(qū)域204中。該屏幕布局可通過HTML單元150來編輯,用戶在屏幕的右側(cè)區(qū)域204中確定并創(chuàng)建用于對文檔進行顯示的屏幕布局。例如,使用諸如鼠標(biāo)等的指示設(shè)備將屏幕的左側(cè)區(qū)域202中顯示的XML文檔的映射源的節(jié)點拖動并放置到屏幕的右側(cè)區(qū)域204中的HTML屏幕布局中,以指定映射源處的節(jié)點與映射目標(biāo)處的節(jié)點之間的連接。例如,當(dāng)作為元素“生徒”的子元素的“數(shù)學(xué)”被放置到HTML屏幕上的表200中第一行第三列的交叉處時,“數(shù)學(xué)”節(jié)點與第三列中的“TD”節(jié)點之間建立連接。各節(jié)點均如此被指定為可編輯或者不可編輯。此外,可在顯示屏中嵌入運算表達(dá)式。當(dāng)完成屏幕編輯時,定義文件生成單元186生成定義文件,其描述屏幕布局與節(jié)點之間的連接。
雖然已經(jīng)開發(fā)出了能夠處理例如XHTML(可擴展超文本標(biāo)記語言)、MathML(數(shù)學(xué)標(biāo)記語言)以及SVG(可縮放向量圖形)等主要詞匯的瀏覽器或編輯器,但是,并未開發(fā)出適于以自創(chuàng)詞匯描述的所有文檔(例如圖2中所示的文檔)的瀏覽器或編輯器。然而,如果如上所述創(chuàng)建了用于映射為其它詞匯的定義文件,那么以自創(chuàng)詞匯描述的文檔就能夠使用VC功能來顯示和/或編輯,而無需不斷開發(fā)新的瀏覽器或編輯器。
圖7示出了由定義文件生成單元186生成的屏幕布局的另一實施例。在圖7所示的實施例中,在屏幕上產(chǎn)生表200和圓圖206用于顯示以成績管理詞匯描述的XML文檔。圓圖206以SVG描述。如以下將討論的那樣,根據(jù)本示例性實施方案的文檔處理裝置100能夠?qū)υ趩蝹€XML文檔內(nèi)以多個詞匯描述的復(fù)合文檔進行處理。這就是為什么以HTML描述的表200以及以SVG描述的圓圖206能夠顯示在同一屏幕上的原因。
圖8示出了用于由文檔處理裝置100處理的XML文檔的媒體顯示,在一個優(yōu)選但非限制性的實施方案中,其為編輯屏幕。在圖8所示的實施例中,單個屏幕被分割為多個區(qū)域,而待處理的XML文檔在各個區(qū)域以多種不同顯示格式來顯示。該文檔的源在區(qū)域210中顯示,該文檔的樹結(jié)構(gòu)在區(qū)域212中顯示,而圖5所示的、以HTML描述的表在區(qū)域214中顯示。該文檔在這些區(qū)域中可被編輯,當(dāng)用戶對這些區(qū)域中的內(nèi)容進行編輯時,源樹將被相應(yīng)修改,從而負(fù)責(zé)各屏幕顯示的各插件對屏幕進行更新,以使得對源樹的上述修改有效。具體而言,負(fù)責(zé)顯示各編輯屏幕的插件的顯示單元被預(yù)先注冊為變化事件的監(jiān)聽器,所述變化事件提供源樹中發(fā)生了改變的通知。當(dāng)源樹被任意插件或VC單元180修改時,編輯屏幕的顯示中的所有顯示單元接收所發(fā)出的變化事件,由此更新屏幕。此時,如果插件正在通過VC功能進行顯示,則VC單元180通過遵循對源樹的修改來修改目的樹。之后,插件的顯示單元通過參考上述經(jīng)過修改的目的樹來更新屏幕。
例如,當(dāng)通過專用插件來實現(xiàn)源顯示和樹顯示時,源顯示插件和樹顯示插件通過直接參考源樹而不是利用目的樹來實現(xiàn)它們的顯示。在這種情況下,當(dāng)在屏幕的任何區(qū)域中完成編輯時,源顯示插件和樹顯示插件通過參考修改后的源樹來更新屏幕。同樣,負(fù)責(zé)顯示區(qū)域214的HTML單元150通過參考跟隨對源樹的修改而變更的目的樹來更新屏幕。
源顯示和樹顯示也可通過使用VC功能來實現(xiàn)。也就是說,例如,如果HTML被用于源和樹型結(jié)構(gòu)的布局,則XML文檔可映射為HTML以通過HTML單元150來顯示。在這種情況下,將生成具有源格式、樹格式、表格式的三個目的樹。如果在任意一個屏幕中進行編輯,則VC單元180對源樹進行修改,并在之后分別對具有源格式、樹格式、表格式的三個目的樹進行修改。然后,HTML單元150通過參考三個目的樹來更新三個屏幕。
以這種方式,在單個屏幕上以多種顯示格式顯示文檔,從而提高了用戶的便利性。例如,用戶能夠利用表200或類似物來以視覺上易于了解的格式顯示和編輯文檔,同時通過源顯示或樹顯示來掌握文檔的分級結(jié)構(gòu)。在上述實施例中,單個屏幕被劃分為多個顯示格式,它們被同時顯示。但是,也可在單個屏幕上顯示單個顯示格式,以使得可通過用戶指令來切換顯示格式。在這種情況下,主控單元110從用戶處接收用于切換顯示格式的請求,并隨后命令各自的插件進行顯示切換。
圖9示出了由文檔處理裝置100編輯的XML文檔的另一實施例。在圖9所示的XML文檔中,XHTML文檔被嵌入SVG文檔的“foreignObject”標(biāo)簽,而該XHTML文檔包含以MathML描述的公式。在這種情況下,編輯單元120通過參考命名空間而將描繪任務(wù)分配或賦予給適當(dāng)?shù)娘@示系統(tǒng)。在圖9所示的實施例中,編輯單元120首先使SVG單元160描繪矩形,然后使HTML單元150描繪XHTML文檔。此外,編輯單元120使得MathML單元(未示出)描繪公式。以這種方式,包含多個詞匯的復(fù)合文檔被適當(dāng)?shù)仫@示。圖10示出了顯示結(jié)果。
在對文檔進行編輯期間,可根據(jù)光標(biāo)(キャリッジ)的位置對被顯示的菜單進行切換。也就是說,當(dāng)光標(biāo)位于顯示SVG文檔的區(qū)域中時,顯示SVG單元160提供的菜單或用于映射SVG文檔的定義文件所定義的命令。當(dāng)光標(biāo)位于顯示XHTML文檔的區(qū)域中時,顯示HTML單元150提供給用戶的菜單或用于映射XHTML文檔的定義文件所定義的命令。因此,可根據(jù)編輯位置提供適當(dāng)?shù)挠脩艚缑妗?br>
如果在復(fù)合文檔中不存在與詞匯對應(yīng)的適當(dāng)插件或映射定義文件,則以該詞匯描述的部分可顯示為源或樹格式?,F(xiàn)有技術(shù)中,在打開其中某個文檔中嵌有另一文檔的復(fù)合文檔時,如果其中未安裝有顯示該嵌入文檔的應(yīng)用程序,則不能顯示其內(nèi)容。但是,在本實施方式中,即使不存在顯示用的應(yīng)用程序,也可以通過對由文本數(shù)據(jù)組成的XML文檔進行源顯示或樹顯示,來確定其內(nèi)容。這是以文本為基礎(chǔ)的XML文檔等文檔的特征。
以文本的語言來描述數(shù)據(jù)的另一個優(yōu)點在于,例如,在復(fù)合文檔中以某詞匯描述的部分的數(shù)據(jù)可以參考同一文檔中以其他詞匯描述的部分的數(shù)據(jù)。此外,當(dāng)在該文檔中進行搜索時,嵌入SVG等的圖片中的字符串也可作為搜索對象。
在以某個詞匯記述的文檔中,也可以使用其它詞匯的標(biāo)簽。雖然該XML文檔通常并不有效(valid),但只要它結(jié)構(gòu)良好(well-formed),就可作為有效的XML文檔進行處理。在這種情況下,被插入的其它詞匯的標(biāo)簽也可以通過定義文件來進行映射。例如,在XHTML文檔中,可以使用“重要”、“最重要”等標(biāo)簽對這些標(biāo)簽包圍的部分進行強調(diào)顯示,也可以以重要性的順序來排序并顯示。
在圖10所示的編輯屏幕中,當(dāng)用戶對文檔進行編輯時,負(fù)責(zé)對被編輯的部分進行處理的插件或VC單元180對源樹進行修改。在源樹中,對各個節(jié)點均可注冊對于變化事件的監(jiān)聽器。通常,與各個節(jié)點所屬的詞匯對應(yīng)的插件的顯示單元或VC單元180被注冊為監(jiān)聽器。當(dāng)源樹被修改時,DOM提供器132從被修改的節(jié)點向更高層搜索。如果存在注冊的監(jiān)聽器,則DOM提供器132向該監(jiān)聽器發(fā)出變化事件。例如,參照圖9中所示的文檔,如果位于<html>節(jié)點下方的節(jié)點被修改,那么該變化事件被通報給被注冊為<html>節(jié)點的監(jiān)聽器的HTML單元150。在同一時刻,該變化事件被通報給被注冊為位于<html>節(jié)點上方的<svg>節(jié)點中的監(jiān)聽器的SVG單元160。此時,HTML單元150通過參考被修改的源樹而更新顯示。由于屬于SVG單元160的詞匯的節(jié)點本身并未被修改,因此SVG單元160可忽視該變化事件。
根據(jù)編輯的內(nèi)容,由HTML單元150對顯示進行的更新可改變總體布局。在這種情況下,對于各插件的各個顯示區(qū)域的布局將由管理屏幕布局的組件(例如,負(fù)責(zé)顯示最高節(jié)點的插件)來更新。例如,當(dāng)由HTML單元150顯示的區(qū)域較之以前變大時,HTML單元150首先描繪HTML單元150本身所負(fù)責(zé)的區(qū)域,然后確定顯示區(qū)域的大小。然后,顯示區(qū)域的大小被通報給管理屏幕布局的組件,以請求對布局進行更新。負(fù)責(zé)屏幕布局的組件一收到該通知便為各個插件重新布置顯示區(qū)域。因此,被編輯的部分的顯示被適當(dāng)更新,且屏幕總體的布局被更新。
以上對本發(fā)明的實施方式進行了說明,但該實施方式只是舉例說明。所屬領(lǐng)域的技術(shù)人員可以知道,在各構(gòu)成要素和各處理程序的組合中可以有各種變化例,且這種變化例也屬于本發(fā)明的范圍。
在實施方式中雖然對處理XML文檔的例子進行了說明,但是,本實施方式的文檔處理裝置100同樣可以進行由其它標(biāo)記語言,例如SGML、HTML等描述的文檔的處理。
產(chǎn)業(yè)上的利用可行性本發(fā)明可以用于對由標(biāo)記語言描述的文檔進行處理的文檔處理裝置。
權(quán)利要求
1.文檔處理裝置,其特征在于,包括多個處理系統(tǒng),所述多個處理系統(tǒng)將由標(biāo)記語言描述的文檔以互不相同的多個顯示格式同時顯示在同一屏幕上,并接受用戶對所述文檔的編輯。
2.文檔處理裝置,其特征在于,包括多個處理系統(tǒng),所述多個處理系統(tǒng)將由標(biāo)記語言描述的文檔以互不相同的多個顯示格式可切換地顯示,并接受用戶對所述文檔的編輯。
3.根據(jù)權(quán)利要求1或2所述的文檔處理裝置,其特征在于,所述多個處理系統(tǒng)中的一個系統(tǒng)在接受用戶對所述文檔的編輯時,反映編輯結(jié)果,其它處理系統(tǒng)更新顯示。
4.根據(jù)權(quán)利要求1至3的任一項所述的文檔處理裝置,其特征在于,進一步包括管理部,能夠從作為所述處理對象的文檔生成具有符合文檔對象模型的格式的數(shù)據(jù),并進行管理,所述文檔對象模型是為了在將文檔作為數(shù)據(jù)處理時提供訪問方法而被設(shè)定的,其中所述管理部生成與作為所述處理對象的文檔對應(yīng)的第一文檔對象模型數(shù)據(jù);以及所述多個處理系統(tǒng)參考所述第一文檔對象模型數(shù)據(jù),將所述文檔以各自的顯示格式顯示。
5.根據(jù)權(quán)利要求4所述的文檔處理裝置,其特征在于,所述處理系統(tǒng)在接受用戶對所述文檔的編輯時,改變所述第一文檔對象模型數(shù)據(jù)。
6.根據(jù)權(quán)利要求4或5所述的文檔處理裝置,其特征在于,所述管理部在所述第一文檔對象模型數(shù)據(jù)被改變時,將所述改變通知所述多個處理系統(tǒng);以及在所述管理部通知所述第一文檔對象模型數(shù)據(jù)的改變時,所述多個處理系統(tǒng)參考所述第一文檔對象模型數(shù)據(jù)來更新顯示。
7.根據(jù)權(quán)利要求1至6的任一項所述的文檔處理裝置,其特征在于,所述文檔處理裝置進一步包括變換部,將作為處理對象的文檔映射為能與所述處理系統(tǒng)中的至少一個系統(tǒng)對應(yīng)的標(biāo)記語言。
8.根據(jù)權(quán)利要求7所述的文檔處理裝置,其特征在于,所述管理部生成與由所述變換部映射的文檔相對應(yīng)的第二文檔對象模型數(shù)據(jù),顯示所述被映射文檔的處理系統(tǒng)參考所述第二文檔對象模型數(shù)據(jù)顯示所述被映射的文檔。
9.根據(jù)權(quán)利要求8所述的文檔處理裝置,其特征在于,在所述第一文檔對象模型數(shù)據(jù)被改變時,所述變換部為了使第二文檔對象模型數(shù)據(jù)隨之改變,將所述第二文檔對象模型數(shù)據(jù)的對應(yīng)部分改變。
10.根據(jù)權(quán)利要求8或9所述的文檔處理裝置,其特征在于,在所述第二文檔對象模型數(shù)據(jù)被改變時,所述管理部將所述改變通知給顯示所述被映射的文檔的處理系統(tǒng);以及在所述管理部通知所述第二文檔對象模型數(shù)據(jù)的改變時,顯示所述被映射文檔的處理系統(tǒng)參考所述第二文檔對象模型數(shù)據(jù)來更新顯示。
11.文檔處理方法,其特征在于,將由標(biāo)記語言描述的文檔以互不相同的多個顯示格式同時顯示在同一屏幕上,并接受用戶對所述文檔的編輯。
12.計算機程序,其特征在于,該計算機程序使計算機實現(xiàn)如下功能將由標(biāo)記語言描述的文檔以互不相同的多個顯示格式同時顯示在同一屏幕上,并接受用戶對所述文檔的編輯。
全文摘要
提供了一種文檔處理裝置,能夠正確地處理結(jié)構(gòu)化的文檔。該文檔處理裝置(100)通過針對每個詞匯的插件,例如用于顯示/編輯HTML文檔的HTML單元(150)、用于顯示/編輯SVG文檔的SVG單元(160),來實現(xiàn)一種顯示/編輯系統(tǒng)。在被處理的文檔是由與所安裝的插件不相容的詞匯來描述的情況下,VC單元(180)將該文檔映射至可顯示的詞匯,諸如HTML和SVG,而通過HTML單元(150)或SVG單元(160)來進行顯示與編輯。該文檔處理裝置(100)能夠同時地將以不同的顯示格式處理的多個文檔顯示在同一屏幕上,從而接受用戶對文檔的編輯。
文檔編號G06F17/21GK1977260SQ20058001204
公開日2007年6月6日 申請日期2005年4月6日 優(yōu)先權(quán)日2004年4月8日
發(fā)明者檜山正幸, 和家伸明, 大島教雄 申請人:佳思騰軟件公司