一種復(fù)雜的XML格式之間轉(zhuǎn)換的解決方案_第1頁
一種復(fù)雜的XML格式之間轉(zhuǎn)換的解決方案_第2頁
一種復(fù)雜的XML格式之間轉(zhuǎn)換的解決方案_第3頁
一種復(fù)雜的XML格式之間轉(zhuǎn)換的解決方案_第4頁
一種復(fù)雜的XML格式之間轉(zhuǎn)換的解決方案_第5頁
免費預(yù)覽已結(jié)束,剩余3頁可下載查看

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、一種復(fù)雜的XML格式之間轉(zhuǎn)換的解決方案摘要:隨著網(wǎng)絡(luò)技術(shù)的迅速發(fā)展,越來越多的信息被以 XML文檔形式來交換。XML具有開放性、自描述性和平臺 無關(guān)性,近來己成為網(wǎng)上應(yīng)用系統(tǒng)間數(shù)據(jù)交換的標準。本文提生了一種復(fù)雜的XML格式之間轉(zhuǎn)換的通用解決方案,解決了商務(wù)通信系統(tǒng)中不同 XML格式文檔的數(shù)據(jù)轉(zhuǎn)換問題,使得行 業(yè)數(shù)據(jù)傳輸和表達按照行業(yè)規(guī)范自動分析和處理。關(guān)鍵詞:XML;格式轉(zhuǎn)換;文檔隨著互聯(lián)網(wǎng)應(yīng)用需求及其相關(guān)支撐技術(shù)的發(fā)展,XML1的元語言特性及其本身良好的結(jié)構(gòu)性使它成為互聯(lián)網(wǎng)異構(gòu) 環(huán)境中各種不同類型和不同領(lǐng)域數(shù)據(jù)相互交換的開放標準。XML格式之間的轉(zhuǎn)換是 XML技術(shù)領(lǐng)域內(nèi)的一個比較常見, 且又

2、是一個很重要的題。 即使是在同一個行業(yè)的內(nèi)部,數(shù)據(jù)文 檔的XML Schema之間的差距也非常大。企業(yè)信息系統(tǒng)的集 成,數(shù)據(jù)信息的交換等都需要進行XML數(shù)據(jù)格式之間的轉(zhuǎn)換工作。本文提供一種更適合于解決復(fù)雜的XML格式之間轉(zhuǎn)換的解決方案。該方案成功的解決了PDF的XAF文件格式,FileNet表單文件格式到 舊M Lotus Forms表單文件格式的 轉(zhuǎn)換工作。1 一種XML格式之間轉(zhuǎn)換的構(gòu)架不同XML格式之間的轉(zhuǎn)換工作是常見而又非常重要 的。在IT領(lǐng)域,為了解決這一問題,各種新方法、新技術(shù)層由 不窮。比如利用 XSLT4等技術(shù)進行XML數(shù)據(jù)格式的轉(zhuǎn) 換,XSLT(Extensible Styl

3、esheet Language Transformations)是一 種基于XML的一種語言,用以將一種XML格式數(shù)據(jù)轉(zhuǎn)換為 另一種XML格式數(shù)據(jù),也可以轉(zhuǎn)換成任意其它格式的數(shù)據(jù)。 而對于復(fù)雜轉(zhuǎn)換經(jīng)常是困難的,甚至是不可能的。又比如 RDF/RDFS/OWL技術(shù)(XML Schema是用來定義 XML文檔結(jié) 構(gòu),而RDFS/OWL(本體描述語言)則定義了文檔詞匯,提供了 一種共同的理解)。本文提由了一種 XML格式之間轉(zhuǎn)換的方 案構(gòu)架。如圖1所示。圖1 XML格式轉(zhuǎn)換框架原文件(XML格式)通過解析器(Parser)解析生成數(shù)據(jù)信 息,并存儲在數(shù)據(jù)模型里。數(shù)據(jù)模型是整個構(gòu)架的核心部分。數(shù)據(jù)模型

