專利名稱:同時滿足格式和內(nèi)容分離與混排需求的文檔記錄方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種文檔記錄格式的描述方法,尤其是一種同時滿足格式和內(nèi)容分離與混排需求的文檔記錄方法,適用于支持可擴(kuò)展置標(biāo)語言(XML)的文檔編輯及處理工具在文件中記錄或從文件讀入文檔的內(nèi)容和顯現(xiàn)形式,屬于計算機(jī)辦公自動化技術(shù)領(lǐng)域。
背景技術(shù):
長期以來,文檔主要采用專用的記錄格式來描述,采用專用格式帶來必然嚴(yán)重的兼容性問題,例如,WPS文檔編輯器難以正確解釋W(xué)ord采用的DOC格式,當(dāng)前使用的PowerPointer不能正確解釋老版本的PPT格式,等等;同時,文檔的處理能力也會受文檔處理工具提供廠商的制約。近年來,隨著可擴(kuò)展置標(biāo)語言XML應(yīng)用的興起,文檔的記錄格式越來越多地采用XML來描述。例如,Oasis的辦公軟件OpenOffice,Microsoft的辦公軟件Office2003等等。采用XML描述文檔,能夠通過定義大綱(schema)來規(guī)范文檔的記錄格式,并對其進(jìn)行驗證,并大大增強(qiáng)文檔格式的交換能力。XML也促使了文檔顯現(xiàn)格式與內(nèi)容的分離,這種分離一方面有助于保持相對穩(wěn)定的文檔邏輯內(nèi)容信息,使其不受排版風(fēng)格的影響,各種應(yīng)用還可定義與各自領(lǐng)域相關(guān)的大綱來規(guī)范如何描述文檔的邏輯內(nèi)容,并與其他的應(yīng)用系統(tǒng)集成。另一方面也使得相同類型的文檔,只需一次排版得到式樣單(stylesheet)便可具有一致的顯現(xiàn)格式,不需要對每篇文檔進(jìn)行排版。然而,作為文檔編輯工具使用的文檔記錄格式,一方面,要盡可能支持所見即所得的友好的編輯風(fēng)格,這要求格式與內(nèi)容混合編排;另一方面,最好還能支持文檔格式與內(nèi)容的分離,這兩者本身是有矛盾的。現(xiàn)有技術(shù)中公開的文檔記錄格式,一般是通過定義與編輯處理相關(guān)的大綱,來支持混合的文檔顯現(xiàn)格式與內(nèi)容信息,不能很好地同時支持上述兩種需求,用途單一,難以與其它應(yīng)用系統(tǒng)集成。
發(fā)明內(nèi)容
為克服上述不足,本發(fā)明的目的是提供一種同時滿足格式和內(nèi)容分離與混排需求的文檔記錄方法,格式和內(nèi)容分開描述,共存于一個記錄文件中,應(yīng)用程序根據(jù)需要對格式和內(nèi)容進(jìn)行單獨(dú)或混合處理。
為實現(xiàn)上述目的,本發(fā)明采取的技術(shù)方案是同時滿足格式和內(nèi)容分離與混排需求的文檔記錄方法,文檔記錄格式包括格式描述和內(nèi)容描述,包括下述步驟a.在外存生成文檔的格式描述和內(nèi)容描述,并建立格式描述和內(nèi)容描述的映射關(guān)系,將格式描述和內(nèi)容描述以及兩者之間的映射關(guān)系存入外存的文件系統(tǒng)中;b.判斷是否需要進(jìn)行混排編輯,如果需要則根據(jù)映射關(guān)系加載相應(yīng)的格式描述和內(nèi)容描述,在內(nèi)存中建立格式描述和內(nèi)容描述的映象及其關(guān)聯(lián),對文檔進(jìn)行混排,并對混排的文檔進(jìn)行編輯;c.如果不需要混排編輯,則根據(jù)需要單獨(dú)提取格式描述或內(nèi)容描述,并對格式描述或內(nèi)容描述進(jìn)行編輯或處理。
所述步驟a中格式描述和內(nèi)容描述為可擴(kuò)展置標(biāo)語言形式的樹形數(shù)據(jù)結(jié)構(gòu),具有不同的根節(jié)點(diǎn)和不同的命名空間。
所述步驟a中的格式描述和內(nèi)容描述按壓縮或非壓縮的二進(jìn)制或純文本數(shù)據(jù)存儲成文件。
所述步驟a中的格式描述和內(nèi)容描述任一可以為空或同時為空,格式描述為空表示文檔未指定顯現(xiàn)格式,內(nèi)容描述為空表示沒有可供顯現(xiàn)的內(nèi)容。
所述步驟a中的映射關(guān)系是由標(biāo)識符表達(dá)的,使格式描述和內(nèi)容描述之間建立起對應(yīng)關(guān)系。
所述步驟b中的編輯處理是指修改格式描述和內(nèi)容描述或維護(hù)其正確的映射關(guān)系或分別對格式描述和內(nèi)容描述進(jìn)行有效性驗證。
所述步驟b中的對混排的文檔進(jìn)行編輯處理時,格式描述和內(nèi)容描述的對應(yīng)關(guān)系由編輯工具動態(tài)產(chǎn)生和維護(hù)。
本發(fā)明與現(xiàn)有技術(shù)相比,具有明顯的優(yōu)點(diǎn)和有益的效果。本發(fā)明將文檔描述分為格式描述和內(nèi)容描述兩部分,將文檔的格式信息和邏輯內(nèi)容信息分別描述,建立兩者的映射關(guān)系,并記錄在同一文件中。應(yīng)用程序在需要的時候可以分別提取,并且保持兩者的同步一致,滿足了所見即所得風(fēng)格的文檔編輯工具所需的格式內(nèi)容混排的要求,同時又保留了格式與內(nèi)容分離的優(yōu)點(diǎn),克服了現(xiàn)有文檔記錄格式方案的不足。本發(fā)明大大方便了文檔的編輯、處理以及與其他應(yīng)用系統(tǒng)的集成,具有較高的通用性、靈活性和實用性。
圖1是本發(fā)明的主流程圖;圖2本發(fā)明記錄格式的格式描述和內(nèi)容描述的映射關(guān)系示意圖。
具體實施例方式
下面結(jié)合附圖和具體實施方式
對本發(fā)明作進(jìn)一步詳細(xì)的說明。
請參閱圖1,本發(fā)明的主流程圖,首先生成文檔的格式描述(FD)和內(nèi)容描述(CD)。FD與CD均采用XML語法。其中FD與文檔顯現(xiàn)相關(guān),例如頁面版式、字形、字體大小和顏色、行間距等,通常也稱為文檔格式的XML實例,CD與文檔邏輯內(nèi)容相關(guān),如書籍、論文、信函的不同層次結(jié)構(gòu)等,通常也稱為用戶定義內(nèi)容的XML實例。
然后,建立格式描述和內(nèi)容描述的映射關(guān)系,并將格式描述、內(nèi)容描述及兩者之間的映射關(guān)系存入同一外存記錄文件中。
本發(fā)明的格式描述和內(nèi)容描述映射關(guān)系是格式描述和內(nèi)容描述之間建立的一種對應(yīng)關(guān)系。映射關(guān)系由標(biāo)識符(ID)或其他定位機(jī)制如統(tǒng)一資源標(biāo)識(URI)表達(dá)。例如,將內(nèi)容描述的“標(biāo)題”部分標(biāo)識為“1”,將顯現(xiàn)格式即表格的第一行第一列標(biāo)識為對標(biāo)識符“1”的引用,則建立起的映射關(guān)系就是“將標(biāo)題部分顯示在表格的第一行第一列之中”。
格式描述和內(nèi)容描述均為可擴(kuò)展置標(biāo)語言(XML)形式的樹形數(shù)據(jù)結(jié)構(gòu),具有不同的根節(jié)點(diǎn)和不同的命名空間。格式描述和內(nèi)容描述可以按壓縮或非壓縮的二進(jìn)制或純文本數(shù)據(jù)存儲成文件。
格式描述和內(nèi)容描述可以其中之一為空或同時為空,格式描述為空表示文檔未指定顯現(xiàn)格式,內(nèi)容描述為空表示沒有可供顯現(xiàn)的內(nèi)容。
一個文檔編輯器在打開文件時,讀入格式描述和內(nèi)容描述及其映射關(guān)系,在文檔編輯界面中顯示格式內(nèi)容混合的文檔,而在內(nèi)存中獨(dú)立保持格式和內(nèi)容的映象數(shù)據(jù),并在動態(tài)編輯過程中維護(hù)兩者之間的關(guān)聯(lián)。
一個文檔編輯器可以引入用戶定義大綱(schema),對內(nèi)容描述進(jìn)行有效性驗證,引入文檔格式大綱對格式描述進(jìn)行有效性驗證。
一個與文檔內(nèi)容相關(guān)的處理系統(tǒng),例如,摘取文檔中的部分?jǐn)?shù)據(jù)加入到其他應(yīng)用中去的程序,可以只傳送內(nèi)容描述而不需傳送冗長的格式描述從而減少傳輸成本。
一個按需排版的系統(tǒng),可能已經(jīng)具備用于顯現(xiàn)文檔格式的式樣單(stylesheet),可以忽略文檔的格式描述,而只讀取文檔的內(nèi)容描述,從而排出所需的格式。例如,對于一篇論文,作者可能采用文本編輯器編輯出用于單獨(dú)出版的格式,但是,如果放在論文集中出版,則需要按論文集統(tǒng)一的風(fēng)格排版,這時,可以從編輯器生成的文件中提取內(nèi)容描述的部分,而忽略格式描述的部分,然后結(jié)合論文集的式樣單,編排出論文集所需的顯現(xiàn)形式。由此可見,這種方式可以使一份文檔按照需要呈現(xiàn)不同的顯現(xiàn)形式。
實施例請參見圖2,本發(fā)明記錄格式的CD和FD的映射關(guān)系示意圖,實施例的具體內(nèi)容請參見圖3,本發(fā)明一個實施例的格式描述和內(nèi)容描述。本發(fā)明實施例是由兩個XML實例CD和FD構(gòu)成的、符合本發(fā)明文檔記錄格式的文件。1-11行為CD,13-41行為FD。
CD描述了以XML樹形結(jié)構(gòu)表示的一本書的邏輯內(nèi)容。根節(jié)點(diǎn)為書(Book)”,其子節(jié)點(diǎn)包括“標(biāo)題(Title)”、“作者(Author)”、“出版年份(Year)”、“書號(ISBN)”、“出版商(Publisher)”。其中各個子節(jié)點(diǎn)均有唯一標(biāo)識符(ID),Title的ID為1,Author的ID為2,Year的ID為3,ISBN的ID為4,Publisher的ID為5。其中所有的元素均屬于命名空間cd。
FD描述了其顯現(xiàn)格式,即通過表格(Table)的形式,用單行(row)五列(col)的表格顯示書的內(nèi)容。其中,text元素的ID引用屬性(idref)指明第一列對應(yīng)CD中ID為1的節(jié)點(diǎn),即Title,第二列對應(yīng)CD中ID為2的節(jié)點(diǎn)Author,第三列對應(yīng)CD中ID為3的節(jié)點(diǎn)Year,第四列對應(yīng)CD中ID為4的節(jié)點(diǎn)ISBN,第五列對應(yīng)CD中ID為5的節(jié)點(diǎn)Publisher。其中所有的元素均屬于命名空間fd。
通過上述記錄格式,建立了CD到FD兩棵XML樹之間的關(guān)聯(lián)。圖2左邊為CD XML樹,右邊為FD XML樹,CD與FD節(jié)點(diǎn)間的虛線箭頭表示通過ID及其引用建立的關(guān)聯(lián)關(guān)系。
最后所應(yīng)說明的是以上實施例僅用以說明而非限制本發(fā)明的技術(shù)方案,盡管參照上述實施例對本發(fā)明進(jìn)行了詳細(xì)說明,本領(lǐng)域的普通技術(shù)人員應(yīng)當(dāng)理解依然可以對本發(fā)明進(jìn)行修改或者等同替換,對于不脫離本發(fā)明的精神和范圍的任何修改或局部替換,其均應(yīng)涵蓋在本發(fā)明的權(quán)利要求范圍當(dāng)中。
權(quán)利要求
1.同時滿足格式和內(nèi)容分離與混排需求的文檔記錄方法,文檔記錄格式包括格式描述和內(nèi)容描述,其特征在于,包括下述步驟a.在外存生成文檔的格式描述和內(nèi)容描述,并建立格式描述和內(nèi)容描述的映射關(guān)系,將格式描述和內(nèi)容描述以及兩者之間的映射關(guān)系存入外存的文件系統(tǒng)中;b.判斷是否需要進(jìn)行混排編輯,如果需要則根據(jù)映射關(guān)系加載相應(yīng)的格式描述和內(nèi)容描述,在內(nèi)存中建立格式描述和內(nèi)容描述的映象及其關(guān)聯(lián),對文檔進(jìn)行混排,并對混排的文檔進(jìn)行編輯;c.如果不需要混排編輯,則根據(jù)需要單獨(dú)提取格式描述或內(nèi)容描述,并對格式描述或內(nèi)容描述進(jìn)行編輯或處理。
2.根據(jù)權(quán)利要求1所述的同時滿足格式和內(nèi)容分離與混排需求的文檔記錄方法,其特征在于所述步驟a中格式描述和內(nèi)容描述為可擴(kuò)展置標(biāo)語言形式的樹形數(shù)據(jù)結(jié)構(gòu),具有不同的根節(jié)點(diǎn)和不同的命名空間。
3.根據(jù)權(quán)利要求1所述的同時滿足格式和內(nèi)容分離與混排需求的文檔記錄方法,其特征在于所述步驟a中的格式描述和內(nèi)容描述按壓縮或非壓縮的二進(jìn)制或純文本數(shù)據(jù)存儲成文件。
4.根據(jù)權(quán)利要求1所述的同時滿足格式和內(nèi)容分離與混排需求的文檔記錄方法,其特征在于所述步驟a中的格式描述和內(nèi)容描述任一可以為空或同時為空,格式描述為空表示文檔未指定顯現(xiàn)格式,內(nèi)容描述為空表示沒有可供顯現(xiàn)的內(nèi)容。
5.根據(jù)權(quán)利要求1所述的同時滿足格式和內(nèi)容分離與混排需求的文檔記錄方法,其特征在于所述步驟a中的映射關(guān)系是由標(biāo)識符表達(dá)的,使格式描述和內(nèi)容描述之間建立起對應(yīng)關(guān)系。
6.根據(jù)權(quán)利要求1所述的同時滿足格式和內(nèi)容分離與混排需求的文檔記錄方法,其特征在于所述步驟b中的編輯處理是指修改格式描述和內(nèi)容描述或維護(hù)其正確的映射關(guān)系或分別對格式描述和內(nèi)容描述進(jìn)行有效性驗證。
7.根據(jù)權(quán)利要求1所述的同時滿足格式和內(nèi)容分離與混排需求的文檔記錄方法,其特征在于所述步驟b中的對混排的文檔進(jìn)行編輯處理時,格式描述和內(nèi)容描述的對應(yīng)關(guān)系由編輯工具動態(tài)產(chǎn)生和維護(hù)。
全文摘要
本發(fā)明涉及同時滿足格式和內(nèi)容分離與混排需求的文檔記錄方法,包括在外存生成文檔的格式描述和內(nèi)容描述,并建立格式描述和內(nèi)容描述的映射關(guān)系,將格式描述和內(nèi)容描述以及兩者之間的映射關(guān)系存入外存的文件系統(tǒng)中;判斷是否需要進(jìn)行混排編輯,如果需要則根據(jù)映射關(guān)系加載相應(yīng)的內(nèi)容描述和格式描述,在內(nèi)存中建立格式描述和內(nèi)容描述的映象及其關(guān)聯(lián),對文檔進(jìn)行混排,并對混排的文檔進(jìn)行編輯;如果不需要混排編輯,則根據(jù)需要單獨(dú)提取內(nèi)容描述或格式描述,并對格式描述或內(nèi)容描述分別進(jìn)行處理。本發(fā)明既滿足了所見即所得風(fēng)格的編輯器內(nèi)容與格式混排的要求,又滿足了格式與內(nèi)容分離應(yīng)用的需要。
文檔編號G06F17/21GK1680933SQ20041003099
公開日2005年10月12日 申請日期2004年4月5日 優(yōu)先權(quán)日2004年4月5日
發(fā)明者李寧, 吳志剛, 趙菁華, 高林 申請人:中國電子技術(shù)標(biāo)準(zhǔn)化研究所