欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

文檔處理裝置和文檔處理方法

文檔序號(hào):6655566閱讀:144來(lái)源:國(guó)知局
專利名稱:文檔處理裝置和文檔處理方法
技術(shù)領(lǐng)域
本發(fā)明涉及一種文檔處理技術(shù),特別是涉及一種處理由標(biāo)記語(yǔ)言描述的文檔的文檔處理裝置和文檔處理方法。
背景技術(shù)
XML作為適用于通過網(wǎng)絡(luò)等與他人共享數(shù)據(jù)的格式受到人們的關(guān)注,且人們正開發(fā)用于編寫、顯示和編輯XML文檔的應(yīng)用軟件(例如,請(qǐng)參考專利文獻(xiàn)1)。XML文檔由文檔型定義等定義的詞匯(標(biāo)簽組)編寫。
專利文獻(xiàn)1特開2001-290804號(hào)公報(bào)發(fā)明內(nèi)容發(fā)明要解決的課題在現(xiàn)有技術(shù)中,在以某應(yīng)用軟件作成的文檔中嵌入以其他應(yīng)用軟件作成的數(shù)據(jù)或文檔的情況下,所嵌入的數(shù)據(jù)作為所謂的黑匣子(black box)對(duì)待,而不能對(duì)其內(nèi)容進(jìn)行參考。然而,人們需要一種可以參考任意數(shù)據(jù)的技術(shù),以有效地利用文檔中的數(shù)據(jù)。
本發(fā)明是鑒于這種狀況而做出的,其目的在于,提供一種可以有效地利用包含在以標(biāo)記語(yǔ)言描述的文檔中的數(shù)據(jù)的技術(shù)。
解決課題的方案本發(fā)明的一種實(shí)施方式涉及文檔處理裝置。該文檔處理裝置包括處理系統(tǒng),顯示以標(biāo)記語(yǔ)言描述的文檔,并接受用戶對(duì)所述文檔的編輯;以及計(jì)算單元,當(dāng)所述文檔包含的構(gòu)成元素的屬性值中描述了參考其它數(shù)據(jù)的計(jì)算式時(shí),獲取參考目標(biāo)的數(shù)據(jù)來(lái)執(zhí)行所述計(jì)算式,將計(jì)算結(jié)果代入所述構(gòu)成元素的元素值中。
標(biāo)記語(yǔ)言可以是XML的一種方式,例如,XHTML、SVG、MathML等,也可以是SGML、HTML等。通過能夠由參考其它數(shù)據(jù)的計(jì)算式來(lái)描述,能夠有效地利用數(shù)據(jù),并提高用戶的便利性。所述參考目標(biāo)的數(shù)據(jù)由與參考源的所述構(gòu)成元素不同的標(biāo)記語(yǔ)言來(lái)描述。
所述計(jì)算式可以由用于描述所述計(jì)算式的標(biāo)記語(yǔ)言來(lái)描述。在這種情況下,所述計(jì)算單元可以作為對(duì)用于描述計(jì)算式的專用標(biāo)記語(yǔ)言進(jìn)行解釋和處理的插件來(lái)提供。所述計(jì)算式也可以作為全局屬性被描述。
所述計(jì)算單元在所述參考目標(biāo)的數(shù)據(jù)被改變時(shí),可以再執(zhí)行所述計(jì)算式,將計(jì)算結(jié)果代理所述元素值中。在新的計(jì)算結(jié)果代入后,處理系統(tǒng)的顯示可以更新。這樣,能夠適當(dāng)?shù)馗聟⒖荚吹臄?shù)據(jù),并在顯示中實(shí)時(shí)地反映。
文檔處理裝置還可以包括生成部,能夠從所述文檔生成數(shù)據(jù),所述數(shù)據(jù)符合為了在將文檔作為數(shù)據(jù)處理時(shí)提供訪問方法而被確定的文檔對(duì)象模型格式。所述生成部可以生成與所述文檔相對(duì)應(yīng)的文檔對(duì)象模型數(shù)據(jù),所述處理系統(tǒng)可以參考所述文檔對(duì)象模型數(shù)據(jù),顯示所述文檔。所述計(jì)算單元可以從所述文檔對(duì)象模型數(shù)據(jù)中確定所述參考目標(biāo)的數(shù)據(jù)并取得該數(shù)據(jù)。即使對(duì)于不同的多個(gè)標(biāo)記語(yǔ)言描述的文檔,通過將其變換為文檔對(duì)象模型數(shù)據(jù),可以用同樣的訪問方法進(jìn)行訪問,因而計(jì)算單元能夠容易地確定并從而獲得參考目標(biāo)的數(shù)據(jù)。
本發(fā)明的另一個(gè)實(shí)施方式涉及文檔處理方法。該文檔處理方法包括判斷步驟,在顯示裝置顯示以標(biāo)記語(yǔ)言描述的文檔時(shí),判斷在所述文檔中包含的構(gòu)成元素的屬性值是否描述了參考其它的數(shù)據(jù)的計(jì)算式;以及代入步驟,在所述屬性值中描述了所述計(jì)算式的情況下,獲取參考目標(biāo)的數(shù)據(jù)來(lái)執(zhí)行所述計(jì)算式,將計(jì)算結(jié)果代入所述構(gòu)成元素的元素值。
另外,作為本發(fā)明的實(shí)施方式,以上構(gòu)成要素的任意組合、以及將本發(fā)明的描述在方法、裝置、系統(tǒng)等之間進(jìn)行變換的方式也是有效的。
發(fā)明效果根據(jù)本發(fā)明,可有效地利用包含在以標(biāo)記語(yǔ)言描述的文檔中的數(shù)據(jù)。