4、主要是基于目標文件的 XML Schema2而構(gòu)建的, 也可以基于目標 XML文件的領(lǐng)域知識構(gòu)建。它可以是普通 的數(shù)據(jù)模型,也可以是基于 EMF(Eclipse Modeling Framework)的數(shù)據(jù)模型。在對原 XML文件進行解析的過程中,解析器要根據(jù)基于原文件和目標文件的 XML Schema文件而生成的映射表中的信息,做相應(yīng)的解析優(yōu)化處理。在輸由目標XML文件之前,優(yōu)化器和轉(zhuǎn)換規(guī)則先后對數(shù) 據(jù)模型中的數(shù)據(jù)信息進行相應(yīng)處理。配置文件在構(gòu)架中的作 用是用來管理優(yōu)化器和轉(zhuǎn)換規(guī)則的。用戶可以根據(jù)業(yè)務(wù)邏輯 的需要通過配置文件來定制優(yōu)化器和轉(zhuǎn)換規(guī)則??梢钥从蛇@ 種解決方案的簡單靈活性,可復(fù)用性

5、和可擴展性。只需為不同 的原文件提供一個解析器就擴展了構(gòu)架的應(yīng)用。2構(gòu)建XML格式轉(zhuǎn)換的數(shù)據(jù)模型2.1模板及其性質(zhì)數(shù)據(jù)模型是用來存儲解析進來的數(shù)據(jù)信息的 ,它是構(gòu)架 的核心部分。目前有兩種構(gòu)建數(shù)據(jù)模型的辦法:普通的數(shù)據(jù)模 型和基于EMF技術(shù)構(gòu)建的數(shù)據(jù)模型。普通的數(shù)據(jù)模型是應(yīng)用普通的Java類來構(gòu)建,主要是基于目標文件的領(lǐng)域知識,通常是結(jié)構(gòu)化的數(shù)據(jù)模型。 這種模型 構(gòu)建的優(yōu)點是簡單、通用,主要的缺點是需要構(gòu)建輸由模塊從 而把模型中的信息輸由為滿足目標XML Schema的XML文件。圖2顯示了在電子表單領(lǐng)域中應(yīng)用的結(jié)構(gòu)化數(shù)據(jù)模型片 段。圖2電子表單領(lǐng)域的結(jié)構(gòu)化數(shù)據(jù)模型片段基于EMF技術(shù)構(gòu)建數(shù)據(jù)模

