XML專題
XML是目前最流行的W eb技術之一,你可以在所有關于W eb的讀物上看到它的蹤跡(關于XML的簡要介紹可以參看拙著《XML驚鴻一瞥》,中華讀書報2001年4月4日第13版)。微軟的CEO史蒂夫·鮑爾默說過:XML的出現對于信息技術的影響將不亞于GUI(Graphic User Interface,圖形用戶界面)和瀏覽器。XML技術在中國目前階段的應用還不廣泛,但它是信息技術發展的潮流,必將在電子商務、電子政務等各個方面發揮突出的作用。
但是XML對于初學者來說簡直像是天書:它的規則非常簡明同時又是可以擴展變化的,沒有傳統意義上程序語言的語法和函數、沒有直觀的顯示界面……這就好像是數學上的1+1,它是所有運算的基礎,但并不等于知道1+1就能夠解開歌德巴赫猜想,掌握了XML的基本規則離能夠運用XML還有相當的距離。
從哪里入手?如果沒有《XML實用大全》(中國水利水電出版社,2000年4月,IDG Boo ks),我恐怕至今還在彷徨。《XML實用大全》和其他關于XML的書籍不同,它不是從軟件開發者的觀點出發,而是從W eb頁面編寫者的觀點出發,向讀者說明如何使用XML和目前已有的工具來更有效地創建Web站點。作者在用了11頁的篇幅講述了XML的概況之后,很快就引入了XML應用,這對于初學者來說解開了很多心頭的疑惑,看到了XML不僅僅是理念的技術,它已經被應用到信息技術中,使很多過去不可能實現的東西變成了現實。然后作者才開始講述XML的具體技術。
從數據的結構化、XSL、結構完整性到DTD、XLink、XPointer、NameSpace、RDF、XHTML等等,每一方面的技術都結合了實例講解,對于學習者來說是非常好的教材。但不可否認的是,這本書仍然有相當的缺陷,比如說作者的應用實例篇幅過長不具有代表性,再比如說有很多過時的內容花費了大量的篇幅而對于相應的新技術卻沒有提及———如耗費了120頁講述DTD,對于W3C已經推薦的、符合XML規則的Schema卻只字未提,再如沒有介紹XPath、XSLT、SOAP,還有讓人感到不懌的是作者居然花上130多頁大段抄錄XHTML的文檔定義,等等———這些可能是由于本書的出版時間比較早的緣故。作者Elliotte Rusty Harold本人至今對此書非常滿意,不過他最近又和W. Scott Mean s合著了XML In A Nutshell(OReilly出版社,2001年1月),相信在新技術方面會有所補充,不過可惜我至今沒有看到此書。
如果只是用于W eb站點,《XML實用大全》中介紹的知識已經差不多了。可是XML更廣闊的應用領域是分布式計算,所以如果你想學習更深入的XML知識,《XML高級編程》(機械工業出版社,2001年1月)將是你最好的選擇。《XML高級編程》是W ro x的產品,質量就不用我多說了,這本書無論是從廣度還是深度上來說都是高級程序員的首選。
XML不是孤立的技術,如果你是某特定語言的程序員,也已經有相應的圖書可供選擇:Visual Basic方面有《Visual Basic 6 XML專業技術》(人民郵電出版社,2000年12月,W rox出品),Jav a方面有《Java XML編程指南》(電子工業出版社,2001年4月,Wrox產品)和《Java與XML》(中國電力出版社,2001年4月,OReilly出品)。此外還有數據庫方面的《Oracle XML開發手冊》(機械工業出版社,2001年1月,Orac le技術系列叢書)、《Micro soft SQL Server 2000 XML和Internet支持》(科學出版社,2000年10月,MS Press)等等。
翻弄著自己買的一堆XML方面的圖書我想:學習XML技術不是要閱讀所有的相關圖書,關鍵要找到適合自己水平和技術發展方向的圖書———這是一個入門者對于初學者的忠告。