專利名稱:一種xml文檔處理方法
技術領域:
本發明涉及一種計算機辦公自動化技術領域中的文檔的處理方法,尤其是一種可公開驗證的可擴展置標語言(XML)的文檔處理方法。
背景技術:
長期以來,文檔主要采用專用的記錄格式來描述,采用專用的記錄格式必然帶來嚴重的兼容性問題,例如,WPS文檔編輯器難以正確解釋Word采用的DOC格式,當前使用的PowerPointer不能正確解釋老版本的PPT格式等等;同時,文檔的處理能力也會受文檔處理工具提供廠商的制約。近年來,隨著可擴展置標語言(XML)應用的興起,文檔的記錄格式越來越多地采用XML來描述。例如,Sun/Oasis的辦公軟件OpenOffice,Microsoft的辦公軟件Office 2003等等。采用XML描述文檔,能夠通過定義大綱(schema)來規范文檔的記錄格式,并對其進行驗證,并大大增強文檔格式的交換能力。然而,文檔編輯工具并不完全公開其使用的Schema,這樣不同來源的編輯工具無法充分理解其他編輯工具產生的文檔,也無法對文檔正確性加以驗證;另一方面,現今的文檔處理工具只能處理一種格式Schema,例如Microsoft Word 2003只能處理WordML,Sun/Oasis的辦公軟件也只能處理OpenOffic定義的Schema。目前的文檔處理工具很難擺脫單一格式描述方法的約束,使編輯工具達到與格式描述形式無關。
發明內容
本發明的目的在于針對現有技術的不足,提供一種XML文檔處理方法,使不同的文檔編輯工具可以充分理解其他文檔編輯工具產生的文檔;可以使文檔編輯工具擺脫格式描述方法的約束,與格式描述形式無關,方便文檔編輯工具的研制,具有較高的通用性、靈活性和實用性。
為實現上述目的,本發明提供了一種XML數據的處理方法,包括以下步驟步驟1、文檔編輯工具獲取采用公開的命名空間定義的文檔格式Schema和/或用戶邏輯內容Schema,確定文檔的格式描述方法和/或邏輯內容結構;步驟2、文檔編輯工具根據所述文檔格式Schema和/或用戶邏輯內容Schema生成相應的文檔或對用戶已建立的文檔進行驗證。
在步驟2中所述文檔編輯工具根據文檔格式Schema和/或用戶邏輯內容Schema對文檔的格式描述和/或邏輯內容結構進行解析,得到所述文檔格式和/或用戶邏輯內容的編輯規則;所述文檔編輯工具根據解析得到的所述文檔格式和/或用戶邏輯內容的編輯規則生成相應的文檔。
在步驟2中對用戶已建立的文檔進行驗證過程為驗證所述用戶已建立的文檔是否符合步驟1中獲取的文檔格式Schema和/或用戶邏輯內容Schema,如果符合,則該文檔正確,如不符合,該文檔錯誤,作出錯誤提示。
其中,為了使文檔格式Schema和/或用戶邏輯內容Schema公開,可以將其存放在一個公共可存取空間,根據其存放的位置,如存放在本地或其他地方,步驟1中所述的文檔編輯工具在本地或通過遠程訪問,從所述公共可存取空間獲取文檔格式Schema和/或用戶邏輯內容Schema。如果是遠程訪問,可以通過網絡路徑、URL地址或協議訪問,這里所述的協議可以為HTTP、FTP或共同的約定。
另外,當所述文檔編輯工具根據所述文檔格式Schema和/或用戶邏輯內容Schema生成相應的文檔后,所述文檔編輯工具提取文檔的格式數據和/或內容數據,由通用的XML分析器根據用于生成該文檔的格式Schema和/或內容Schema進行驗證,以保證格式和/或內容數據的正確。
當所述文檔編輯工具處理其他文檔編輯工具生成的文檔時,在所述步驟1之前,還要先獲取該文檔;在所述步驟2中,所述文檔編輯工具根據獲取的文檔的Schema信息獲取該文檔對應的文檔格式Schema和/或用戶邏輯內容Schema;所述文檔編輯工具根據文檔格式Schema和/或用戶邏輯內容Schema對文檔的格式描述和/或邏輯內容結構進行解析,得到所述文檔格式和/或用戶邏輯內容的編輯規則;所述文檔編輯工具根據解析得到的所述文檔格式和/或用戶邏輯內容的編輯規則生成相應的文檔。
上述的文檔編輯工具為不同廠家或版本的、所見即所得(What You Seeis What You Get)的或離線自動處理方式的文檔處理器,“所見即所得”即在文檔編輯器界面中看到的是什么樣,產生出來的文檔就是什么樣,換一句話說就是直觀、交互的編輯方式。
所述文檔格式Schema和用戶邏輯內容Schema為不同的Schema描述,并且,格式Schema和內容Schema的定義是公開的,所有用到的命名空間的定義也是公開的。
本發明將文檔的格式描述方法作為共享資源進行共享,使不同來源的編輯工具可以充分理解其他編輯工具產生的文檔,并對文檔正確性加以驗證;另外,可以使文檔編輯工具擺脫格式描述方法的約束,與格式描述形式無關,大大提高了文檔交換能力,方便了文檔編輯工具的研制,具有較高的通用性、靈活性和實用性。
下面結合具體實施例和附圖對本發明作進一步詳細的說明。
圖1是本發明一實施例的流程圖;圖2是本發明另一實施例的流程圖。
具體實施例方式
參見圖1,為本發明可公開驗證XML文檔處理方法的實施例一的流程圖,本實施例包括以下步驟步驟A1、文檔編輯工具獲取采用公開的命名空間定義的文檔格式Schema和/或用戶邏輯內容Schema,確定文檔的格式描述方法和/或邏輯內容結構;步驟A2、文檔編輯工具根據所述文檔格式Schema和/或用戶邏輯內容Schema對文檔的格式描述和/或邏輯內容結構進行解析,得到所述文檔格式和/或用戶邏輯內容的編輯規則;步驟A3、所述文檔編輯工具根據得到所述文檔格式和/或用戶邏輯內容的編輯規則引導用戶進行編輯,生成相應的文檔。
為了保證格式數據和/或內容數據的正確性,還可以包括步驟A4步驟A4、文檔編輯工具提取該文檔的格式數據和/或內容數據,由通用的XML分析器根據用于生成該文檔的文檔格式Schema和/或用戶邏輯內容Schema,即步驟A1獲得的文檔格式Schema和/或用戶邏輯內容Schema對提取的格式數據和/或內容數據進行驗證,如果正確,不做任何處理,如果不正確,則做出提示,提示用戶該文檔錯誤。
其中,所述采用公開的命名空間定義的文檔格式Schema和/或用戶邏輯內容Schema可以作為一個公開的網絡資源被共享,文檔編輯工具在本地或遠程進行訪問,當通過遠程訪問時,可以通過網絡路徑、URL地址或特定的協議來訪問該網絡資源,獲得所述的文檔格式Schema和/或用戶邏輯內容Schema。
步驟A1中的文檔格式Schema和/或用戶邏輯內容Schema的定義是公開的,所有用到的命名空間的定義也是公開的,便于其他的文檔編輯工具可以獲得所述的格式Schema和/或內容Schema,并根據格式Schema和/或內容Schema充分理解文檔的格式描述方法和邏輯內容結構。當文檔用戶邏輯內容結構無關緊要時,與用戶邏輯內容相關的Schema可以不出現。
當所述文檔編輯工具處理其他的文檔編輯工具生成的文檔時,如實施例二,如圖2所示,包括以下步驟步驟B1、所述文檔編輯工具獲取其他所述文檔編輯工具生成的文檔;步驟B2、所述文檔編輯工具根據獲取文檔的Schema信息得到該文檔對應的文檔格式Schema和/或用戶邏輯內容Schema,該Schema信息可以為一個URI(Universal Resource Indicator),通過它可以定位到所述Schema;步驟B3、所述文檔編輯工具根據獲得的文檔格式Schema和/或用戶邏輯內容Schema對文檔的格式描述和/或邏輯內容結構進行解析,得到所述文檔格式和/或用戶邏輯內容的編輯規則;步驟B4、所述文檔編輯工具根據得到所述文檔格式和/或用戶邏輯內容的編輯規則引導用戶進行編輯,生成相應的文檔。
為了保證格式數據和/或內容數據的正確性,還可以包括步驟B5步驟B5、所述文檔編輯工具提取該文檔的格式數據和/或內容數據,由通用的XML分析器根據用于生成該文檔的文檔格式Schema和/或用戶邏輯內容Schema,即步驟B2獲得的文檔格式Schema和/或用戶邏輯內容Schema對提取的格式數據和/或內容數據進行驗證,如果正確,不做任何處理,如果不正確,則做出提示,提示用戶該文檔錯誤。
所述文檔編輯工具為不同廠家或版本的、所見即所得的或離線自動處理方式的文檔處理器。
對上述兩個實施例舉例說明對于實施例一,對于漢語文檔格式,定義了一個符合W3C XML Schema描述的han.xsd,表示其格式描述方法,并在網絡路徑“http://schemas.uof.org/2003/”上提供訪問。
對于藏語文檔格式,定義了一個符合W3C XML Schema描述的zang.xsd,表示其格式描述方法,并在網絡路徑“http://schemas.uof.org/2003/”上提供訪問。
當使用編輯工具Editor時,選擇采用何種格式Schema。當用戶選擇“http://schemas.uof.org/2003/han.xsd”時,Editor通過該網絡路徑獲得han.xsd,并根據該Schema對文檔的格式描述和/或邏輯內容結構進行解析,得到所述文檔格式和/或用戶邏輯內容的編輯規則,編輯工具Editor根據得到所述文檔格式和/或用戶邏輯內容的編輯規則引導用戶編輯完成符合漢語文檔格式的文檔;或者先由用戶生成一個文檔,Editor根據獲得的Schema與文檔進行比較驗證,驗證該文檔是否符合所述的Schema,如果符合,不做任何處理,如果不符合,提示錯誤。
同理,當用戶選擇“http://schemas.uof.org/2003/zang.xsd”時,Editor通過該網絡路徑獲得zang.xsd,并根據該Schema引導用戶編輯完成符合藏語文檔格式的文檔。
對于實施例二,對于中文辦公文檔格式,定義了一套符合W3C XMLSchema描述的uof.xsd、text.xsd、ss.xsd和pp.xsd等,分別表示全局、文字處理、電子表格、演示文稿等方面的格式描述方法,作為不同命名空間的定義,全部公開,并在網絡路徑“http://schemas.uof.org/cn/2003/”上提供訪問。
廠商a開發的編輯工具Editor_a從“http://schemas.uof.org/cn/2003/uof”上獲得uof.xsd、text.xsd、ss.xsd和pp.xsd等命名空間的定義,通過引導式編輯產生結果文檔a.uof。該文檔a.uof除了包含相應的信息schema(即URIhttp://schemas.uof.org/cn/2003/uof.xsd、http://schemas.uof.org/cn/2003/text.xsd、http://schemas.uof.org/cn/2003/ss.xsd和http://schemas.uof.org/cn/2003/pp.xsd)之外,還包含具體的格式和內容,例如所有用到的字型、段落式樣和段落的實際文字內容等。這里所述的Schema信息為一個URI,通過它可以定位到所述Schema。
從該文檔提取出格式描述數據(即XML實例),并可以用通用XML分析器“XP”根據上述中文辦公文檔格式Schema加以驗證。
廠商b開發的編輯工具Editor_b獲得Editor_a生成的文檔a.uof,并從文檔a.uof獲得Schema信息(見上述URI),并從中獲得uof.xsd、text.xsd、ss.xsd和pp.xsd等命名空間的定義;根據該Schema對文檔的格式描述和/或邏輯內容結構進行解析,得到所述文檔格式和/或用戶邏輯內容的編輯規則,正確理解了a.uof,引導用戶進行編輯,產生結果文檔b.uof。用戶在進行編輯時,可以對其進行修改,也可以不修改,修改時,可以修改其格式,如字體,也可以修改其內容,如刪去一個字或增加一個字。上述生成的文檔b.uof可以同樣按實施例一的驗證方法進行驗證,并將驗證通過的文檔交由Editor_a或其他工具進一步處理(如顯現或打印)。
最后所應說明的是,以上實施例僅用以說明而非限制本發明的技術方案,盡管參照上述實施例對本發明進行了詳細說明,本領域的普通技術人員應當理解依然可以對本發明進行修改或者等同替換,對于不脫離本發明的精神和范圍的任何修改或局部替換,其均應涵蓋在本發明的權利要求范圍當中。
權利要求
1.一種XML文檔處理方法,其特征在于,包括以下步驟步驟1、文檔編輯工具獲取文檔格式Schema和/或用戶邏輯內容Schema,所述文檔格式Schema和/或用戶邏輯內容Schema采用公開的命名空間進行定義;步驟2、所述文檔編輯工具根據獲取的所述文檔格式Schema和/或用戶邏輯內容Schema生成相應的文檔或對用戶已建立的文檔進行驗證。
2.根據權利要求1所述的XML文檔處理方法,其特征在于,在步驟2中所述文檔編輯工具根據獲取的所述文檔格式Schema和/或用戶邏輯內容Schema對文檔的格式描述和/或邏輯內容結構進行解析,得到所述文檔格式和/或用戶邏輯內容的編輯規則;所述文檔編輯工具根據解析得到的所述文檔格式和/或用戶邏輯內容的編輯規則生成相應的文檔。
3.根據權利要求1所述的XML文檔處理方法,其特征在于,所述步驟2中對用戶已建立的文檔進行驗證的過程為驗證所述用戶已建立的文檔是否符合步驟1中獲取的文檔格式Schema和/或用戶邏輯內容Schema,如不符合,作出提示。
4.根據權利要求1-3任一所述的XML文檔處理方法,其特征在于,在步驟1中所述的文檔編輯工具獲取文檔格式Schema和/或用戶邏輯內容Schema的方式為所述的文檔編輯工具在本地或遠程訪問并獲取作為共享資源的文檔格式Schema和/或用戶邏輯內容Schema。
5.根據權利要求4所述的XML文檔處理方法,其特征在于,所述遠程訪問方式為通過網絡路徑、URL地址或約定協議訪問。
6.根據權利要求1或2所述的XML文檔處理方法,其特征在于,在步驟2中,所述文檔編輯工具根據獲取的所述文檔格式Schema和/或用戶邏輯內容Schema生成相應的文檔后,所述文檔編輯工具提取該文檔的格式數據和/或內容數據,由通用的XML分析器根據用于生成該文檔的格式Schema和/或內容Schema進行驗證,以保證格式和/或內容數據的正確性。
7.根據權利要求1所述的XML文檔處理方法,其特征在于,在步驟1之前還包括所述文檔編輯工具獲取其他文檔編輯工具生成的文檔。
8.根據權利要求7所述的XML文檔處理方法,其特征在于,所述步驟1具體是所述文檔編輯工具根據所述其他文檔編輯工具生成的文檔的Schema信息獲取該文檔對應的文檔格式Schema和/或用戶邏輯內容Schema。
9.根據權利要求7或8所述的XML文檔處理方法,其特征在于,在步驟2中,生成相應的文檔后,所述文檔編輯工具提取文檔的格式數據和/或內容數據,由通用的XML分析器根據用于生成該文檔的格式Schema和/或內容Schema進行驗證,以保證格式和/或內容數據的正確。
全文摘要
本發明公開了一種XML文檔處理方法,文檔編輯工具獲取采用公開命名空間定義的文檔格式Schema和/或用戶邏輯內容Schema,確定文檔的格式描述方法和/或邏輯內容結構;所述文檔編輯工具根據所述文檔格式Schema和/或用戶邏輯內容Schema生成相應的文檔或對用戶已建立的文檔進行驗證。本發明使文檔編輯工具能夠共享XML Schema,從而使文檔可以在不同編輯系統中準確交換,使不同的文檔編輯工具可以充分理解其他文檔編輯工具產生的文檔;可以使文檔編輯工具擺脫格式描述方法的約束,與格式描述形式無關,方便文檔編輯工具的研制,具有較高的通用性、靈活性和實用性。
文檔編號G06F17/21GK1825302SQ20051000747
公開日2006年8月30日 申請日期2005年2月22日 優先權日2005年2月22日
發明者李寧 申請人:中國電子技術標準化研究所, 北京信息工程學院