6、型的技術(shù)已經(jīng)相當(dāng)成熟。我 們主要應(yīng)用目標文件的 XML Schema來構(gòu)建EMF數(shù)據(jù)模型。 基于EMF的數(shù)據(jù)模型具有事件通知機制和持久化方面的支 持。因此,模型帶來的最大的好處就是開發(fā)者不必自己動手構(gòu) 建輸由模塊。模型的構(gòu)建是XML格式之間轉(zhuǎn)換的關(guān)鍵。構(gòu)建的模型 應(yīng)當(dāng)滿足應(yīng)用程序的需求(對照映射表,模型要完全支持原文 件中的可匹配信息,不要求模型囊括相關(guān)領(lǐng)域的所有通用知 識,但模型提供給原文件解析器的API應(yīng)該簡單易用,模型要具有高可擴展性和良好的可維護性。3優(yōu)化器(Optimizers)在解析原XML文件中的應(yīng)用當(dāng)原XML文件中的信息被解析進來,并存儲在已經(jīng)建立 的數(shù)據(jù)模型里,此時的數(shù)據(jù)模型

7、稱為原始數(shù)據(jù)模型,模型里面 的數(shù)據(jù)信息稱為原始數(shù)據(jù)信息。我們根據(jù)目標XML文件的特性,需要對原始數(shù)據(jù)信息進行優(yōu)化處理。 可以根據(jù)需要創(chuàng)建 若干個 Optimizers。根據(jù)電子表單領(lǐng)域的實際需要,我們創(chuàng)建了很多Optimizers。舉例如下:(a)線(Line)的對齊、連接,如圖4所示:我們通過對以上Optimizers的應(yīng)用,使得PDF文件的轉(zhuǎn) 換效果更佳。事實上,優(yōu)化器的開發(fā)應(yīng)用取決于兩種格式文件之間的 可匹配的程度。如果兩種文件的可匹配性很高,基本上不用開 發(fā)優(yōu)化器。反之,為了使數(shù)據(jù)平滑輸由,需要根據(jù)業(yè)務(wù)邏輯的 需要進行相應(yīng)的優(yōu)化處理。此外,如果莫種原文件的解析器需要用戶通過UI配置一些

8、解析參數(shù)的話,我們也可以提供 Parser階段應(yīng)用的“Optimizers”。舉例來說,原XML文件的莫個元素和可匹配 的目標XML文件的相應(yīng)元素是一對多的關(guān)系,那么Parser的解析就有了多種選擇。 這時候,讓用戶進行選擇似乎是最合理 的解析策略了。4轉(zhuǎn)換規(guī)則在生成目標 XML3文件格式中應(yīng)用數(shù)據(jù)模型里面的信息經(jīng)過優(yōu)化后,就可以輸生或者序列化為滿足目標 XML Schema的數(shù)據(jù)文件。在這個過程中,我們 又可以根據(jù)用戶的轉(zhuǎn)換要求執(zhí)行一些通用的轉(zhuǎn)換規(guī)則。比如 在電子表單領(lǐng)域,用戶經(jīng)常有這樣的轉(zhuǎn)換要求:對轉(zhuǎn)換后的電 子表單文件,要求統(tǒng)一更改標簽(Label)的前景顏色(Font color),統(tǒng)

9、一更改頁面(Page)的背景顏色(background color),所 有轉(zhuǎn)換后的文件都要加入一個標準的包含企業(yè)標志(Logo)的Toolbar模版等等。這些轉(zhuǎn)換要求可以以轉(zhuǎn)換規(guī)則的形式存 在。用戶可以開發(fā)定制并應(yīng)用自己的轉(zhuǎn)換規(guī)則來批量轉(zhuǎn)換原 文件。對比Optimizers,我們知道轉(zhuǎn)換規(guī)則主要是針對目標文 件的通用操作的。用戶對目標文件的常用的操作都可以以 Rules的形式存在于轉(zhuǎn)換框架里,極大的豐富了格式轉(zhuǎn)換的框 架。5應(yīng)用配置文件管理 Optimizers和Rules配置文件就是一個 XML格式的文件,用以持久化管理所 有的Optimizers和Rules。用戶可以通過定制Optimi

10、zers和Rules來配置自己的Profile(通常情況下,每一種原文件的解析 器都對應(yīng)一個缺省默認的Profile o系統(tǒng)還為所有解析器(包括用戶定制的解析器,既第三方解析器)提供了一個可擴展的通 用的Pro萬le)。在轉(zhuǎn)換的過程中,需要加載Profile,進而應(yīng)用里 面的優(yōu)化器和轉(zhuǎn)換規(guī)則來對數(shù)據(jù)模型進行深入處理,從而完成轉(zhuǎn)換工作。清單1,給由了 Profile文件的示例片段xmlns:xsi="http:/2001/XMLSchema-instance"xsi:schemaLocation="http:ProfileSchema.xsd &

11、quot;>com.ibm.conversion.demo.eform.form2Sample .form Profile form com.ibm.conversion.demo.eform.optimizer.FAlignOptimizer yescom.ibm.coversion.demo.eform.rule.ChangeAppearance noXML使得不同應(yīng)用系統(tǒng)間能夠方便地交換數(shù)據(jù),從而實現(xiàn)異構(gòu)系統(tǒng)的集成。本文提供了一種復(fù)雜的XML格式之間轉(zhuǎn)換的通用解決方案。該方案的主要特點是構(gòu)架靈活、可擴 展,可以用來解決復(fù)雜文件格式的轉(zhuǎn)換問題。用戶只要為非XML格式的文件寫一個解析器

12、,XML格式轉(zhuǎn)換的問題就會迎刃而解。用戶根據(jù)模型里的數(shù)據(jù)信息,為莫一特殊文件格式寫 一個輸由器(Output Writer),任何兩種文件格式的轉(zhuǎn)換問題都 可以基于文中框架來解決了。由于以 XML為基礎(chǔ)的數(shù)據(jù)轉(zhuǎn) 換大大降低了數(shù)據(jù)轉(zhuǎn)換的復(fù)雜程度,因此其應(yīng)用領(lǐng)域?qū)S著英特網(wǎng)技術(shù)和 XML技術(shù)的發(fā)展而不斷得以推廣,XML也 將成為在Internet上的信息交換的重要工具。參考文獻1Deutsh A,et al.A query language for XMLJ.Computer Networks 31(May),1155-1169.2XMLSehema1.1 Partl:Structures, W3C Working Draft 31Augus

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論