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