使用XSLT進行XML應用程序開發和轉換是一個復雜的過程,尤其是在您沒有使用正確的工具時。Butterfly XML IDE是一個開放源代碼工具,它所具有的多種特性,比如利用選項卡打開多個文檔、元素完成,以及測試XSL轉換等,都能夠極大地提高進行XML開發的效率。
Arthur C. Clarke的第三定律是:“任何重要的高深技術都和魔術是一樣的(any significantly advanced technology is indistinguishable from magic)”,退一步說,這是一個非常有趣的說法。這種說法確實解釋了我們能夠接觸到的一些有趣的技術,但是它沒有能夠揭示為什么人們會對任何新鮮事物產生恐懼感。
Terry Pratchett,《Discworld》系列叢書的作者,則總結這樣一條定律:“任何重要的高深魔術都和技術是一樣的(any significantly advanced magic is indistinguishable from technology)”,這種說法倒是一個比較接近的答案。
所有這些都讓我不得不提出一個疑問,一旦您完全弄懂了這些形而上學的東西,那什么是魔術呢?
我支持的觀點是,魔術只不過是能夠做一些別人無法做到的事情。想想有一個人,比如小丑;我認為小丑能夠把動物氣球吹起來就是一種魔術。為什么呢?因為即使是在心情不錯的日子里,我都無法把這些薄薄的氣球吹起來。當然,也許小丑對于我能夠做到的一些事情報以同樣的想法,但是我從來沒有問過他們。事實上,我很害怕問他們,因為如果知道一個小丑能夠和我一樣很好地完成我所做的工作,這將是一件很難堪的事情。
有些事情有的人可以做到而別的人無法做到,這其中的原因可能有兩個。第一個是技能。小丑去讀小丑學院,他們在那里花時間學習如何吹動物氣球。而我就跟小丑一樣在大學里花時間學習如何弄到根密碼。第二個是工具。小丑可以使用小巧的打氣筒吹氣球而不用把肺吹炸,而我就需要問一問小丑在哪里可以弄到打氣筒。
吹動物氣球的方法同樣可以用在其他方面。拿XSLT舉個例子吧,唯一的方法的就是不斷練習。通過嘗試進行各種轉換,您可以熟練地掌握這門語言。但是,和吹動物氣球不同的是,吹氣球的工具大多數人都負擔得起,而使用XSLT所需要的工具則相當昂貴。有的XML開發套件的標價可以接近1,000.00美元,這可能影響到您的開發預算。
但是,有一個叫做Butterfly XML的開放源代碼替代產品。我不知道您對它的評價是什么樣的,但是我認為開放源代碼的XML IDE非常好用。
雖然Butterfly XML還遠不是一個非常精致的產品,但是它畢竟是一個beta版的產品;它肯定能夠完全取代我以前學習XML和XSLT時用到的工具?;仡^看一看,我只是用記事本和MSXML就學習了所有的東西,這真是一個奇跡!我的意思是說,除了學到的知識,其他的東西簡直太糟糕了。Butterfly XML(beta版)還存在一些小的錯誤,但不影響使用,我都列出來的了:
雖然上面列出來的問題在某些人看來是不能接受的,尤其是那些荷包暖和,喜歡使用商業軟件的人。我卻不這么認為。我覺得Butterfly XML是一個很年輕的產品,雖然還不夠成熟,但是它的長處超過了它的短處。那么,就讓我們來看看它的一些長處吧。
圖A是初始頁面,其中有最近打開的文檔列表。
圖A |
|
初始 |
對于熟悉其他XML開發工具包的人來說,這個用戶界面相當標準。其中有喜歡一次打開多個文檔的人非常熟悉的選項卡。這意味著當我不記得需要源代碼文檔里的哪個節點時,我需要做的只不過是點擊選項卡進行查看就行了,如圖B所示。
圖B |
|
Butterfly XML里的多個文檔 |
一直在使用文本編輯器而不是其他XML IDE的開發人員會發現Butterfly XML的元素完成既讓人愛又讓人恨。但是讓人恨的東西會很快被解決和替換,因為人們已經通過切身的開發體會到了其中的痛苦,現在Source Forge上已經提供了解決方案。
但是,這些問題已經成了過去,因為Butterfly XML的很多新特性能夠解決過去的很多問題。我們就以能夠以DOM文檔和文本文件的形式查看XML文檔為例。見圖C和圖D:
圖C |
|
DOM型式的XML文檔 |
圖D |
|
文本形式的XML文檔 |
這個和XSLT!
可能是因為我偏愛XSLT的緣故,能夠測試XSL的轉換能力是給我印象最深刻的特性。當然,結果是無法保存的,但是在實際使用中,像Butterfly XML這樣的產品只希望自己是一種開發平臺。作為一個開發平臺,Butterfly XML因其能夠設置斷點而備受好評,如圖E所示。
圖E |
|
XSL轉換中的斷點 |
最后我還想提一個隱藏的特性;因為Butterfly XML是用Java寫成的,所以它可以運行在多個操作系統平臺上。因此,不論您周末是在使用Linux還是Windows,學習使用一個XML IDE難道不是一件很愜意的事情嗎?
希望
雖然不像XMLSpy或者Sytlus Studio這樣的產品那么精致,但是Butterfly XML體現出了一些難以置信的發展潛力。是的,它絕對談不上完美,還有一些瑕疵,但是有哪一款軟件是完美的呢?事實上,最近五個月以來我一直都在使用 Butterfly XML。我都等不及它出正式版了。