學習 XML 的最佳途經是從簡單的開發入手,大膽實踐,循序漸進。XML 的妙處只有在開發過程中才能深入體會,離開了開發是學不好 XML 的。因此學習 XML 首先應該建立一個 XML 的開發環境。我給大家介紹一下怎樣建立一個基於 Java 的 XML 開發環境。因為我現在沒辦法用到 Linux,所以所有的例子都是在 Windows 上做的。但是這裡介紹的所有的軟體在 Linux 和 Windows 上都是可以用的,用法也大同小異。而且除了 Sun 的 JRE 以外都是 open source 軟體,任何人都可以拿來做任何用途,甚至是商業目的的重新發行。JRE 也是可以免費下載和使用的,只是沒有源代碼。如果您有在 Linux 上使用這些軟體的經驗,希望能貢獻給大家。
建立一個 XML 的開發環境需要經過以下步驟: 1。安裝 Java runtime environment 2。安裝一個 Java 編譯器。 3。安裝一個 JSP Container。 4。安裝一個支持 XSLT 的 taglib。 5。安裝一個 XML Parser。 6。安裝一個支持 XSLT 的瀏覽器。 7。安裝一個 XML 文件的編輯器 (可選)。
步驟6。安裝一個支持 XSLT 的瀏覽器 這一步並不是必須的,因為我們現在已經可以在 Server 端使用 XSL Taglib 將 XML 文件轉換為 HTML 格式后發給 Browser,所以實際上你可以使用任何你喜歡的瀏覽器。但是安裝一個支持 XSLT 的瀏覽器可以方便我們的學習。雖然現在我們需要在 Server 端做 XSLT,但是將來支持 XSLT 的瀏覽器流行了之後我們甚至連這一步都可以省掉,直接把 XML 和 XSL 文件發給瀏覽器就行了。這樣就可以大大減輕 Server 端的負擔,因為做 XSLT 可不是一件輕鬆的工作。
推薦使用 Mozilla 0.8。說到這裡,你可能又要問了,為什麼不使用 IE 4/5 呢?IE 4/5 不是也可以做 XSLT 嗎?除了個人喜好以外,我可以舉出 3 個使用 Mozilla 的理由: 首先 Mozilla 支持的 XSLT 版本比 IE 4/5 要新,IE 4/5 支持的 XSLT 不是正式版本,而是一個草稿。即:http://www.w3.org/TR/WD-xsl ,而 Mozilla 支持的 XSLT 是 XSLT 的正式版本。即:http://www.w3.org/1999/XSL/Transform 。 其次 Mozilla 中的 XML 應用不僅包括 XSLT,還包括 RDF,XUL,SVG,MathML 等等,所以 Mozilla 對 XML 的支持從廣度和深度上都要超過 IE 4/5。 第三 XML FAQ 的作者對 Mozilla 推崇有加,認為 Mozilla 對 XML 的支持在魯棒性上比 IE 4/5 要好得多。
OK,說了這麼多,現在轉到正題上來,如何使 Mozilla 0.8 支持 XSLT? 首先,從這裡下載 Mozilla 0.8:http://www.mozilla.org/releases/ 最新的是 0.8.1 版,但是這個版本安裝了支持 XSLT 的模塊后無法運行,所以目前還只能使用老一點但是比較慢的 0.8 版。 如果你不想再要其它諸如 SVG/MathML 的功能的話,最方便的方法是使用做好的 .exe 文件安裝。 安裝完畢后,啟動 Mozilla,訪問這個頁面:http://www.mozilla.org/projects/xslt/ 頁面里有一個 Install 按鈕,點擊這個按鈕就可以安裝實現 XSLT 功能的 TransforMiiX 模塊。 重新啟動 Mozilla,訪問上面提到的那個頁面。點擊上面 simple example 的鏈接。如果看到的結果與點擊 look like 鏈接看到的結果相同,那麼你的 Mozilla 就已經能夠支持 XSLT 了。
關於如何配置 Mozilla 0.8 支持 Java Plug-in 請參考我發在 XML 版的另一篇帖子:基於 Mozilla 的 XML 客戶端解決方案,這裡就不多說了。
步驟7。安裝一個 XML 文件的編輯器 這一步就更不是必須的了。你聽說過現在還有人使用 vi 做 HTML 頁面嗎?我就見過這樣的人,那就是於明儉老師。在於老師的個人主頁上有樣一句醒目的話:Just vim it ! 實際上你可以使用任何你喜歡的編輯器來編輯 XML 文件,但是為了方便那些習慣使用 WYSIWYG 編輯器的朋友,我還是推薦幾個比較好的 XML 編輯器: 1。XML Spy:一個功能很全的 XML 編輯器,有試用版可以下載。 http://www.xmlspy.com/ 2。EditML Pro:另一個功能比較全的 XML 編輯器。 http://www.editml.com 3。PSGML for Emacs:Emacs,我就不用說什麼了吧? http://www.lysator.liu.se/projects/about_psgml.html
這裡只是為了錦上添花再介紹一些其它的知識,使用這些知識我們可以建造一個更為強大的開發環境。
步驟8。安裝一個比較好的 JSP Framework 推薦使用 Struts。Struts 是 Jakarta 項目的一個子項目,目的是開發一個基於 MVC 設計模式的 JSP Framework。在 Struts 的框架內做開發可以有效地分離 Web 應用的表示層和實現層,提高代碼的可重用性。基於 MVC 設計模式的開發也就是所謂的 Model 2 開發模式。目前該項目已接近完成,最新的版本是 1.0-beta-1。