XML實(shí)用工具百寶箱
作為互聯(lián)網(wǎng)的新技術(shù),XML的應(yīng)用非常廣泛,可以說XML已經(jīng)滲透到了互聯(lián)網(wǎng)的各個角落。隨著XML技術(shù)本身的成熟和應(yīng)用領(lǐng)域的不斷擴(kuò)大,相關(guān)的工具也如雨后春筍不斷地被開發(fā)出來。下邊筆者就為各位介紹現(xiàn)有的、較有代表性的XML的實(shí)用工具。
一. XML瀏覽工具
1. Internet Explorer
相信大家對IE都十分熟悉,它是Micorsoft公司開發(fā)的Web瀏覽器,是當(dāng)今兩大主流瀏覽器之一。IE最先支持XML,支持命名空間,并在IE 5.0開創(chuàng)了XML+CSS、XML+XSL的Web瀏覽方式,使得瀏覽XML網(wǎng)頁終于夢想成真。
不過IE對CSS的支持已經(jīng)落后于后面將要介紹的Mozilla Firefox瀏覽器了。
IE版本升級到 6.0后,其對XSLT 1.0標(biāo)準(zhǔn)提供完全的支持。
IE可以直接加載不包含樣式信息的XML文檔。這時,瀏覽器將顯示外觀良好的樹形結(jié)構(gòu),并帶有小小的+- 圖標(biāo),點(diǎn)擊圖標(biāo),可以將子樹隱藏或展開。實(shí)際上,這就是IE的缺省樣式單。通過缺省樣式單,可以快速查看別人的XML文檔,并能獲得對XML文件的內(nèi)容和結(jié)構(gòu)的感性認(rèn)識。
IE本身是不支持XML文檔的有效性檢查的。為此,微軟還提供了一個稱為IE Tools插件,安裝了這個插件后,在IE的右鍵菜單中就增加了Validate XML和View XSL Output兩個功能菜單。
IE自身不支持SVG格式文件的顯示,如果需要使用IE顯示SVG格式文件,必須用戶自行安裝Adobe 公司提供的一個SVG瀏覽器插件 SVG Viewer。
2. Mozilla Firefox
Firefox是由Mozilla基金會(Mozilla Foundation)旗下主推的一款Web瀏覽器。Mozilla基金會起源原來的網(wǎng)景公司內(nèi)部的一個稱為Mozilla組織。網(wǎng)景公司的著名Web瀏覽器NetScape Navigator在其公司內(nèi)部一直都被稱為Mozilla,后來由于和微軟公司的IE瀏覽器的競爭中失敗,網(wǎng)景公司關(guān)閉,將所有業(yè)務(wù)轉(zhuǎn)給非盈利的Mozilla組織,并最終建立Mozilla基金會。
Firefox 是一種相對較新的 Web 瀏覽器,目前是基于 Mozilla 平臺的最流行的瀏覽器。它的成長速度異??焖?,并且它是開放源碼軟件取得成功的代表。Firefox承諾為 XML 開發(fā)人員提供完善的Web瀏覽器,幫助推動在Web上發(fā)展緩慢的客戶端XML特性的采用。必須要記住,目前很多Web技術(shù)的發(fā)展,包括Firefox瀏覽器特性的發(fā)展,都使得Web瀏覽器逐漸發(fā)展為完整的專用應(yīng)用程序開發(fā)平臺,而不再是簡單的Internet瀏覽工具。
Firefox 不支持DTD驗(yàn)證或其他任何驗(yàn)證技術(shù),如 W3C XML Schema (WXS) 或 RELAX NG。
Mozilla系列的瀏覽器一向都對CSS技術(shù)具有良好支持。Firefox支持CSS2的大部分內(nèi)容,并對CSS3的提供了更多支持。雖然CSS3 目前仍處在 W3c 工作草案階段,但是因?yàn)镃SS3采納了 Web 開發(fā)人員迫切需要解決的很多問題,包括對 XML 結(jié)構(gòu)更好的支持。所以Firefox對CSS3的支持是很有價值的。
Firefox提供可縮放向量圖形(SVG)的自身支持,不過只對SVG 1.1 Full 的一個子集的支持。相對于其他的瀏覽器而言,Mozilla Firefox是對SVG支持力度最大的一款瀏覽器了,無需安裝SVGViewer插件就能顯示SVG格式文件。
Mozilla Firefox全方面的支持XML相關(guān)標(biāo)準(zhǔn),包括支持CSS、XSLT、命名空間、Xlink、Xpoint、MathML、Xform以及部分SVG等標(biāo)準(zhǔn)及規(guī)范,并因?yàn)槠鋵OM有很好的底層支持,而使得XML變得真正可用。
3. W3C的試驗(yàn)基地——Amaya
值得一提的是W3C的試驗(yàn)系統(tǒng)Amaya,可能很多讀者對它都不熟悉。Amaya是W3C自行開發(fā)的網(wǎng)頁工具,既可以作為XML瀏覽器,也可以作為XML編輯器,且具有所見即所得的界面風(fēng)格。
開發(fā)Amaya的目的是要建造一個W3C提出的草案或標(biāo)準(zhǔn)的“試驗(yàn)基地”,因此,它對XML及各項(xiàng)草案和標(biāo)準(zhǔn)的支持最新,也較為全面。目前Amaya已經(jīng)發(fā)展到10.0版本,支持HTML、XHTML、MathML、部分SVG和CSS,可能是支持網(wǎng)頁標(biāo)準(zhǔn)最多的一個瀏覽器。
#p#
二. XML編輯工具
1.XML Spy
Icon Information-Systems公司的產(chǎn)品,提供集成開發(fā)環(huán)境IDE,但不支持所見即所得。支持Unicode、多字符集,支持格式良好的和有效的XML文檔??删庉媂ML文檔、DTD、schema,以及XSLT。
XML Spy提供了四種視窗:結(jié)構(gòu)視窗以樹形結(jié)構(gòu)編輯XML文檔(包括XML、XSL、DTD文檔);增強(qiáng)表格視窗以表格的方式顯示出文檔中元素的數(shù)據(jù)庫項(xiàng);源代碼視窗可以查看和修改文檔源碼;預(yù)覽視窗采用內(nèi)嵌IE5的方式在軟件內(nèi)對XML文檔進(jìn)行瀏覽,支持CSS和XSL。
XML Spy可運(yùn)行在Windows95982000和WindowsNT環(huán)境。
2.VisualXML
由Pierre Morel開發(fā),以樹形結(jié)構(gòu)顯示XML、DTD、DOM文檔;實(shí)現(xiàn)同數(shù)據(jù)庫的集成,并可通過Wizard方式進(jìn)行數(shù)據(jù)庫的瀏覽、SQL語句和存儲過程的創(chuàng)建和執(zhí)行;以圖形界面實(shí)現(xiàn)XML元素同數(shù)據(jù)庫對象的綁定,同時創(chuàng)建XML文檔和DTD文檔;支持多種數(shù)據(jù)庫,如Oracle、Access、SQL Server、Informix、Sybase、DB2。
該軟件的運(yùn)行環(huán)境是Java (JDK 1.1)。
3.EditML
EditML Technologies開發(fā)的產(chǎn)品,是Windows平臺上的XML編輯器,可以用于創(chuàng)建有效的及格式良好的XML數(shù)據(jù)文檔,Schema文檔或者XSL樣式單。它使用Microsoft的MSXML分析器,遵守W3C的XML1.0標(biāo)準(zhǔn)。
#p#
三. XSL編輯工具
1. Excelon Stylus
是eXcelon公司開發(fā)的第一個可視化XSL編輯軟件。
eXcelon Stylus是一個面向XSL編輯,集創(chuàng)建、管理、保存于一體的集成環(huán)境,使用它用戶可以快速、簡便地創(chuàng)建XSL樣式單,并可以很方便地進(jìn)行調(diào)試。使用Stylue可以進(jìn)行XML商務(wù)開發(fā)。
2.IBM XSLEditor
IBM公司的alphaworks開發(fā),是交互式XSL編輯軟件,支持XSLT與XPath。有四個主要的窗口完成XML編輯、XSL編輯、結(jié)果樹顯示和XPath匹配。
該軟件要在JAVA環(huán)境中運(yùn)行,要求安裝有JDK1.1版本。
#p#
四. XML分析工具
XML分析器承擔(dān)著對XML文檔處理的第一道處理工序,它將XML文檔中的數(shù)據(jù)提取出來,組織成樹狀結(jié)構(gòu),再送到應(yīng)用處理程序、瀏覽器等后期工序中去。
使用標(biāo)記的關(guān)鍵因素
首先,必須有一個標(biāo)準(zhǔn),用它來描述什么是有效的標(biāo)記。在上面例子中,標(biāo)記行為使用被定義為在文字上的黃色熒光墨水印跡。而在HTML中,標(biāo)記行為使用就是所謂的“標(biāo)簽”(tag)。
其次,還要有一個標(biāo)準(zhǔn)描述每個標(biāo)記行為的具體含義。上面例子中的黃色熒光加亮標(biāo)記意味著被加亮的句子很重要。而在HTML中,每一個標(biāo)簽都表明了一種顯示的格式。
XML分析器可以分為兩類
支持有效性檢查的分析器:此類分析器在檢查文檔是否符合"格式良好的"基本要求的基礎(chǔ)上,進(jìn)一步結(jié)合DTD檢查文檔是否符合DTD中對文檔結(jié)構(gòu)的規(guī)定,判定這個文檔是否是"有效的"。分析器必須讀入并分析出整個DTD,外加XML文檔中所有的外部已分析的實(shí)體引用。并報告出文檔與DTD聲明相沖突的地方,以及不滿足DTD有效性約束的地方。
不支持有效性檢查的分析器:這一類分析器只負(fù)責(zé)檢查XML文檔是否滿足格式良好的語法規(guī)定,包括XML文檔中內(nèi)含的內(nèi)部DTD文檔是否滿足格式良好的規(guī)定。此類分析器不會對XML文檔所引用的外部DTD文檔進(jìn)行分析、進(jìn)而檢查XML文檔的有效性,但對于出現(xiàn)在XML文檔內(nèi)部的DTD子集,卻仍舊需要進(jìn)行部分分析,因?yàn)樵趯Ω袷搅己玫奈臋n進(jìn)行分析時需要使用內(nèi)部DTD聲明中的信息,包括使用內(nèi)部實(shí)體替換正文、提供缺省屬性值等。
無論是哪一類分析器,都要求檢測文檔或已分析實(shí)體是否有與格式良好的XML文檔定義相互沖突的地方。
1. IBM XML4J
目前,大多數(shù)XML分析器都是免費(fèi)的,一些大的公司,如Microsoft、IBM、DataChannel、Textuality等,都根據(jù)當(dāng)前的官方推薦標(biāo)準(zhǔn)(DOM)以及一些民間事實(shí)標(biāo)準(zhǔn)(SAX)開發(fā)了自己的XML分析器,并提供免費(fèi)下載。其中首推的當(dāng)屬IBM XML4J。
IBM公司的XML4J完全是用JAVA開發(fā)的,它曾經(jīng)是功能比較全面且支持有效性檢查的XML分析器之一。它遵守XML1.0標(biāo)準(zhǔn)、最新的DOM、SAX、命名空間的標(biāo)準(zhǔn),提供多語種支持,支持XML的有效性檢查,支持元素識別、DOM創(chuàng)建、錯誤處理等。
除此以外,IBM還用C 編寫了XML分析器,稱為XML4C。
2. Xerces
Xerces是Apache 軟件基金會(Apache Software Foundation)的XML項(xiàng)目的一部分,它分別使用Java、C++和Perl編寫了XML的分析器,也支持有效性檢查。使用Java編寫的XML分析器被稱為Xerces-J。使用C++編寫的XML分析器被稱為Xerces-C或Xerces-C++。
Xerces的前身是 IBM 的XML項(xiàng)目,其中XML4C 和 XML4J 是兩個并列的項(xiàng)目,而 XML4J 是Xerces-J的前身。IBM 將這兩個項(xiàng)目的源代碼讓與 Apache 軟件基金會,Apache 軟件基金會將其分別改名為 Xerces-C++ 和 Xerces-J。這兩個項(xiàng)目是 Apache XML 項(xiàng)目組的核心項(xiàng)目。
Xerces-J 2.0以后的版本也被稱為Xerces2-J。
3. Oracle的XML Parser
Oracle的XML分析器同樣是使用Java編寫,它支持通過SAX或DOM進(jìn)行XML文檔的語法分析,可以選擇是否對文檔的有效性進(jìn)行檢查。Oracle 在用于 Java、C、C++ 和 PL/SQL 的XML開發(fā)者工具箱(XML Developer's Kits,XDK),中提供了 XML 分析器。每個分析器都是獨(dú)立的 XML 組件,這些組件分析 XML 文檔(或獨(dú)立的 DTD),以便應(yīng)用程序能夠?qū)ζ溥M(jìn)行處理。分析器支持 DOM(文檔對象模型)和 SAX(XML 的簡單 API)接口、XML 命名空間、驗(yàn)證和非驗(yàn)證模式以及 XSL 轉(zhuǎn)換。在所有 Oracle 平臺上都可以獲得這些分析器。
4. Microsoft的MSXML
微軟XML分析器已經(jīng)內(nèi)嵌入IE4和IE5及以上版本,它的發(fā)布實(shí)際上早于XML1.0版本的最終頒布。MSXML支持一般的語法檢查,但同時也提供有效性檢查供選擇,它利用JAVA將一個XML文檔中的數(shù)據(jù)組織為樹型結(jié)構(gòu)。MSXML的最新版本為MSXML 4.0 Service Pack 2 (Microsoft XML Core Services)?! ?.expat
expat是James Clark實(shí)驗(yàn)室的開發(fā)項(xiàng)目,用C寫成,目前正嘗試用于Netscape Nevigator 5和Perl中,以便在Netscape的下一個版本中對XML提供支持。
5. JDOM
JDOM是一個開源項(xiàng)目,它基于樹型結(jié)構(gòu),利用純Java的技術(shù)對XML文檔實(shí)現(xiàn)解析、生成、序列化以及多種操作。
JDOM 直接為Java編程服務(wù)。它利用更為強(qiáng)有力的Java語言的諸多特性(方法重載、集合概念以及映射),把SAX和DOM的功能有效地結(jié)合起來。在使用設(shè)計上盡可能地隱藏原來使用XML過程中的復(fù)雜性。利用JDOM處理XML文檔將是一件輕松、簡單的事。
JDOM 在2000年由Brett McLaughlin和Jason Hunter發(fā)布,以彌補(bǔ)DOM及SAX在實(shí)際應(yīng)用當(dāng)中的不足之處。這些不足之處主要在于SAX沒有文檔修改、隨機(jī)訪問以及輸出的功能,而對于DOM來說,Java程序員在使用時來用起來總覺得不太方便。DOM的缺點(diǎn)主要是來自于DOM是一個接口定義語言(IDL),它的任務(wù)是在不同語言實(shí)現(xiàn)中的一個最低的通用標(biāo)準(zhǔn),并不是為Java特別設(shè)計的。
6. DOM4J
DOM4J是dom4j.org出品的一個開源XML解析包,它的網(wǎng)站中這樣定義:Dom4j是一個易用的、開源的庫,用于XML,XPath和XSLT。它應(yīng)用于Java平臺,采用了Java集合框架并完全支持DOM,SAX和JAXP。
雖然DOM4J代表了完全獨(dú)立的開發(fā)結(jié)果,但最初,它是JDOM的一種智能分支。它合并了許多超出基本XML文檔表示的功能,包括集成對XPath支持、XML Schema 支持以及用于大文檔或流化文檔的基于事件的處理。它還提供了構(gòu)建文檔表示的選項(xiàng),它通過DOM4J API和標(biāo)準(zhǔn)DOM接口具有并行訪問功能。
為支持所有這些功能,DOM4J使用接口和抽象基本類方法。DOM4J大量使用了API中的collections 類,但是在許多情況下,它還提供一些替代方法以允許更好的性能或更直接的編碼方法。直接好處是,雖然DOM4J付出了更復(fù)雜的API的代價,但是它提供了比JDOM大得多的靈活性。
7. 其他XML分析器
除了前面講到的種種支持有效性檢查的分析器外,不少公司還開發(fā)了“中級版本”。這些分析器雖然并不支持有效性分析,但因?qū)?ldquo;格式良好的”種種規(guī)則的檢查充分而富有特色,也是不錯的分析器。
#p#
五. 圖形應(yīng)用工具
1.IBM SVGViewer
IBM公司alphaworks開發(fā),該軟件的主要功能有:基本圖形、路徑(Path)、圖形勾邊(Stroke)、圖形填充(fill)、文字字體字號、字的輪廓填充、圖象、Path裁剪、鏈接、對象成組。
該軟件在運(yùn)行時要安裝JAVA2.0以上的運(yùn)行環(huán)境和IBM的XML4J XML分析器。
2.CSIRO SVG Viewer
由CSIRO開發(fā),對圖形的支持較好,對SVG的支持功能有基本圖形、路徑(Path)、圖形勾邊(Stroke)、圖形填充(fill)、文字的字體字號、圖象、Path裁剪、鏈接、對象成組、嵌入JavaScript。
3.支持SVG的其他工具
Corel公司的CorelDraw9.0配備了SVG的過濾器,可生成含有SVG的網(wǎng)頁。
Adobe Illustrator9.0也支持SVG。
Adobe公司開發(fā)出兩大主流瀏覽器IE和Netscape的SVG插件。
#p#
六. WAP應(yīng)用工具
1. UP.SDK for WML
由Phone.com提供的,支持WML1.1。UP.SDK包含有文檔說明、工具和編碼樣例,幫助開發(fā)者在Phone.com 的UP.Link 平臺上開發(fā)WAP應(yīng)用程序。
在該開發(fā)包中還有一個UP模擬器,可以模擬手持設(shè)備上網(wǎng)。
該開發(fā)包的運(yùn)行平臺是 Windows 9598及Windows NT 4.0。
2.Nokia WAP開發(fā)包
由Nokia提供的WML開發(fā)包,由兩部分組成, WML編輯器和Nokia手機(jī)的模擬器,可以邊調(diào)試邊顯示。
軟件的運(yùn)行環(huán)境是JAVA,對中文有所支持。
3.Wappage
由Wapmine.com公司開發(fā),是一個交互式的所見即所得WML編輯軟件。支持項(xiàng)目管理,并有多個視窗方便用戶編輯。用戶不需要知道詳細(xì)的WML標(biāo)記就可以進(jìn)行操作,也允許直接修改WML代碼。對于Card的管理也用樹形結(jié)構(gòu)表示。
該軟件的運(yùn)行平臺是Windows9598NT。
#p#
七. 電子出版工具
1. Microsoft Reader
Microsoft開發(fā)出的一種專門的eBook閱讀軟件Microsoft Reader,支持OEB1.0。
Reader的最大特色就是首次使用了Microsoft對于字符顯示的研究新成果ClearType,它是一種能使文字在顯示器上的顯示效果象印在紙上一樣平滑清晰的字符技術(shù)。
2.ReaderWorks standard
ReaderWorks.com推出的支持Microsoft Reader的軟件,它可以生成Reader可讀的文件格式,可將HTML、TXT等格式文件轉(zhuǎn)換為Reader格式,讓用戶生成自己的eBook。
附言:以上就是筆者為你匯總的現(xiàn)有的各種XML實(shí)用工具,如有遺漏或者最新版本,還望補(bǔ)充!
【編輯推薦】