1 .XSLT初步

XSL也就是所謂的擴展風格表單語言(Extensible Stylesheet Language)由3種語言組成。這三種語言負責把XML文檔轉換爲其他格式。XML FO (XSL格式化對象:XSL Formatting Objects)說明可視的文檔格式化,而Xpath則訪問XML文檔的特定部分。但是XSLT(XSL Transformations)纔是把某一XML文檔轉換爲其他格式的實際語言。

最簡單的應用情況首先涉及到兩個文檔:包含原始數據的XML文檔和用來轉換該文檔的XSLT風格表單。XSLT處理器把XSLT風格表單的規則應用到XML文檔從而新建出XHTML、WML、SVG或者幾乎其他任何XML格式的第3個文檔。

 

多個XSLT風格表單可以採用多種格式來表達某一文檔。單一的風格表單還可以把某一數據類型的多種實例轉換爲標準的報告格式,你只需要修改風格表單就可以改變這些報告模式。而XSLT則可以把數據的多種實例轉換爲多種格式而不僅僅侷限於報告格式:由此可見,XSLT是一種把某一系統的數據格式轉換爲另一系統(比如B2B交易)數據格式的強大工具。

XSLT從頭學起

認真學習使用XSLT的高效方法會很費時間的。在學習內容中的某些方面很具有直覺性,而其他一些方便則可能會叫人很費解。不過,一旦你熟悉了XSLT 和 Xpath,你就可以相當快地在實際環境下熟練運用XSL了。

一開始你得需要一個XSLT處理器。隨着各類技術的迅猛發展,你所採用的技術工具可能會讓你所進行的項目要麼成功要麼毀滅。目前桌面XSLT原型工具並不多,因爲這類工具大多數都針對全規模的產品系統。你必須仔細考慮使用的工具如何支持XSLT規範。

最近推出的瀏覽器,比如Internet Explorer 5.5、Netscape 6.1和Mozilla等,它們都支持XSLT處理功能。它們也許就是這方面最簡單的使用工具了,可是,在其支持規範方面卻相當欠缺。還有,瀏覽器並沒有支持真正的開發工具,所以在調試代碼的時候毫無用處。XSLT格式轉化通常在服務器上完成,所以瀏覽器只能對那些包含了指向風格表單鏈接的XML文件纔有效。

Instant Saxon 是一款用於Windows系統的命令行式的、服務器風格的XSLT簡單處理器。它實現了基本的文件輸出和錯誤信息。相比瀏覽器能提供更穩固的XSLT 支持。雖然這一工具還不是完全意義上的開發環境,但Instant Saxon作爲實驗用工具還是綽綽有餘了。

XML Spy是一套完整的XML IDE,該軟件可以從網絡下載評估版。它採用了Instant Saxon作爲其XSLT處理器。這一產品非常適合那些在應用環境下開發XML的工程人員,不過要掌握這套工具還真得需要點時間。

假如以上這些工具能爲你所用,或者你希望自己動手建立一套完整的應用環境,我們在本文的末尾會爲你列出一些基於服務器的XSLT處理器。

測試示例

下面的例子假設XSL處理工具和XML、XSL文件都在一個目錄下。在這個例子中,我們用一個XML文檔表示快餐定貨單,下面我們需要把這個文檔轉換爲可讀的HTML格式。

現在請把該XML文檔拷貝並且粘貼到某個文本編輯器內,然後把它另存爲order.xml文件。同樣的,把相應的XSL 文檔拷貝爲名爲order.xsl的文件。這個 XML 文件鏈接到該 XSL風格表單,這樣你就可以在合適的瀏覽器中查看該XML 文件,或者用XML Spy 對其進行XSL Transform 處理。接着用Instant Saxon打開一個MS-DOS命令行窗口,進到文件所在目錄,鍵入saxon.exe order.xml order.xsl > order.html命令。

以上命令將把轉換後的HTML 結果輸出爲一個名爲 order.html的文件,這樣你就可以通過自己的瀏覽器查看該文件了。

以上例子的結果如下:HTML頁面的標題顯示"Mike的定單(定單號734)",內容是他訂購食品的列表,包括價格等。 XSLT 處理器處理了包含數據的 XML文件並把它轉換爲HTML輸出結果。XSLT風格表單則定義了描述XML數據的 HTML標籤定位,方法是採用組成XSLT語言的處理指令。

雖然 XSLT 處理器通常接受命令採用相應的風格表單處理,不過,XML文檔可以指示自己默認的XSLT風格表單,方法是在文檔中包含以下行:

<?xml-stylesheet type="text/xsl" href="my.xsl"?>

其中my.xsl是指向風格表單的URL。以上的代碼對基於瀏覽器的格式轉換是基本的要求。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章