圖1為本發(fā)明第一實(shí)施方式的文檔處理裝置的結(jié)構(gòu)示意圖;圖2為通過本發(fā)明第一實(shí)施方式所述的文檔處理裝置處理的XML文檔的一個(gè)例子的示意圖;圖3為將圖2所示的XML文檔映射為以HTML描述的表的一個(gè)例子的示意圖;圖4為用于將圖2所示的XML文檔映射為圖3所示的表的VC定義文件的一個(gè)例子的示意圖;圖5為將圖2所示的XML文檔通過圖3所示的對(duì)應(yīng)關(guān)系變換為HTML而顯示的屏幕的一個(gè)例子的示意圖;圖6為將VC定義文件生成單元提示給用戶的圖形用戶界面的一個(gè)例子的示意圖;圖7為由VC定義文件生成單元生成的屏幕布局的另一個(gè)例子的示意圖;圖8為文檔處理裝置處理的XML文檔的編輯屏幕的一個(gè)例子的示意圖;圖9為由第一實(shí)施方式的文檔處理裝置處理的XML文檔的另一個(gè)例子的示意圖;圖10為顯示圖9所示的文檔的屏幕的一個(gè)例子的示意圖;圖11為本發(fā)明第二實(shí)施方式的文檔處理裝置的結(jié)構(gòu)示意圖;圖12為通過圖11所示的文檔處理裝置處理的文檔的一個(gè)例子的示意圖;圖13為用于通過VC功能顯示圖12所示的XML文檔的VC定義文件的一個(gè)例子的示意圖;圖14為描述在圖13所示的VC定義文件中的顯示用的模板的一個(gè)例子的示意圖;
圖15為在描述于圖13所示的VC定義文件中的顯示用的模板中,用于顯示存儲(chǔ)差旅費(fèi)的詳細(xì)路線的構(gòu)成元素的模板的一個(gè)例子的示意圖;圖16為適用于圖12所示的XML文檔的計(jì)算定義文件的一個(gè)例子的示意圖;圖17為按照?qǐng)D13至圖15所示的VC定義文件顯示圖12所示的文檔的屏幕的一個(gè)例子的示意圖;圖18為在圖17所示的編輯屏幕中,更改員工編號(hào)時(shí)的屏幕的一個(gè)例子的示意圖;圖19為在圖17所示的編輯屏幕中,增加出差的詳細(xì)項(xiàng)目并更改交通費(fèi)金額時(shí)的屏幕的一個(gè)例子的示意圖;圖20為由本發(fā)明第二實(shí)施方式的文檔處理裝置處理的文檔的另一個(gè)例子的示意圖;圖21為用于通過VC功能顯示圖20所示的XML文檔的VC定義文件的一個(gè)例子的示意圖;圖22為按照?qǐng)D21所示的VC定義文件顯示圖20所示的文檔的屏幕的一個(gè)例子的示意圖;圖23為在圖22的編輯屏幕中更改樣本值時(shí)的屏幕的一個(gè)例子的示意圖。
符號(hào)說(shuō)明100 文檔處理裝置110 主控制單元120 編輯單元130 DOM單元 132 DOM提供器 134 DOM構(gòu)造器136 輸出單元140 CSS單元 150 HTML單元160 SVG單元 180 VC單元182 映射單元184 VC定義文件獲取單元 186 VC定義文件生成單元190 計(jì)算單元192 計(jì)算定義文件獲取單元 194 執(zhí)行單元發(fā)明的優(yōu)選實(shí)施方式(第一實(shí)施方式)圖1示出了根據(jù)本發(fā)明的第一實(shí)施方式所述的文檔處理裝置100的結(jié)構(gòu)。文檔處理裝置100對(duì)結(jié)構(gòu)化的文檔進(jìn)行處理,該文檔中的數(shù)據(jù)被分為具有分級(jí)結(jié)構(gòu)的多個(gè)構(gòu)成元素。該實(shí)施方案中表示的是一個(gè)實(shí)施例,其中,對(duì)作為結(jié)構(gòu)化文檔之一例的XML文檔進(jìn)行處理。文檔處理裝置100包括主控單元110、編輯單元120、DOM單元130、CSS單元140、HTML單元150、SVG單元160以及用作變換部一個(gè)示例的VC單元180。就硬件部件而言,這些結(jié)構(gòu)可由任意的計(jì)算機(jī)的CPU或存儲(chǔ)器、存儲(chǔ)器載入的程序等來(lái)實(shí)現(xiàn),但是在此描述為通過它們的協(xié)作而實(shí)現(xiàn)的功能模塊。本領(lǐng)域技術(shù)人員能夠理解,這些功能模塊可僅通過硬件的方式、僅通過軟件的方式或通過二者相結(jié)合的方式等多種方式來(lái)實(shí)現(xiàn)。
主控單元110提供插件的載入,和提供執(zhí)行命令的框架。編輯單元120提供用于編輯XML文檔的框架。文檔處理裝置100中的文檔的顯示和編輯功能是通過插件來(lái)實(shí)現(xiàn)的,根據(jù)所處理的文檔類型,必要的插件通過主控單元110或編輯單元120載入。主控單元110或編輯單元120通過參考待處理的文檔的命名空間來(lái)確定哪個(gè)或哪些詞匯描述了待處理的XML文檔的內(nèi)容,并且對(duì)應(yīng)于所確定的詞匯載入用于顯示和編輯的插件從而執(zhí)行顯示和編輯。例如,對(duì)HTML文檔進(jìn)行顯示和編輯的HTML單元150、對(duì)SVG文檔進(jìn)行顯示和編輯的SVG單元160在文檔處理裝置100中被實(shí)現(xiàn)為處理單元。也就是說(shuō),對(duì)于各個(gè)詞匯(標(biāo)簽集),將顯示系統(tǒng)和編輯系統(tǒng)實(shí)現(xiàn)為插件,以使得在對(duì)HTML文檔和SVG文檔進(jìn)行編輯時(shí),分別將HTML單元150和SVG單元160與其各自的控制單元進(jìn)行協(xié)同載入。如以下將描述的那樣,在要對(duì)既包括HTML又包括SVG組件的復(fù)合文檔進(jìn)行處理時(shí),HTML單元150和SVG單元160均被載入。
通過以上結(jié)構(gòu),用戶能夠僅選擇必要的功能以安裝該功能,如果需要,也能夠在稍后的階段增加或刪除適當(dāng)?shù)墓δ?。因此,能夠有效利用記錄介質(zhì)的存儲(chǔ)區(qū)域(例如儲(chǔ)存程序的硬盤),并能夠避免在執(zhí)行程序的時(shí)候存儲(chǔ)器使用的浪費(fèi)。此外,由于這一結(jié)構(gòu)有利于功能的擴(kuò)展,因此開發(fā)者自己能夠以插件的形式處理新的詞匯,因而能夠促進(jìn)開發(fā)過程。因此,用戶也能夠通過增加插件而以較低成本輕易地增加功能。
編輯單元120通過用戶界面接收來(lái)自用戶的編輯指令的事件,將事件通知給適當(dāng)?shù)牟寮⒖刂铺幚?,所述處理可包括重新?zhí)行事件的重做(redo)處理以及取消事件的撤消(undo)處理。
DOM單元130包括DOM提供器132、DOM構(gòu)造器134以及輸出單元136。DOM單元130實(shí)現(xiàn)了與文檔對(duì)象模型(Document Object ModelDOM)相符的功能。在XML文檔作為數(shù)據(jù)被處理時(shí),所述文檔對(duì)象模型被定義以提供訪問方法。DOM構(gòu)造器132是滿足由編輯單元120所定義界面的DOM的實(shí)現(xiàn)。DOM創(chuàng)建器134從XML文檔創(chuàng)建DOM樹。如以下將描述的那樣,當(dāng)通過VC單元180將待處理的XML文檔映射為其它詞匯時(shí),生成與映射源中的XML文檔相對(duì)應(yīng)的源樹以及與映射目標(biāo)中的XML文檔相對(duì)應(yīng)的目的樹。輸出單元136例如在編輯結(jié)束時(shí),輸出作為XML文檔的DOM樹。
CSS單元140包括CSS分析器142、CSS提供器144以及呈現(xiàn)單元146,并提供與CSS相符的顯示功能。CSS分析器142具有用于分析CSS語(yǔ)法的分析功能。CSS提供器144是CSS對(duì)象的實(shí)現(xiàn),并執(zhí)行對(duì)DOM樹的CSS層疊處理。呈現(xiàn)單元146是CSS的呈現(xiàn)引擎,并用來(lái)顯示以諸如HTML等詞匯描述的、利用CSS布置的文檔。
HTML單元150對(duì)以HTML描述的文檔進(jìn)行顯示或編輯。SVG單元160對(duì)以SVG描述的文檔進(jìn)行顯示或編輯。這些顯示/編輯系統(tǒng)以插件的形式實(shí)現(xiàn),分別包括顯示器(Canvas)156、166,用以顯示文檔;控制器(Editlet)152、162,接收或發(fā)送包含了編輯指令的事件;編輯器(Zone)154、164,接收編輯指令以對(duì)DOM進(jìn)行編輯。在控制器152或162從外部源接收到用于DOM樹的編輯命令時(shí),編輯器154或164修改DOM樹,而顯示器156或166更新顯示。這些單元具有與被稱作MVC(Model-View-Controllers,模型-視圖-控制器)的框架相類似的結(jié)構(gòu),大體上,顯示器156及166與“View”對(duì)應(yīng),控制器152及162與“Controller”對(duì)應(yīng),編輯器154及164與DOM的實(shí)體“Model”分別對(duì)應(yīng)。本實(shí)施方式中的文檔處理裝置100不僅以樹的顯示格式編輯XML文檔,還可以對(duì)應(yīng)于不同的詞匯進(jìn)行編輯。例如,HTML單元150提供用于以類似于文字處理的方式編輯HTML文檔的界面,SVG單元160提供用于以類似于圖像描繪工具的形式編輯SVG文檔的界面。
VC單元180包括映射單元182、定義文件獲取單元184以及VC定義文件生成單元186。通過將以某個(gè)詞匯描述的文檔映射為另一詞匯,VC單元180提供了一種框架,以通過與被映射的詞匯相對(duì)應(yīng)的顯示和編輯插件來(lái)顯示或編輯文檔。在本實(shí)施方案中,該功能被稱為詞匯連接(Vocabulary ConnectionVC)。在VC單元180中,定義文件獲取單元184獲取描述了映射定義的定義文件。該VC定義文件逐個(gè)節(jié)點(diǎn)地描述了節(jié)點(diǎn)間的對(duì)應(yīng)(連接)。此時(shí),可規(guī)定各節(jié)點(diǎn)的元素值或?qū)傩灾凳欠窨梢跃庉?。也可描述使用了?jié)點(diǎn)的元素值或?qū)傩灾档倪\(yùn)算表達(dá)式。這些功能將在稍后進(jìn)行描述。映射單元182使得DOM構(gòu)造器134通過參考VC定義文件獲取單元184已經(jīng)獲取的VC定義文件來(lái)生成目的樹,以使得映射單元182能夠管理源樹與目的樹之間的對(duì)應(yīng)關(guān)系。VC定義文件生成單元186為用戶提供圖形用戶界面,以生成VC定義文件。
VC單元180對(duì)源樹與目的樹之間的連接進(jìn)行監(jiān)控。當(dāng)VC單元180通過由負(fù)責(zé)顯示的插件提供的用戶界面從用戶處接收編輯指令時(shí),它首先修改源樹的相應(yīng)節(jié)點(diǎn)。因此,DOM單元130將發(fā)出表明源樹已經(jīng)被修改的變化事件。然后,VC單元180接收該變化事件,并對(duì)應(yīng)于被修改的節(jié)點(diǎn)而修改目的樹的節(jié)點(diǎn),以使得目的樹與源樹的修改同步。當(dāng)為顯示/編輯目的樹提供必要的處理的插件(例如HTML單元150)接收了表明目的樹已經(jīng)被修改的變化事件時(shí),該插件通過參考被修改的目的樹而對(duì)顯示進(jìn)行更新。通過執(zhí)行將詞匯轉(zhuǎn)換為另一主要詞匯的上述結(jié)構(gòu),即使是以少數(shù)用戶使用的局部詞匯來(lái)描述文檔,也能夠正確顯示文檔,并能夠相應(yīng)地提供理想的編輯環(huán)境。
下面將對(duì)利用文檔處理裝置100顯示和/或編輯文檔的操作進(jìn)行說(shuō)明。當(dāng)文檔處理裝置100讀取作為處理對(duì)象的文檔時(shí),DOM構(gòu)造器134從XML文檔生成DOM樹。主控單元110或編輯單元120通過參考命名空間來(lái)判別描述文檔的詞匯。如果與詞匯相對(duì)應(yīng)的插件安裝在文檔處理裝置100中,則該插件被載入以顯示/編輯文檔。另一方面,如果插件并未安裝其中,則確認(rèn)是否存在用于映射的VC定義文件。如果存在VC定義文件,則VC定義文件獲取單元184獲取該VC定義文件,并根據(jù)定義生成目的樹,以使得能夠通過與映射目標(biāo)的詞匯相對(duì)應(yīng)的插件來(lái)顯示/編輯文檔。如果該文檔是包含多個(gè)詞匯的復(fù)合文檔,則通過與各詞匯相對(duì)應(yīng)的插件來(lái)顯示/編輯該文檔的相關(guān)部分,以下將對(duì)此詳細(xì)描述。如果不存在VC定義文件,則顯示文檔的源或樹型結(jié)構(gòu),并在所顯示的屏幕中進(jìn)行編輯。
圖2示出了待處理的XML文檔的一個(gè)實(shí)施例。該XML文檔用于管理與學(xué)生已獲得的評(píng)分或成績(jī)相關(guān)的數(shù)據(jù)。作為XML文檔的上部節(jié)點(diǎn)的構(gòu)成元素“成績(jī)”包括在“成績(jī)”下方為各個(gè)學(xué)生設(shè)置的多個(gè)構(gòu)成元素“生徒”。構(gòu)成元素“生徒”具有屬性“名前”,并包括作為子元素“國(guó)語(yǔ)”、“數(shù)學(xué)”、“理科”以及“社會(huì)”。屬性“名前”存儲(chǔ)學(xué)生的姓名。構(gòu)成元素“國(guó)語(yǔ)”、“數(shù)學(xué)”、“理科”和“社會(huì)”分別存儲(chǔ)日語(yǔ)、數(shù)學(xué)、自然科學(xué)和社會(huì)科學(xué)的成績(jī)。例如,姓名為“A”的學(xué)生的成績(jī)是日語(yǔ)成績(jī)?yōu)椤?0”、數(shù)學(xué)成績(jī)?yōu)椤?0”、自然科學(xué)成績(jī)?yōu)椤?5”以及社會(huì)科學(xué)成績(jī)?yōu)椤?0”。下文中,該文檔中使用的詞匯(標(biāo)簽集)被稱作“成績(jī)管理詞匯”。
由于根據(jù)本實(shí)施方案的文檔處理裝置100不具有與成績(jī)管理詞匯的顯示和/或編輯相對(duì)應(yīng)的插件,因此,將使用以上描述的VC功能,以不使用源顯示和樹顯示的其它顯示方法來(lái)顯示該文檔。也就是說(shuō),通過準(zhǔn)備VC定義文件,使得成績(jī)管理詞匯可映射為已具有插件的另一詞匯,例如HTML或SVG等。下面的說(shuō)明是在假設(shè)已經(jīng)具備了VC定義文件的情況下進(jìn)行的,不過對(duì)于用戶本身用以創(chuàng)建VC定義文件所必需的用戶界面將在后面描述。
圖3示出了圖2中所示的XML文檔映射為以HTML描述的表的一個(gè)實(shí)施例。在圖3所示的實(shí)施例中,以成績(jī)管理詞匯描述的“生徒”節(jié)點(diǎn)與以HTML描述的表(“TABLE”節(jié)點(diǎn))的行(“TR”節(jié)點(diǎn))相關(guān)。各行的第一列與屬性值“名前”相對(duì)應(yīng),第二列與“國(guó)語(yǔ)”節(jié)點(diǎn)的元素值相對(duì)應(yīng),第三列與“數(shù)學(xué)”節(jié)點(diǎn)的元素值相對(duì)應(yīng),第四列與“理科”節(jié)點(diǎn)的元素值相對(duì)應(yīng),而第五列與“社會(huì)”節(jié)點(diǎn)的元素值相對(duì)應(yīng)。因此,圖2所示的XML文檔能以HTML的列表格式來(lái)顯示。此外,這些屬性值和元素值被指定為能夠編輯,以使得用戶能夠使用HTML單元150的編輯功能在顯示屏上對(duì)這些值進(jìn)行編輯。在第六列中,指定了用來(lái)計(jì)算日語(yǔ)、數(shù)學(xué)、自然科學(xué)以及社會(huì)科學(xué)的成績(jī)的加權(quán)平均的運(yùn)算表達(dá)式,并顯示每個(gè)學(xué)生成績(jī)的平均值。以這種方式,通過在VC定義文件中指定運(yùn)算表達(dá)式來(lái)完成更靈活的顯示,從而提高用戶在進(jìn)行編輯時(shí)的便利性。在圖3所示的實(shí)施例中,將對(duì)第六列的編輯指定為不允許,以使得不能單獨(dú)對(duì)平均值本身進(jìn)行編輯。因此,在映射定義中,能夠指明可編輯或不能編輯,以避免用戶可能的錯(cuò)誤操作。
圖4表示VC定義文件的一個(gè)實(shí)施例,以將圖2所示的XML文檔映射為圖3所示的表。該VC定義文件通過被定義用于和VC定義文件一起使用的腳本語(yǔ)言來(lái)描述。在圖4所示的實(shí)施例中,定義了“生徒の追加”(意為“增加學(xué)生”)和“生徒の削除”(意為“刪除學(xué)生”)作為命令,并分別涉及將節(jié)點(diǎn)“生徒”插入源樹中的操作以及將節(jié)點(diǎn)“生徒”從源樹中刪除的操作。模板描述了諸如“名前”和“國(guó)語(yǔ)”等標(biāo)題顯示于表的第一行中,而節(jié)點(diǎn)“生徒”的內(nèi)容顯示于第二行及其隨后的行中。在顯示節(jié)點(diǎn)“生徒”內(nèi)容的模板中,包含“text-of”的項(xiàng)表示允許進(jìn)行編輯,而包含“value-of”的項(xiàng)表示不允許進(jìn)行編輯。在這些顯示了節(jié)點(diǎn)“生徒”內(nèi)容的行中,在第六行中描述了運(yùn)算表達(dá)式“(src國(guó)語(yǔ)+src數(shù)學(xué)+scr理科+scr社會(huì))div 4”。這意味著顯示學(xué)生成績(jī)的平均值。
圖5示出了將圖2所示的由成績(jī)管理詞匯描述的XML文檔利用圖3所示的對(duì)應(yīng)關(guān)系映射至HTML以使其顯示在顯示屏上時(shí),顯示屏的一個(gè)實(shí)施例。在表200各行中從左至右顯示的是各學(xué)生的姓名,以及日語(yǔ)成績(jī)、數(shù)學(xué)成績(jī)、自然科學(xué)成績(jī)、社會(huì)科學(xué)成績(jī)及平均分?jǐn)?shù)。用戶能夠在屏幕上對(duì)XML文檔進(jìn)行編輯。例如,當(dāng)?shù)诙械谌兄械闹底優(yōu)椤?0”時(shí),源樹中與該節(jié)點(diǎn)相對(duì)應(yīng)的元素值(亦即學(xué)生“B”的數(shù)學(xué)成績(jī))變?yōu)椤?0”。此時(shí),為了使目的樹符合源樹,VC單元180修改目的樹的相應(yīng)部分,從而使得HTML單元150能夠根據(jù)改變的目的樹來(lái)對(duì)顯示進(jìn)行更新。因此,學(xué)生“B”的數(shù)學(xué)成績(jī)變?yōu)椤?0”,而平均分?jǐn)?shù)相應(yīng)地變?yōu)椤?5”。
在圖5所示的屏幕上,例如“生徒の追加”和“生徒の削除”的命令被顯示為菜單,如圖4所示的VC定義文件中所定義的那樣。當(dāng)用戶從這些命令中選擇一個(gè)命令時(shí),節(jié)點(diǎn)“生徒”增加至源樹中或從源樹中刪除。以這種方式,利用根據(jù)本實(shí)施方案的文檔處理裝置100,不僅能夠?qū)Ψ旨?jí)結(jié)構(gòu)末端中的構(gòu)成元素的元素值進(jìn)行編輯,而且能夠?qū)υ摲旨?jí)結(jié)構(gòu)進(jìn)行編輯。具有上述樹型結(jié)構(gòu)的編輯功能能夠以命令的形式提供給用戶。例如,增加或刪除表中的行的命令與增加或刪除節(jié)點(diǎn)“生徒”的操作相關(guān)。此外,嵌入其它詞匯中的命令也可提供給用戶。該表可用作輸入模板,以使得對(duì)于新學(xué)生的成績(jī)數(shù)據(jù)能夠以填空的方式來(lái)增加。如上所述,在使用HTML單元150的顯示/編輯功能的同時(shí),以成績(jī)管理詞匯描述的文檔可通過VC功能來(lái)編輯。
圖6示出了由VC定義文件生成單元186呈現(xiàn)給用戶的圖形用戶界面的一個(gè)實(shí)施例,以使用戶能夠生成VC定義文件。待映射(即映射源)的XML文檔在屏幕的左側(cè)區(qū)域202顯示為樹。映射后(即映射目標(biāo))的XML文檔的屏幕布局顯示在屏幕的右側(cè)區(qū)域204中。該屏幕布局可通過HTML單元150來(lái)編輯,用戶在屏幕的右側(cè)區(qū)域204中確定并創(chuàng)建用于對(duì)文檔進(jìn)行顯示的屏幕布局。例如,使用諸如鼠標(biāo)等的指示設(shè)備將屏幕的左側(cè)區(qū)域202中顯示的XML文檔的映射源的節(jié)點(diǎn)拖動(dòng)并放置到屏幕的右側(cè)區(qū)域204中的HTML屏幕布局中,以指定映射源處的節(jié)點(diǎn)與映射目標(biāo)處的節(jié)點(diǎn)之間的連接。例如,當(dāng)作為元素“生徒”的子元素的“數(shù)學(xué)”被放置到HTML屏幕上的表200中第一行第三列的交叉處時(shí),“數(shù)學(xué)”節(jié)點(diǎn)與第三列中的“TD”節(jié)點(diǎn)之間建立連接。各節(jié)點(diǎn)均如此被指定為可編輯或者不可編輯。此外,可在顯示屏中嵌入運(yùn)算表達(dá)式。當(dāng)完成屏幕編輯時(shí),VC定義文件生成單元186生成VC定義文件,其描述屏幕布局與節(jié)點(diǎn)之間的連接。
雖然已經(jīng)開發(fā)出了能夠處理例如XHTML(可擴(kuò)展超文本標(biāo)記語(yǔ)言)、MathML(數(shù)學(xué)標(biāo)記語(yǔ)言)以及SVG(可縮放向量圖形)等主要詞匯的瀏覽器或編輯器,但是,并未開發(fā)出適于以自創(chuàng)詞匯描述的所有文檔(例如圖2中所示的文檔)的瀏覽器或編輯器。然而,如果如上所述創(chuàng)建了用于映射為其它詞匯的VC定義文件,那么以自創(chuàng)詞匯描述的文檔就能夠使用VC功能來(lái)顯示和/或編輯,而無(wú)需不斷開發(fā)新的瀏覽器或編輯器。
圖7示出了由VC定義文件生成單元186生成的屏幕布局的另一實(shí)施例。在圖7所示的實(shí)施例中,在屏幕上產(chǎn)生表200和圓圖206用于顯示以成績(jī)管理詞匯描述的XML文檔。圓圖206以SVG描述。如以下將討論的那樣,根據(jù)本示例性實(shí)施方案的文檔處理裝置100能夠?qū)υ趩蝹€(gè)XML文檔內(nèi)以多個(gè)詞匯描述的復(fù)合文檔進(jìn)行處理。這就是為什么以HTML描述的表200以及以SVG描述的圓圖206能夠顯示在同一屏幕上的原因。
圖8示出了用于由文檔處理裝置100處理的XML文檔的媒體顯示,在一個(gè)優(yōu)選但非限制性的實(shí)施方案中,其為編輯屏幕。在圖8所示的實(shí)施例中,單個(gè)屏幕被分割為多個(gè)區(qū)域,而待處理的XML文檔在各個(gè)區(qū)域以多種不同顯示格式來(lái)顯示。該文檔的源在區(qū)域210中顯示,該文檔的樹結(jié)構(gòu)在區(qū)域212中顯示,而圖5所示的、以HTML描述的表在區(qū)域214中顯示。該文檔在這些區(qū)域中可被編輯,當(dāng)用戶對(duì)這些區(qū)域中的內(nèi)容進(jìn)行編輯時(shí),源樹將被相應(yīng)修改,從而負(fù)責(zé)各屏幕顯示的各插件對(duì)屏幕進(jìn)行更新,以使得對(duì)源樹的上述修改有效。具體而言,負(fù)責(zé)顯示各編輯屏幕的插件的顯示單元被預(yù)先注冊(cè)為變化事件的監(jiān)聽器,所述變化事件提供源樹中發(fā)生了改變的通知。當(dāng)源樹被任意插件或VC單元180修改時(shí),編輯屏幕的顯示中的所有顯示單元接收所發(fā)出的變化事件,由此更新屏幕。此時(shí),如果插件正在通過VC功能進(jìn)行顯示,則VC單元180通過遵循對(duì)源樹的修改來(lái)修改目的樹。之后,插件的顯示單元通過參考上述經(jīng)過修改的目的樹來(lái)更新屏幕。
例如,當(dāng)通過專用插件來(lái)實(shí)現(xiàn)源顯示和樹顯示時(shí),源顯示插件和樹顯示插件通過直接參考源樹而不是利用目的樹來(lái)實(shí)現(xiàn)它們的顯示。在這種情況下,當(dāng)在屏幕的任何區(qū)域中完成編輯時(shí),源顯示插件和樹顯示插件通過參考修改后的源樹來(lái)更新屏幕。同樣,負(fù)責(zé)顯示區(qū)域214的HTML單元150通過參考跟隨對(duì)源樹的修改而變更的目的樹來(lái)更新屏幕。
源顯示和樹顯示也可通過使用VC功能來(lái)實(shí)現(xiàn)。也就是說(shuō),例如,如果HTML被用于源和樹型結(jié)構(gòu)的布局,則XML文檔可映射為HTML以通過HTML單元150來(lái)顯示。在這種情況下,將生成具有源格式、樹格式、表格式的三個(gè)目的樹。如果在任意一個(gè)屏幕中進(jìn)行編輯,則VC單元180對(duì)源樹進(jìn)行修改,并在之后分別對(duì)具有源格式、樹格式、表格式的三個(gè)目的樹進(jìn)行修改。然后,HTML單元150通過參考三個(gè)目的樹來(lái)更新三個(gè)屏幕。
以這種方式,在單個(gè)屏幕上以多種顯示格式顯示文檔,從而提高了用戶的便利性。例如,用戶能夠利用表200或類似物來(lái)以視覺上易于了解的格式顯示和編輯文檔,同時(shí)通過源顯示或樹顯示來(lái)掌握文檔的分級(jí)結(jié)構(gòu)。在上述實(shí)施例中,單個(gè)屏幕被劃分為多個(gè)顯示格式,它們被同時(shí)顯示。但是,也可在單個(gè)屏幕上顯示單個(gè)顯示格式,以使得可通過用戶指令來(lái)切換顯示格式。在這種情況下,主控單元110從用戶處接收用于切換顯示格式的請(qǐng)求,并隨后命令各自的插件進(jìn)行顯示切換。
圖9示出了由文檔處理裝置100編輯的XML文檔的另一實(shí)施例。在圖9所示的XML文檔中,XHTML文檔被嵌入SVG文檔的“foreignObject”標(biāo)簽,而該XHTML文檔包含以MathML描述的公式。在這種情況下,編輯單元120通過參考命名空間而將描繪任務(wù)分配或賦予給適當(dāng)?shù)娘@示系統(tǒng)。在圖9所示的實(shí)施例中,編輯單元120首先使SVG單元160描繪矩形,然后使HTML單元150描繪XHTML文檔。此外,編輯單元120使得MathML單元(未示出)描繪公式。以這種方式,包含多個(gè)詞匯的復(fù)合文檔被適當(dāng)?shù)仫@示。圖10示出了顯示結(jié)果。
當(dāng)用戶在如圖10所示的編輯屏幕上對(duì)文檔進(jìn)行編輯時(shí),負(fù)責(zé)對(duì)被編輯的部分進(jìn)行處理的插件或VC單元180對(duì)源樹進(jìn)行修改。在源樹中,可以為各節(jié)點(diǎn)注冊(cè)對(duì)于變化事件的監(jiān)聽器。通常,與各個(gè)節(jié)點(diǎn)所屬的詞匯對(duì)應(yīng)的插件的顯示單元或VC單元180被注冊(cè)為監(jiān)聽器。當(dāng)源樹被修改時(shí),DOM提供器132從被修改的節(jié)點(diǎn)向更高層搜索。如果存在注冊(cè)的監(jiān)聽器,則DOM提供器132向該監(jiān)聽器發(fā)出變化事件。例如,參照?qǐng)D9中所示的文檔,如果位于<html>節(jié)點(diǎn)下方的節(jié)點(diǎn)被修改,那么該變化事件被通報(bào)給被注冊(cè)為<html>節(jié)點(diǎn)的監(jiān)聽器的HTML單元150。在同一時(shí)刻,該變化事件被通報(bào)給被注冊(cè)為位于<html>節(jié)點(diǎn)上方的<svg>節(jié)點(diǎn)中的監(jiān)聽器的SVG單元160。此時(shí),HTML單元150通過參考被修改的源樹而更新顯示。由于屬于SVG單元160的詞匯的節(jié)點(diǎn)本身并未被修改,因此SVG單元160可忽視該變化事件。
根據(jù)編輯的內(nèi)容,由HTML單元150對(duì)顯示進(jìn)行的更新可改變總體布局。在這種情況下,對(duì)于各插件的各個(gè)顯示區(qū)域的布局將由管理屏幕布局的組件(例如,負(fù)責(zé)顯示最高節(jié)點(diǎn)的插件)來(lái)更新。例如,當(dāng)由HTML單元150顯示的區(qū)域較之以前變大時(shí),HTML單元150首先描繪HTML單元150本身所負(fù)責(zé)的區(qū)域,然后確定顯示區(qū)域的大小。然后,顯示區(qū)域的大小被通報(bào)給管理屏幕布局的組件,以請(qǐng)求對(duì)布局進(jìn)行更新。負(fù)責(zé)屏幕布局的組件一收到該通知便為各個(gè)插件重新布置顯示區(qū)域。因此,被編輯的部分的顯示被適當(dāng)更新,且屏幕總體的布局被更新。
在對(duì)文檔進(jìn)行編輯期間,可以根據(jù)光標(biāo)(キヤリツジ)的位置來(lái)切換要顯示的菜單。也就是說(shuō),當(dāng)光標(biāo)位于顯示SVG文檔的區(qū)域中時(shí),呈現(xiàn)給用戶的菜單響應(yīng)于SVG單元160或響應(yīng)于由用于映射SVG文檔的VC定義文件所定義的命令。當(dāng)光標(biāo)位于顯示XHTML文檔的區(qū)域中時(shí),呈現(xiàn)給用戶的菜單響應(yīng)于HTML單元150或響應(yīng)于由用于映射XHTML文檔的定義文件所定義的命令。因此,可根據(jù)編輯位置提供適當(dāng)?shù)挠脩艚缑妗?br> 如果在復(fù)合文檔中不存在與詞匯相符的適當(dāng)插件或映射定義,則以該詞匯描述的部分可顯示為源或樹格式。在傳統(tǒng)實(shí)踐中,在要打開其中某個(gè)文檔中嵌有另一文檔的復(fù)合文檔時(shí),如果其中未安裝有要顯示該嵌入文檔的應(yīng)用程序,則它們的內(nèi)容不能被顯示。但是,根據(jù)本實(shí)施方案,即使用于顯示的應(yīng)用程序不存在,由文本數(shù)據(jù)組成的XML文檔可顯示為源或樹格式,從而能夠確定其內(nèi)容。這是基于文本的XML文檔或類似文檔的一個(gè)特征。
在以某個(gè)詞匯描述的文檔中,可使用屬于其它詞匯的標(biāo)簽。雖然該XML文檔通常并不有效,但只要它結(jié)構(gòu)良好(well-formed),就可作為有效的XML文檔而被處理。在這種情況下,被插入的屬于其它詞匯的標(biāo)簽可使用定義文件來(lái)進(jìn)行映射。例如,可使用諸如“重要”、“最重要”的標(biāo)簽以通過強(qiáng)調(diào)的方式來(lái)顯示這些標(biāo)簽周圍的部分,或者可將這些標(biāo)簽以重要性的順序來(lái)排序以進(jìn)行相應(yīng)顯示。
以基于文本的語(yǔ)言來(lái)描述數(shù)據(jù)的另一個(gè)有益方面在于,例如,在同一文檔中以某個(gè)詞匯描述的部分的數(shù)據(jù)可被該復(fù)合文檔中以其它詞匯描述的另一文檔所參考。例如,在可以在計(jì)算式等中參考以其它的詞匯來(lái)描述的數(shù)據(jù)、進(jìn)行HTML文檔內(nèi)的檢索時(shí),在文檔中的SVG等的圖中嵌入的字串也可以作為檢索對(duì)象。通常,在以某種應(yīng)用程序制成的文檔中存在嵌入其它應(yīng)用程序制成的數(shù)據(jù)或文檔等時(shí),該應(yīng)用程序不能掌握所嵌入的數(shù)據(jù)的格式,不能正確地解釋數(shù)據(jù),因而只能將所嵌入的數(shù)據(jù)以所謂的插入塊來(lái)處理,而不能參考其內(nèi)容。但是,如果對(duì)這種復(fù)合文檔進(jìn)行處理的應(yīng)用程序能夠掌握所嵌入數(shù)據(jù)的格式,從而能夠正確地解釋其內(nèi)容,則將使得所嵌入的數(shù)據(jù)由文檔中的其它部分參考成為可能。XML文檔是以文本為基礎(chǔ)來(lái)描述的,因此適合于實(shí)現(xiàn)上述功能。以下作為第二實(shí)施例,說(shuō)明實(shí)現(xiàn)這種功能的文檔處理裝置100。
(第二實(shí)施方式)圖11所示的是本發(fā)明第二實(shí)施方式的文檔處理裝置100的總體結(jié)構(gòu)。本實(shí)施方式的文檔處理裝置100除了圖1所示第一實(shí)施方式的文檔處理裝置100的結(jié)構(gòu)以外,還包括參考了其他數(shù)據(jù)來(lái)執(zhí)行計(jì)算處理的插件(plug in),即計(jì)算單元190。計(jì)算單元190對(duì)以“Calculation”詞匯描述的文檔進(jìn)行處理,該詞匯是作為用于描述計(jì)算式等的詞匯。通過參考其他數(shù)據(jù)的計(jì)算式對(duì)包含在作為處理對(duì)象的文檔中的構(gòu)成元素的元素值或?qū)傩灾颠M(jìn)行描述時(shí),計(jì)算單元190獲取參考目標(biāo)的數(shù)據(jù)并執(zhí)行計(jì)算式,將計(jì)算結(jié)果代入該元素值或?qū)傩灾怠⒖寄繕?biāo)的數(shù)據(jù)可以通過與參考源相同的詞匯描述,也可以以不同的詞匯描述。此外,也可以參考在其他文檔中描述的數(shù)據(jù)。參考其他文檔的數(shù)據(jù)時(shí),文檔處理裝置100通過讀入描述有參考目標(biāo)的數(shù)據(jù)的文檔,可以獲取參考目標(biāo)的數(shù)據(jù)。其他結(jié)構(gòu)和動(dòng)作與第一實(shí)施方式相同,相同的結(jié)構(gòu)使用相同的符號(hào)。
計(jì)算單元190包括計(jì)算定義文件獲取單元192,獲取以計(jì)算用的詞匯描述的計(jì)算用的定義文件;執(zhí)行單元194,執(zhí)行描述在計(jì)算定義文件中的計(jì)算式。在讀入文檔時(shí),在該文檔中描述了要對(duì)計(jì)算定義文件進(jìn)行外部參考的情況下,計(jì)算定義文件獲取單元192獲取該計(jì)算定義文件,執(zhí)行單元194執(zhí)行所描述的計(jì)算式,并代入計(jì)算結(jié)果。此外,在更新計(jì)算式參考的數(shù)據(jù)時(shí),執(zhí)行單元194接收以更新存儲(chǔ)有參考目標(biāo)數(shù)據(jù)的節(jié)點(diǎn)為要點(diǎn)的變化事件,再次執(zhí)行計(jì)算式并代入?yún)⒖荚吹臄?shù)據(jù)。參考源的數(shù)據(jù)一旦被更新,則用于顯示該節(jié)點(diǎn)的插件(plug in)對(duì)顯示進(jìn)行更新,并將計(jì)算結(jié)果反映在顯示中。
圖12為通過本實(shí)施方式的文檔處理裝置100進(jìn)行處理的文檔的一個(gè)例子。此XML文檔用于申請(qǐng)差旅費(fèi)。此XML文檔由作為計(jì)算旅費(fèi)用的詞匯“ryohi”和作為管理員工數(shù)據(jù)用的詞匯“office”描述。在文檔的開頭部分聲明應(yīng)參考VC定義文件“ryohiseisan.vcd”并通過VC功能顯示此文檔;應(yīng)參考計(jì)算定義文件“ryohiseisan.calc”執(zhí)行計(jì)算。
作為頂節(jié)點(diǎn)的構(gòu)成元素“ryohiseisan”為“ryohi”詞匯的構(gòu)成元素,下面有作為“office”詞匯構(gòu)成元素的“person”和“persondb”以及作為“ryohi”詞匯構(gòu)成元素的“period”、“business”、“items”和“total-price”。構(gòu)成元素“person”存儲(chǔ)差旅費(fèi)申請(qǐng)人的數(shù)據(jù),下面有存儲(chǔ)申請(qǐng)人所屬的部門代碼的“department-code”、存儲(chǔ)申請(qǐng)人所屬的部門名稱的“department-name”、存儲(chǔ)申請(qǐng)人級(jí)別的“rank”、存儲(chǔ)申請(qǐng)人員工編號(hào)的“number”、存儲(chǔ)申請(qǐng)人姓名的“name”以及存儲(chǔ)申請(qǐng)人電話號(hào)碼的“tel”。構(gòu)成元素“persondb”存儲(chǔ)員工的數(shù)據(jù),以分別存儲(chǔ)員工編號(hào)“number”、姓名“name”、電話號(hào)碼“tel”作為設(shè)于其下面的多個(gè)構(gòu)成元素“record”的屬性值。構(gòu)成元素“period”存儲(chǔ)出差期限,屬性值“start”中存儲(chǔ)開始日,屬性值“end”中存儲(chǔ)結(jié)束日。構(gòu)成元素“place”存儲(chǔ)出差業(yè)務(wù)目的地。構(gòu)成元素“business”存儲(chǔ)出差要辦的事。構(gòu)成元素“items”存儲(chǔ)了差旅費(fèi)的詳細(xì)情況,作為其下方的多個(gè)構(gòu)成元素“item”的屬性值,存儲(chǔ)有日期“datetime”、出發(fā)地“route-start”、目的地“route-end”、類別“type”、金額“price”。構(gòu)成元素“total-price”存儲(chǔ)了差旅費(fèi)的總額。如后所述,差旅費(fèi)的總額按照在計(jì)算用定義文件中描述的計(jì)算式計(jì)算。
圖13所示的是將圖12所示的XML文檔以VC功能顯示的VC定義文件的一個(gè)例子。在VC定義文件“ryohisaisan.vcd”中描述有命令的定義和顯示用的模板。在圖13的例子中,作為命令定義的“経路の追加”和“経路の削除”分別與將節(jié)點(diǎn)“ryohi:item”插入源樹(sourcetree)中和從源樹中刪除節(jié)點(diǎn)“ryohi:item”對(duì)應(yīng)。顯示用的模板實(shí)際上描述在圖13所示的VC定義文件的“變換模板”的部分中,此處分成圖14和圖15。
圖14所示的是描述在圖13所示的VC定義文件中的顯示用模板的一個(gè)例子。圖12所示的XML文檔按照?qǐng)D14所示的模板變換并顯示成HTML文檔。另外,模板中省略了描述顯示格式(style)的部分。在存儲(chǔ)員工編號(hào)的“office:person/office:number”中指定了表示可編輯的“text-of”,在存儲(chǔ)員工姓名的“office:person/office:name”以及存儲(chǔ)內(nèi)線號(hào)碼的“office:person/office:tel”中指定了表示不可編輯的“value-of”。如后所述,當(dāng)用戶更改員工編號(hào)時(shí),由于計(jì)算單元190可以自動(dòng)變更更改姓名和內(nèi)線號(hào)碼,因此姓名和內(nèi)線號(hào)碼不可編輯。
圖15所示的是在圖13所示的VC定義文件中描述的顯示用的模板中,用于顯示存儲(chǔ)差旅費(fèi)的詳細(xì)路線的構(gòu)成元素“ryohi:item”的模板的一個(gè)例子。在顯示差旅費(fèi)詳細(xì)情況的表中,在顯示詳細(xì)路線的每行中顯示有用于增加路線的“追加”按鈕和用于刪除路線的“削除”按鈕?!白芳印卑粹o和“削除”按鈕分別與圖13所示的VC定義文件中的命令“経路の追加”和“経路の削除”對(duì)應(yīng),用戶通過點(diǎn)擊按鈕就可以執(zhí)行相應(yīng)的命令。
圖16所示的是適用于圖12所示的XML文檔的計(jì)算定義文件的一個(gè)例子。該計(jì)算定義文件由用于描述計(jì)算式的詞匯描述。在最開始的元素“cacl:bind”中,將節(jié)點(diǎn)“office:persondb”下面的第“office:number”號(hào)的節(jié)點(diǎn)“office:record”的屬性值“name”代入節(jié)點(diǎn)“ryohiseisan/office:person/office:name”。也就是說(shuō),在更改申請(qǐng)人的員工編號(hào)時(shí),描述在員工名冊(cè)中的該員工編號(hào)的員工姓名被代入申請(qǐng)人姓名中。在第二元素“cacl:bind”中,同樣,在更改申請(qǐng)人的員工編號(hào)時(shí),該員工編號(hào)的員工內(nèi)線號(hào)碼被代入申請(qǐng)人的內(nèi)線號(hào)碼中。第三元素“cacl:bind”中,將節(jié)點(diǎn)“ryohi:item”的屬性值“price”的合計(jì)值代入節(jié)點(diǎn)“ryohi:ryohiseisan/ryohi:total-price”。也就是說(shuō),差旅費(fèi)的各詳細(xì)金額的合計(jì)值被代入差旅費(fèi)總額中。
圖17所示的是按照從圖13至圖15所示的VC定義文件顯示圖12所示的文檔的圖面的一個(gè)例子。在顯示詳細(xì)情況的表格的第二行,顯示有圖12所示的文檔的元素“ryohi:items”下面的第二元素“ryohi:item”的內(nèi)容。在文檔中,屬性值“route-start”、“route-end”、“type”中沒有值,而按照?qǐng)D15所示的VC定義文件中描述的定義,沒有值時(shí)的替換文本被顯示。
圖18所示的是在圖17所示的編輯屏幕中,更改員工編號(hào)時(shí)的屏幕的一個(gè)例子。如果用戶將申請(qǐng)人的員工編號(hào)欄從“1821”改寫為“1318”,則首先與源樹對(duì)應(yīng)的節(jié)點(diǎn)改變?yōu)椤?318”。此時(shí),向計(jì)算單元190發(fā)出要點(diǎn)為該節(jié)點(diǎn)被改變的變化事件。計(jì)算單元190的執(zhí)行單元194接收該變化事件,按照描述在計(jì)算定義文件中的規(guī)則對(duì)源樹進(jìn)行更改。在此,申請(qǐng)人的姓名(氏名)和內(nèi)線號(hào)碼(內(nèi)線番號(hào))發(fā)生改變。如果源樹被更改,則向VC單元180發(fā)送以此為要點(diǎn)的變化事件,VC單元180對(duì)目的樹(destination tree)進(jìn)行更改。進(jìn)而,向HTML單元150發(fā)出要點(diǎn)為改變目的樹的變化事件,通過HTML150對(duì)顯示進(jìn)行更新。
圖19所示的是在圖17所示的編輯屏幕中,增加出差詳細(xì)項(xiàng)目且更改交通費(fèi)金額時(shí)的屏幕的一個(gè)例子。用戶如果點(diǎn)擊增加按鈕,則按照描述在VC定義文件中的命令的定義,在源樹中增加節(jié)點(diǎn)“ryohi:item”并增加出差詳細(xì)項(xiàng)目的行。進(jìn)而,用戶如果填入交通費(fèi)金額,則按照計(jì)算定義文件中描述的定義,計(jì)算單元190中的執(zhí)行單元194更新差旅費(fèi)總額。此后,與上述的程序相同,顯示被更新。
圖20所示的是由本實(shí)施方式的文檔處理裝置100處理的文檔的另一個(gè)例子。該XML文檔通過詞匯“sample”和計(jì)算詞匯“calculation”描述。文檔的開始部分聲明應(yīng)當(dāng)參考VC定義文件“embed:vcd”通過VC功能顯示該文檔和應(yīng)當(dāng)通過計(jì)算單元190執(zhí)行計(jì)算。
作為頂節(jié)點(diǎn)的構(gòu)成元素“sample”為“sample”詞匯的構(gòu)成元素,子元素包括構(gòu)成元素“value”、構(gòu)成元素“value-total-abs”、構(gòu)成元素“value-total-ref”。構(gòu)成元素“value”存儲(chǔ)通過計(jì)算式參考的值。構(gòu)成元素“value-total-abs”及構(gòu)成元素“value-total-ref”存儲(chǔ)構(gòu)成元素“value”的元素值的合計(jì)。構(gòu)成元素“value-total-abs”及構(gòu)成元素“value-total-ref”分別包括屬性值“calc:expression”。在屬性值“calc:expression”中描述有對(duì)構(gòu)成元素“value”的合計(jì)值進(jìn)行計(jì)算的計(jì)算式,并將該計(jì)算結(jié)果作為元素值進(jìn)行存儲(chǔ)。在構(gòu)成元素“value-total-abs”的屬性值“calc:expression”中,以絕對(duì)路徑(パス)的方式描述參考目標(biāo)的節(jié)點(diǎn),在構(gòu)成元素“value-total-ref”的屬性值“calc:expression”中,以相對(duì)路徑的方式描述參考目標(biāo)的節(jié)點(diǎn),這樣由于兩者參考了相同的節(jié)點(diǎn)“sample:value”,因此算出相同的合計(jì)值。
屬性“calc:expression”被指定為賦予命名空間前綴的全局(global)屬性。全局屬性是可指定為在任意的詞匯的構(gòu)成元素中具有相同含義的屬性。也就是說(shuō),對(duì)于任意的詞匯的構(gòu)成元素,起到在詞匯“calculation”中表達(dá)計(jì)算式的屬性“expression”的作用。由此,作為屬性值描述的計(jì)算式的值由計(jì)算單元190計(jì)算并代入其構(gòu)成元素的元素值中。
圖21所示的是用于通過VC功能顯示圖20所示的XML文檔的VC定義文件的一個(gè)例子。在VC定義文件“embed:vcd”中描述有命令的定義和顯示用的模板。在圖20的例子中,“ノ一ド削除”(節(jié)點(diǎn)的刪除)和“式屬性削除スクリプト”(式屬性刪除腳本)被定義為命令,分別與從源樹中刪除節(jié)點(diǎn)“sample:sample/sample:value-total-abs”的操作及從節(jié)點(diǎn)“sample:sample/sample:value-total-abs”中刪除描述計(jì)算式的屬性“calc:expression”的操作對(duì)應(yīng)。
圖22所示的是按照?qǐng)D2l所示的VC定義文件顯示圖20所示的文檔的屏幕的例子。由計(jì)算用插件計(jì)算的第一構(gòu)成元素“sample:value”的元素值“100”、第二構(gòu)成元素“sample:value”的元素值“200”、第三構(gòu)成元素“sample:value”的元素值“300”的合計(jì)值通過計(jì)算單元190的執(zhí)行單元194計(jì)算并代入構(gòu)成元素“sample:value-total-abs”及構(gòu)成元素“value-total-ref”中進(jìn)行顯示。
圖23所示的是在圖22所示的編輯屏幕中,更改樣本值1時(shí)的屏幕的一個(gè)例子。用戶如果將樣本值1的欄從“100”改寫為“500”,則首先與源樹對(duì)應(yīng)的節(jié)點(diǎn)“sample:sample/sample:value”的元素值改變?yōu)椤?00”。此時(shí),對(duì)計(jì)算單元190發(fā)出要點(diǎn)為更改此節(jié)點(diǎn)的變化事件。計(jì)算單元190的執(zhí)行單元194接收該變化事件并按照描述在構(gòu)成元素“ample:sample/sample:value-total-abs”及構(gòu)成元素“sample:sample/sample:value-total-abs”的屬性值中的計(jì)算式對(duì)源樹進(jìn)行更改。由此,樣本值的合計(jì)值被改變。如果源樹被改變,則對(duì)VC單元180發(fā)出以此為主要內(nèi)容的變化事件,VC單元180對(duì)目的樹進(jìn)行更改。而且,對(duì)HTML單元150發(fā)出以更改目標(biāo)樹為主要內(nèi)容的變化事件,由HTML單元150對(duì)顯示進(jìn)行更新。
這樣,根據(jù)本實(shí)施方式的文檔處理裝置100,在計(jì)算定義文件中描述的計(jì)算式和在XML文檔中作為全局屬性描述的計(jì)算式等可以參考其他任意的數(shù)據(jù)。由此,可以有效地運(yùn)用文檔內(nèi)的數(shù)據(jù)。計(jì)算式可以是任意形式,例如為使數(shù)據(jù)在多個(gè)構(gòu)成元素之間同步,可以是代入相同數(shù)據(jù)的計(jì)算式,也可以是算術(shù)式、字符串的操作等。
以上通過實(shí)施方式對(duì)本發(fā)明進(jìn)行了說(shuō)明。本領(lǐng)域的普通技術(shù)人員應(yīng)該理解,實(shí)施方式僅為示例,本發(fā)明還存在對(duì)各構(gòu)成元素或各處理過程進(jìn)行組合的各種各樣的變形實(shí)施例,這些變形實(shí)施例也包含在本發(fā)明的范圍內(nèi)。
在實(shí)施方式中,對(duì)處理XML文檔的例子進(jìn)行了說(shuō)明,但本實(shí)施方式的文檔處理裝置100同樣也可以處理以其他標(biāo)記語(yǔ)言例如SGML、HTML等描述的文檔。
產(chǎn)業(yè)上的可利用性本發(fā)明可以用作對(duì)由標(biāo)記語(yǔ)言描述的文檔進(jìn)行處理的文檔處理裝置。
權(quán)利要求
1.文檔處理裝置,其特征在于包括處理系統(tǒng),顯示由標(biāo)記語(yǔ)言描述的文檔,并接受由用戶對(duì)所述文檔的編輯;以及計(jì)算單元,當(dāng)在所述文檔包含的構(gòu)成元素的屬性值中描述了參考其它的數(shù)據(jù)的計(jì)算式時(shí),獲取參考目標(biāo)的數(shù)據(jù)來(lái)執(zhí)行所述計(jì)算式,將計(jì)算結(jié)果代入所述構(gòu)成元素的元素值。
2.權(quán)利要求1所述的文檔處理裝置,其特征在于,所述計(jì)算式由用于描述所述計(jì)算式的標(biāo)記語(yǔ)言來(lái)描述。
3.權(quán)利要求1或2所述的文檔處理裝置,其特征在于,所述計(jì)算式被描述為全局屬性。
4.權(quán)利要求1至3任一項(xiàng)所述的文檔處理裝置,其特征在于,所述參考目標(biāo)的數(shù)據(jù)使用與參考源的所述構(gòu)成元素不同的標(biāo)記語(yǔ)言來(lái)描述。
5.權(quán)利要求1至4任一項(xiàng)所述的文檔處理裝置,其特征在于,在所述參考目標(biāo)的數(shù)據(jù)發(fā)生改變時(shí),所述計(jì)算單元再次執(zhí)行所述計(jì)算式,將計(jì)算結(jié)果代入所述元素值。
6.權(quán)利要求1至5任一項(xiàng)所述的文檔處理裝置,其特征在于,進(jìn)一步包括生成部,從所述文檔中生成具有符合文檔目標(biāo)模型的格式的數(shù)據(jù),所述文檔對(duì)象模型是為了提供將文檔作為數(shù)據(jù)處理時(shí)的訪問方法而被設(shè)定的,其中所述生成部生成與所述文檔對(duì)應(yīng)的文檔對(duì)象模型數(shù)據(jù);以及所述處理系統(tǒng)參考所述文檔對(duì)象模型數(shù)據(jù),顯示所述文檔。
7.權(quán)利要求6所述的文檔處理裝置,其特征在于,所述計(jì)算單元從所述文檔對(duì)象模型數(shù)據(jù)中確定所述參考目標(biāo)的數(shù)據(jù),并獲取該數(shù)據(jù)。
8.文檔處理方法,其特征在于,所述方法包括如下步驟判斷步驟,在顯示裝置顯示由標(biāo)記語(yǔ)言描述的文檔時(shí),判斷在所述文檔中包含的構(gòu)成元素的屬性值中是否描述了參考其它的數(shù)據(jù)的計(jì)算式;以及代入步驟,在所述屬性值中描述了所述計(jì)算式時(shí),獲取參考目標(biāo)的數(shù)據(jù)來(lái)執(zhí)行所述計(jì)算式,將計(jì)算結(jié)果代入所述構(gòu)成元素的元素值。
9.計(jì)算機(jī)程序,其特征在于,所述計(jì)算機(jī)程序使計(jì)算機(jī)實(shí)現(xiàn)以下功能在顯示裝置顯示以標(biāo)記語(yǔ)言描述的文檔時(shí),判斷在所述文檔中包含的構(gòu)成元素的屬性值中是否描述了參考其它的數(shù)據(jù)的計(jì)算式;以及在所述屬性值中描述了所述計(jì)算式時(shí),獲取參考目標(biāo)的數(shù)據(jù)來(lái)執(zhí)行所述計(jì)算式,將計(jì)算結(jié)果代入所述構(gòu)成元素的元素值。
全文摘要
提供了一種對(duì)利用標(biāo)記語(yǔ)言描述的文檔中包含的數(shù)據(jù)進(jìn)行有效利用的技術(shù)。該文檔處理裝置(100)通過插件針對(duì)每個(gè)詞匯實(shí)現(xiàn)了進(jìn)行顯示/編輯的處理系統(tǒng),例如用于顯示/編輯HTML文檔的HTML單元(150)、用于顯示/編輯SVG文檔的SVG單元(160)。計(jì)算單元(190)是處理用于描述計(jì)算式的詞匯的插件,在作為處理對(duì)象的文檔中所包含的構(gòu)成元素的屬性值中描述了參考其它數(shù)據(jù)的計(jì)算式時(shí),獲得參考目標(biāo)的數(shù)據(jù)來(lái)執(zhí)行計(jì)算式,將所計(jì)算的結(jié)果代入構(gòu)成元素的元素值中。
文檔編號(hào)G06F17/22GK1950817SQ20058001193
公開日2007年4月18日 申請(qǐng)日期2005年4月6日 優(yōu)先權(quán)日2004年4月8日
發(fā)明者檜山正幸, 和家伸明, 大島教雄, 原雅文 申請(qǐng)人:佳思騰軟件公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
云和县| 乌拉特中旗| 金华市| 南充市| 凤翔县| 蓬莱市| 涿州市| 定结县| 伊川县| 香格里拉县| 塔河县| 邹城市| 喜德县| 敦化市| 宣武区| 分宜县| 资溪县| 兴国县| 凤山市| 开平市| 桦南县| 佛教| 施甸县| 闵行区| 汝南县| 阜平县| 三明市| 本溪| 郎溪县| 东乌| 绥中县| 梧州市| 武清区| 乌审旗| 繁峙县| 三台县| 二手房| 古田县| 洛川县| 内丘县| 平乡县|