專(zhuān)利名稱(chēng):一種不兼容數(shù)據(jù)的處理方法和裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及文檔處理技術(shù),具體涉及一種不兼容數(shù)據(jù)的處理方法和裝置。
背景技術(shù):
在文檔處理軟件領(lǐng)域中,各個(gè)廠商與開(kāi)發(fā)者都在自己的軟件中盡力處理文檔格式 標(biāo)準(zhǔn)中的數(shù)據(jù)元素,但是對(duì)于不可解析與處理的元素不是置之不理就是隨意拋棄,造成了 文檔在不同的處理軟件中交互應(yīng)用時(shí)的數(shù)據(jù)丟失。而且,至今為止,還沒(méi)有一種實(shí)用的方法 可以在異種文檔數(shù)據(jù)格式中保留不可兼容數(shù)據(jù)進(jìn)而恢復(fù)原有文檔格式。
發(fā)明內(nèi)容
有鑒于此,本發(fā)明的主要目的在于提供一種不兼容數(shù)據(jù)的處理方法和裝置,以對(duì) 不兼容數(shù)據(jù)實(shí)現(xiàn)維護(hù),避免文檔在不同的處理軟件中交互應(yīng)用時(shí)的數(shù)據(jù)丟失。為達(dá)到上述目的,本發(fā)明的技術(shù)方案是這樣實(shí)現(xiàn)的一種不兼容數(shù)據(jù)的處理方法,該方法包括載入基于XML描述的文檔格式時(shí),識(shí)別其中的不兼容數(shù)據(jù)并生成不兼容數(shù)據(jù)針對(duì) 文檔的關(guān)聯(lián)信息;將識(shí)別出的不兼容數(shù)據(jù)和生成的關(guān)聯(lián)信息轉(zhuǎn)換為內(nèi)嵌對(duì)象。該方法進(jìn)一步包括當(dāng)存儲(chǔ)已載入的所述文檔時(shí),針對(duì)要存儲(chǔ)的文檔類(lèi)型是否為之前打開(kāi)文檔時(shí)的類(lèi) 型進(jìn)行對(duì)應(yīng)的后續(xù)保存處理。所述保存處理包括當(dāng)要存儲(chǔ)的文檔類(lèi)型是之前打開(kāi)文檔時(shí)的類(lèi)型時(shí),分析內(nèi)嵌對(duì)象中的關(guān)聯(lián)信息, 再根據(jù)分析出的關(guān)聯(lián)信息確定數(shù)據(jù)還原位置的有效性;并在數(shù)據(jù)還原位置有效時(shí),將內(nèi)嵌 對(duì)象中所封裝的不兼容數(shù)據(jù)保存到指定位置;當(dāng)要存儲(chǔ)的文檔類(lèi)型不是之前打開(kāi)文檔時(shí)的類(lèi)型時(shí),利用通用的內(nèi)嵌對(duì)象格式, 直接應(yīng)用對(duì)內(nèi)嵌對(duì)象的存儲(chǔ)格式保留不兼容數(shù)據(jù)。所述保存處理以建立擴(kuò)展節(jié)點(diǎn)的方式實(shí)現(xiàn)。所述文檔為基于XML文檔標(biāo)準(zhǔn)的UOF、ODF或OOXML格式的文檔。一種不兼容數(shù)據(jù)的處理裝置,該裝置包括不兼容數(shù)據(jù)解析單元、內(nèi)嵌對(duì)象裝載單 元;其中,所述不兼容數(shù)據(jù)解析單元,用于在載入基于XML的文檔時(shí),識(shí)別其中的不兼容數(shù) 據(jù)并生成不兼容數(shù)據(jù)針對(duì)文檔的關(guān)聯(lián)信息;所述內(nèi)嵌對(duì)象裝載單元,用于將不兼容數(shù)據(jù)解析單元識(shí)別出的不兼容數(shù)據(jù)和生成 的關(guān)聯(lián)信息轉(zhuǎn)換為內(nèi)嵌對(duì)象。該裝置進(jìn)一步包括不兼容數(shù)據(jù)保存單元,用于當(dāng)存儲(chǔ)已載入的所述文檔時(shí),針對(duì)要存儲(chǔ)的文檔類(lèi)型是否為之前打開(kāi)文檔時(shí)的類(lèi)
3型進(jìn)行對(duì)應(yīng)的后續(xù)保存處理。所述不兼容數(shù)據(jù)保存單元進(jìn)行所述保存處理時(shí),用于當(dāng)要存儲(chǔ)的文檔類(lèi)型是之前打開(kāi)文檔時(shí)的類(lèi)型時(shí),分析內(nèi)嵌對(duì)象中的關(guān)聯(lián)信息, 再根據(jù)分析出的關(guān)聯(lián)信息確定數(shù)據(jù)還原位置的有效性;并在數(shù)據(jù)還原位置有效時(shí),將內(nèi)嵌 對(duì)象中所封裝的不兼容數(shù)據(jù)保存到指定位置;當(dāng)要存儲(chǔ)的文檔類(lèi)型不是之前打開(kāi)文檔時(shí)的類(lèi)型時(shí),利用通用的內(nèi)嵌對(duì)象格式, 直接應(yīng)用對(duì)內(nèi)嵌對(duì)象的存儲(chǔ)格式保留不兼容數(shù)據(jù)。所述保存處理以建立擴(kuò)展節(jié)點(diǎn)的方式實(shí)現(xiàn)。所述文檔為基于XML文檔標(biāo)準(zhǔn)描述的包含內(nèi)嵌對(duì)象定義的UOF、ODF或OOXML格式的文檔。本發(fā)明方法和裝置避免文檔在不同的處理軟件中交互應(yīng)用時(shí)的數(shù)據(jù)丟失,進(jìn)而提 高了文檔的兼容性。
圖1為本發(fā)明一實(shí)施例的不兼容數(shù)據(jù)處理原理示意圖;圖2為本發(fā)明一實(shí)施例的文檔載入時(shí)的不兼容數(shù)據(jù)處理流程圖;圖3為本發(fā)明一實(shí)施例的文檔存儲(chǔ)時(shí)的不兼容數(shù)據(jù)處理流程圖;圖4為本發(fā)明的不兼容數(shù)據(jù)處理流程簡(jiǎn)圖;圖5為本發(fā)明一實(shí)施例的不兼容數(shù)據(jù)處理裝置圖。
具體實(shí)施例方式目前,基于XML的開(kāi)放文檔格式提供了 XML標(biāo)簽化描述的處理技術(shù),可支持在XML 文檔中加入擴(kuò)展對(duì)象而不影響原有解釋處理程序的運(yùn)行??傮w而言,可以利用統(tǒng)一的方法在UOF、ODF、OOXML等文檔格式標(biāo)準(zhǔn)間實(shí)現(xiàn)文檔格 式轉(zhuǎn)換過(guò)程中或文檔處理過(guò)程中,利用擴(kuò)展數(shù)據(jù)對(duì)象保留當(dāng)前文檔無(wú)法正確解析或處理的 文檔元素,以保證文檔的電子數(shù)據(jù)完成性。被保留的擴(kuò)展數(shù)據(jù)對(duì)象可以用于其他處理軟件 恢復(fù)不兼容數(shù)據(jù)進(jìn)行再處理,或文檔內(nèi)容審核過(guò)程。目前比較流行的辦公軟件基本都支持基于XML標(biāo)準(zhǔn)的文檔格式00XML、ODF以及 U0F。但是在功能不是完全相同的情況下,不同的辦公軟件之間進(jìn)行數(shù)據(jù)轉(zhuǎn)換時(shí)會(huì)有不兼容 數(shù)據(jù)丟失,因此,需要解決以XML格式為基準(zhǔn)的文檔格式轉(zhuǎn)換中的數(shù)據(jù)保留問(wèn)題。如果在一種文檔處理軟件中(假設(shè)為軟件A)在讀取文件格式時(shí),例如00XML格 式,將能夠轉(zhuǎn)換的數(shù)據(jù)轉(zhuǎn)換為文檔格式A自身內(nèi)部處理結(jié)構(gòu)后,可以利用支持內(nèi)嵌對(duì)象的 裝置創(chuàng)建內(nèi)嵌對(duì)象來(lái)存儲(chǔ)不能夠兼容數(shù)據(jù),當(dāng)用戶(hù)用文檔處理軟件A對(duì)文檔修改以后,繼 續(xù)保存為OOXML格式的文檔,將之前不能處理的數(shù)據(jù)還原為原有的格式,并寫(xiě)入生成的文 檔中去。當(dāng)需要存儲(chǔ)為其他格式,例如U0F或0DF,則利用UOF或ODF格式中支持的內(nèi)嵌對(duì) 象描述格式將內(nèi)嵌對(duì)象保存于文檔中。那么對(duì)于文檔處理軟件A來(lái)說(shuō),對(duì)于OOXML標(biāo)準(zhǔn)的 文檔格式不會(huì)由于設(shè)計(jì)不同而造成文檔數(shù)據(jù)丟失。上述操作方式的主要特點(diǎn)就是在原文檔的基礎(chǔ)上添加內(nèi)嵌對(duì)象以保證原文檔中 的數(shù)據(jù)完整性??梢岳肵Path與XPoint等索引方法及版本保證不兼容數(shù)據(jù)與文檔的對(duì)應(yīng)關(guān)系。并提供標(biāo)準(zhǔn)轉(zhuǎn)換模塊對(duì)保留的數(shù)據(jù)在轉(zhuǎn)換過(guò)程中進(jìn)行針對(duì)目標(biāo)格式的處理。當(dāng)然,上述專(zhuān)門(mén)保存的擴(kuò)展數(shù)據(jù)不會(huì)被其他的軟件通過(guò)正常的情況進(jìn)行修改,這 樣雖然在不同的軟件讀取文檔時(shí)仍然會(huì)有些顯示上的差異,但是文檔數(shù)據(jù)卻不會(huì)由于不同 軟件之間的操作而遭到破壞。在這種情況下,不同的軟件在打開(kāi)非自身完全支持的XML格 式文檔時(shí),只需提供自身軟件支持的格式表并且通過(guò)過(guò)濾器過(guò)濾掉自身無(wú)法解析的數(shù)據(jù), 就可以得到自身可以解析的數(shù)據(jù),而同時(shí)可以對(duì)過(guò)濾掉的數(shù)據(jù)進(jìn)行需要的處理。對(duì)于00XML、UOF、ODF這三種文檔格式而言,在其標(biāo)準(zhǔn)制定時(shí)都考慮到了數(shù)據(jù)的擴(kuò) 展性;換言之,這三種文檔格式都不同程度的支持在各自的文檔中添加可能不具備實(shí)際意 義的擴(kuò)展數(shù)據(jù)。在此基礎(chǔ)上,在文檔格式B打開(kāi)ODF文檔時(shí),如果遇到無(wú)法支持的功能,那 么在解析能夠使用的數(shù)據(jù)之后,可以將不能使用的數(shù)據(jù)(如,不兼容數(shù)據(jù))按照解析的規(guī)則 映射到擴(kuò)展區(qū)域內(nèi),在存為ODF時(shí)將寫(xiě)到擴(kuò)展區(qū)域內(nèi)的數(shù)據(jù)按照原來(lái)的規(guī)則寫(xiě)到ODF對(duì)應(yīng) 的位置;還可以在存為OOXML時(shí)將擴(kuò)展區(qū)域內(nèi)的數(shù)據(jù)寫(xiě)到OOXML格式文檔的擴(kuò)展區(qū)域內(nèi),這 樣就可以解決在兩種文檔格式轉(zhuǎn)換時(shí)的數(shù)據(jù)丟失問(wèn)題。另外,可以應(yīng)用如下方法保存將存儲(chǔ)于擴(kuò)展區(qū)域內(nèi)的數(shù)據(jù)XML文檔是由元素(Element)與屬性(Attribute)定義的,所以對(duì)于不兼容數(shù)據(jù)可 以精確到每一個(gè)元素與屬性,進(jìn)而可以按照這兩種標(biāo)準(zhǔn)來(lái)定義不兼容部分的節(jié)點(diǎn),而這兩 種節(jié)點(diǎn)都可以通過(guò)XPath的映射準(zhǔn)確定位到原有的文檔位置。首先,可以將可能丟失的數(shù)據(jù)取出,并在目標(biāo)文檔中建立擴(kuò)展的節(jié)點(diǎn),此節(jié)點(diǎn)包 含1、原文檔中元素的定義(name)引用原文檔定義的Schema類(lèi)型。2、路徑索引(XPath)元素在原文檔中的目標(biāo)定位,用于在XML文件中定位。3、方法(method)是對(duì)此擴(kuò)展對(duì)象的應(yīng)用方法(映射關(guān)系),做為枚舉類(lèi)型存在, 提供對(duì)于原文檔中對(duì)通過(guò)path定位的數(shù)據(jù)的處理方式,包括替換、增加、忽略等方式。4、值(value)記錄可能丟失的數(shù)據(jù),根據(jù)method提供的方法對(duì)數(shù)據(jù)進(jìn)行相應(yīng)的 處理。接下來(lái),當(dāng)節(jié)點(diǎn)構(gòu)造完成后,可以根據(jù)節(jié)點(diǎn)構(gòu)造將不兼容數(shù)據(jù)存儲(chǔ)于擴(kuò)展區(qū)域內(nèi), 以完成文檔的存儲(chǔ)過(guò)程,從而實(shí)現(xiàn)基于XML標(biāo)準(zhǔn)文檔的00XML、ODF、UOF三者之間的無(wú)損數(shù) 據(jù)轉(zhuǎn)換??偨Y(jié)上述操作內(nèi)容,可以將本發(fā)明針對(duì)不兼容數(shù)據(jù)的處理原理表示如圖1所示。 參見(jiàn)圖1,圖1為本發(fā)明一實(shí)施例的不兼容數(shù)據(jù)處理原理示意圖。圖1中,基于XML文檔標(biāo) 準(zhǔn)(如U0F,0DF,00XML)格式的文檔中有可能包括其它格式的文檔所不能兼容的數(shù)據(jù)或?qū)?性,在載入該文檔時(shí)需要識(shí)別出文檔中的不兼容數(shù)據(jù),并封裝為特定的內(nèi)嵌對(duì)象,使得應(yīng)用 程序中的文檔處理結(jié)構(gòu)表現(xiàn)為包含對(duì)宿主對(duì)象的索引或關(guān)聯(lián)(表現(xiàn)為關(guān)聯(lián)信息)的內(nèi)嵌對(duì) 象。在對(duì)所述文檔進(jìn)行保存時(shí),針對(duì)要保存的相同或不同的文檔類(lèi)別,會(huì)執(zhí)行不同的 保存處理。如在進(jìn)行同種類(lèi)別保存時(shí),需要解析內(nèi)嵌對(duì)象的索引與關(guān)聯(lián)信息,根據(jù)解析出的關(guān) 聯(lián)信息將不兼容數(shù)據(jù)還原為原有格式;使得最終保存的是基于XML文檔標(biāo)準(zhǔn)(如:U0F, ODF, 00XML)格式的文檔,其中包括其它格式的文檔所不能兼容的數(shù)據(jù)或?qū)傩浴?br>
5
在進(jìn)行異種類(lèi)別保存時(shí),可以應(yīng)用內(nèi)嵌對(duì)象形式直接存儲(chǔ)于目標(biāo)文檔;使得最終 保存的是不同于之前的打開(kāi)格式(如U0F,ODF, 00XML)的文檔,其中包含封裝有不兼容數(shù) 據(jù)的內(nèi)嵌對(duì)象??梢?jiàn),圖1描述了文檔在載入與存儲(chǔ)過(guò)程中不兼容數(shù)據(jù)的保留模型1、當(dāng)載入含有處理程序不兼容數(shù)據(jù)的文檔時(shí),處理程序收集不兼容數(shù)據(jù)與其他文 檔對(duì)象的關(guān)聯(lián)信息,并與不兼容數(shù)據(jù)一同描述為內(nèi)嵌對(duì)象;2、當(dāng)文檔保存為與載入時(shí)類(lèi)型相同的文件格式時(shí),根據(jù)保存在內(nèi)嵌對(duì)象中的關(guān)聯(lián) 信息將內(nèi)嵌對(duì)象中的原有文檔數(shù)據(jù)還原到文檔中,保證其他可以處理該部分?jǐn)?shù)據(jù)的處理程 序可以正常解析、處理這段數(shù)據(jù);3、如果存為與載入時(shí)類(lèi)型不同的格式,則直接將內(nèi)嵌對(duì)象以目標(biāo)格式中內(nèi)嵌對(duì)象 的格式存儲(chǔ)于目標(biāo)文檔中。在上述技術(shù)描述中,針對(duì)文檔的操作可以大體分為載入與存儲(chǔ),下面應(yīng)用圖2、圖 3分別描述具體的操作流程。參見(jiàn)圖2,圖2為本發(fā)明一實(shí)施例的文檔載入時(shí)的不兼容數(shù)據(jù)處理流程圖,該流程 包括以下步驟步驟201 在文檔載入時(shí),對(duì)文檔元素進(jìn)行解析。步驟202 判斷解析出的文檔元素是否為可兼容類(lèi)型,如果是可兼容類(lèi)型,直接進(jìn) 入步驟210 ;否則,進(jìn)入步驟203。步驟203 搜集不可兼容的文檔元素與文檔之間的關(guān)聯(lián)信息。步驟204 創(chuàng)建擴(kuò)展元素對(duì)象,作為內(nèi)嵌對(duì)象。步驟205 在內(nèi)嵌對(duì)象中封裝不可兼容的文檔元素的原有數(shù)據(jù)信息,包括不可兼 容的文檔元素以及所述關(guān)聯(lián)信息。步驟206 將封裝了原有數(shù)據(jù)信息的內(nèi)嵌對(duì)象嵌入文檔,返回步驟202。步驟210 對(duì)可兼容的文檔元素進(jìn)行正常處理或轉(zhuǎn)換,返回步驟202。上述操作會(huì)反復(fù)多次進(jìn)行,直到整個(gè)文檔載入完畢??梢?jiàn),圖二描述了文檔載入時(shí)的具體邏輯執(zhí)行過(guò)程,首先辨別所解析的元素是否 可以被兼容,如果可以兼容處理,則進(jìn)行程序中對(duì)文檔元素的正常處理流程;如果無(wú)法兼 容,則收集文檔元素間的關(guān)聯(lián)信息,并利用收集到的關(guān)聯(lián)信息與無(wú)法兼容的數(shù)據(jù)片段創(chuàng)建 內(nèi)嵌的擴(kuò)展數(shù)據(jù)對(duì)象(即內(nèi)嵌對(duì)象),再將所創(chuàng)建的對(duì)象嵌入文檔當(dāng)中。參見(jiàn)圖3,圖3為本發(fā)明一實(shí)施例的文檔存儲(chǔ)時(shí)的不兼容數(shù)據(jù)處理流程圖,該流程 包括以下步驟步驟301 在進(jìn)行文檔存儲(chǔ)時(shí),判斷要存儲(chǔ)的文檔類(lèi)型是否為之前打開(kāi)文檔時(shí)的 類(lèi)型,如果是,進(jìn)入步驟302 ;否則,直接進(jìn)入步驟310。步驟302 分析內(nèi)嵌對(duì)象中的關(guān)聯(lián)信息。步驟303 根據(jù)分析出的關(guān)聯(lián)信息確定數(shù)據(jù)還原位置的有效性。步驟304 在數(shù)據(jù)還原位置有效時(shí),將內(nèi)嵌對(duì)象中所封裝的不兼容數(shù)據(jù)保存到指 定位置。結(jié)束本流程。步驟310 利用通用的內(nèi)嵌對(duì)象格式,直接應(yīng)用U0F、0DF、00XML中對(duì)內(nèi)嵌對(duì)象的存 儲(chǔ)格式保留不兼容數(shù)據(jù)。
可見(jiàn),圖三描述了文檔保存時(shí)的具體邏輯執(zhí)行,首先判斷保存的格式是否與打開(kāi) 時(shí)的相同,如果相同,則對(duì)內(nèi)嵌的不兼容數(shù)據(jù)對(duì)象中的關(guān)聯(lián)信息進(jìn)行分析,找到該數(shù)據(jù)片段 的還原位置,之后將對(duì)象內(nèi)的不兼容數(shù)據(jù)片段還原到原有的位置;若保存格式與打開(kāi)的不 同,則利用目標(biāo)格式對(duì)內(nèi)嵌對(duì)象的描述方法,將整個(gè)內(nèi)嵌對(duì)象保存到目標(biāo)文檔中。需要說(shuō)明的是,以上描述只是以UOF、ODF、OOXML為例;而實(shí)際應(yīng)用時(shí),則可以針 對(duì)基于XML并且支持內(nèi)嵌對(duì)象的文檔進(jìn)行不兼容數(shù)據(jù)處理,具體的處理過(guò)程并沒(méi)有大的不 同。結(jié)合以上描述可知,本發(fā)明進(jìn)行不兼容數(shù)據(jù)處理時(shí)的總體思路可以表示如圖4所 示。參見(jiàn)圖4,圖4為本發(fā)明的不兼容數(shù)據(jù)處理流程簡(jiǎn)圖,該流程包括以下步驟步驟410 載入基于XML描述的文檔格式時(shí),識(shí)別其中的不兼容數(shù)據(jù)并生成不兼容 數(shù)據(jù)針對(duì)文檔的關(guān)聯(lián)信息。步驟420 將識(shí)別出的不兼容數(shù)據(jù)和生成的關(guān)聯(lián)信息轉(zhuǎn)換為內(nèi)嵌對(duì)象。為了保證上述操作思路能夠順利實(shí)現(xiàn),可以設(shè)置如圖5所示的裝置。參見(jiàn)圖5,圖 5為本發(fā)明一實(shí)施例的不兼容數(shù)據(jù)處理裝置圖,該裝置包括相連的不兼容數(shù)據(jù)解析單元、內(nèi) 嵌對(duì)象裝載單元、不兼容數(shù)據(jù)保存單元。具體應(yīng)用時(shí),不兼容數(shù)據(jù)解析單元能夠在載入基于XML描述的文檔格式時(shí),識(shí)別 其中的不兼容數(shù)據(jù)并生成不兼容數(shù)據(jù)針對(duì)文檔的關(guān)聯(lián)信息;內(nèi)嵌對(duì)象裝載單元?jiǎng)t能夠?qū)⒉?兼容數(shù)據(jù)解析單元識(shí)別出的不兼容數(shù)據(jù)和生成的關(guān)聯(lián)信息轉(zhuǎn)換為內(nèi)嵌對(duì)象。不兼容數(shù)據(jù)保存單元能夠在進(jìn)行文檔存儲(chǔ)時(shí),針對(duì)要存儲(chǔ)的文檔類(lèi)型是否為之前 打開(kāi)文檔時(shí)的類(lèi)型進(jìn)行對(duì)應(yīng)的后續(xù)保存處理(如,以前述的建立擴(kuò)展節(jié)點(diǎn)的方式實(shí)現(xiàn)), 如如果要存儲(chǔ)的文檔類(lèi)型是之前打開(kāi)文檔時(shí)的類(lèi)型,不兼容數(shù)據(jù)保存單元能夠分析 內(nèi)嵌對(duì)象中的關(guān)聯(lián)信息,再根據(jù)分析出的關(guān)聯(lián)信息確定數(shù)據(jù)還原位置的有效性;并在數(shù)據(jù) 還原位置有效時(shí),將內(nèi)嵌對(duì)象中所封裝的不兼容數(shù)據(jù)保存到指定位置。如果要存儲(chǔ)的文檔類(lèi)型不是之前打開(kāi)文檔時(shí)的類(lèi)型,不兼容數(shù)據(jù)保存單元能夠利 用通用的內(nèi)嵌對(duì)象格式,直接應(yīng)用對(duì)內(nèi)嵌對(duì)象的存儲(chǔ)格式保留不兼容數(shù)據(jù)。圖5所示各單元所能實(shí)現(xiàn)的操作已在前述各圖中詳細(xì)描述,在此不再贅述。綜上所述可見(jiàn),無(wú)論是方法還是裝置,本發(fā)明的不兼容數(shù)據(jù)處理技術(shù)能夠?qū)Σ患?容數(shù)據(jù)實(shí)現(xiàn)維護(hù),避免文檔在不同的處理軟件中交互應(yīng)用時(shí)的數(shù)據(jù)丟失,進(jìn)而提高了文檔 的兼容性。以上所述,僅為本發(fā)明的較佳實(shí)施例而已,并非用于限定本發(fā)明的保護(hù)范圍,凡在 本發(fā)明的精神和原則之內(nèi)所作的任何修改、等同替換和改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù) 范圍之內(nèi)。
權(quán)利要求
一種不兼容數(shù)據(jù)的處理方法,其特征在于,該方法包括載入基于XML描述的文檔格式時(shí),識(shí)別其中的不兼容數(shù)據(jù)并生成不兼容數(shù)據(jù)針對(duì)文檔的關(guān)聯(lián)信息;將識(shí)別出的不兼容數(shù)據(jù)和生成的關(guān)聯(lián)信息轉(zhuǎn)換為內(nèi)嵌對(duì)象。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,該方法進(jìn)一步包括當(dāng)存儲(chǔ)已載入的所述文檔時(shí),針對(duì)要存儲(chǔ)的文檔類(lèi)型是否為之前打開(kāi)文檔時(shí)的類(lèi)型進(jìn) 行對(duì)應(yīng)的后續(xù)保存處理。
3.根據(jù)權(quán)利要求2所述的方法,其特征在于,所述保存處理包括當(dāng)要存儲(chǔ)的文檔類(lèi)型是之前打開(kāi)文檔時(shí)的類(lèi)型時(shí),分析內(nèi)嵌對(duì)象中的關(guān)聯(lián)信息,再根 據(jù)分析出的關(guān)聯(lián)信息確定數(shù)據(jù)還原位置的有效性;并在數(shù)據(jù)還原位置有效時(shí),將內(nèi)嵌對(duì)象 中所封裝的不兼容數(shù)據(jù)保存到指定位置;當(dāng)要存儲(chǔ)的文檔類(lèi)型不是之前打開(kāi)文檔時(shí)的類(lèi)型時(shí),利用通用的內(nèi)嵌對(duì)象格式,直接 應(yīng)用對(duì)內(nèi)嵌對(duì)象的存儲(chǔ)格式保留不兼容數(shù)據(jù)。
4.根據(jù)權(quán)利要求3所述的方法,其特征在于,所述保存處理以建立擴(kuò)展節(jié)點(diǎn)的方式實(shí)現(xiàn)。
5.根據(jù)權(quán)利要求1至4任一項(xiàng)所述的方法,其特征在于,所述文檔為 基于XML文檔標(biāo)準(zhǔn)的UOF、ODF或OOXML格式的文檔。
6.一種不兼容數(shù)據(jù)的處理裝置,其特征在于,該裝置包括不兼容數(shù)據(jù)解析單元、內(nèi)嵌對(duì) 象裝載單元;其中,所述不兼容數(shù)據(jù)解析單元,用于在載入基于XML的文檔時(shí),識(shí)別其中的不兼容數(shù)據(jù)并 生成不兼容數(shù)據(jù)針對(duì)文檔的關(guān)聯(lián)信息;所述內(nèi)嵌對(duì)象裝載單元,用于將不兼容數(shù)據(jù)解析單元識(shí)別出的不兼容數(shù)據(jù)和生成的關(guān) 聯(lián)信息轉(zhuǎn)換為內(nèi)嵌對(duì)象。
7.根據(jù)權(quán)利要求6所述的裝置,其特征在于,該裝置進(jìn)一步包括不兼容數(shù)據(jù)保存單元, 用于當(dāng)存儲(chǔ)已載入的所述文檔時(shí),針對(duì)要存儲(chǔ)的文檔類(lèi)型是否為之前打開(kāi)文檔時(shí)的類(lèi)型進(jìn) 行對(duì)應(yīng)的后續(xù)保存處理。
8.根據(jù)權(quán)利要求7所述的裝置,其特征在于,所述不兼容數(shù)據(jù)保存單元進(jìn)行所述保存 處理時(shí),用于當(dāng)要存儲(chǔ)的文檔類(lèi)型是之前打開(kāi)文檔時(shí)的類(lèi)型時(shí),分析內(nèi)嵌對(duì)象中的關(guān)聯(lián)信息,再根 據(jù)分析出的關(guān)聯(lián)信息確定數(shù)據(jù)還原位置的有效性;并在數(shù)據(jù)還原位置有效時(shí),將內(nèi)嵌對(duì)象 中所封裝的不兼容數(shù)據(jù)保存到指定位置;當(dāng)要存儲(chǔ)的文檔類(lèi)型不是之前打開(kāi)文檔時(shí)的類(lèi)型時(shí),利用通用的內(nèi)嵌對(duì)象格式,直接 應(yīng)用對(duì)內(nèi)嵌對(duì)象的存儲(chǔ)格式保留不兼容數(shù)據(jù)。
9.根據(jù)權(quán)利要求8所述的裝置,其特征在于,所述保存處理以建立擴(kuò)展節(jié)點(diǎn)的方式實(shí)現(xiàn)。
10.根據(jù)權(quán)利要求6至9任一項(xiàng)所述的裝置,其特征在于,所述文檔為基于XML文檔標(biāo)準(zhǔn)描述的包含內(nèi)嵌對(duì)象定義的UOF、ODF或OOXML格式的文檔。
全文摘要
本發(fā)明公開(kāi)了一種不兼容數(shù)據(jù)的處理方法和裝置,均可在載入基于XML描述的文檔格式時(shí),識(shí)別其中的不兼容數(shù)據(jù)并生成不兼容數(shù)據(jù)針對(duì)文檔的關(guān)聯(lián)信息;將識(shí)別出的不兼容數(shù)據(jù)和生成的關(guān)聯(lián)信息轉(zhuǎn)換為內(nèi)嵌對(duì)象。本發(fā)明方法和裝置避免文檔在不同的處理軟件中交互應(yīng)用時(shí)的數(shù)據(jù)丟失,進(jìn)而提高了文檔的兼容性。
文檔編號(hào)G06F17/30GK101937426SQ20101026874
公開(kāi)日2011年1月5日 申請(qǐng)日期2010年8月31日 優(yōu)先權(quán)日2010年8月31日
發(fā)明者匡亮, 李恒 申請(qǐng)人:北京紅旗貳仟軟件技術(shù)有限公司