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