|
XSL也就是所謂的擴展風(fēng)格表單語(yǔ)言(Extensible Stylesheet Language)由3種語(yǔ)言組成。這三種語(yǔ)言負責把XML文檔轉換為其他格式。XML FO (XSL格式化對象:XSL Formatting Objects)說(shuō)明可視的文檔格式化,而Xpath則訪(fǎng)問(wèn)XML文檔的特定部分。但是XSLT(XSL Transformations)才是把某一XML文檔轉換為其他格式的實(shí)際語(yǔ)言。 最簡(jiǎn)單的應用情況首先涉及到兩個(gè)文檔:包含原始數據的XML文檔和用來(lái)轉換該文檔的XSLT風(fēng)格表單。XSLT處理器把XSLT風(fēng)格表單的規則應用到XML文檔從而新建出XHTML、WML、SVG或者幾乎其他任何XML格式的第3個(gè)文檔。 ![]()
多個(gè)XSLT風(fēng)格表單可以采用多種格式來(lái)表達某一文檔。單一的風(fēng)格表單還可以把某一數據類(lèi)型的多種實(shí)例轉換為標準的報告格式,你只需要修改風(fēng)格表單就可以改變這些報告模式。而XSLT則可以把數據的多種實(shí)例轉換為多種格式而不僅僅局限于報告格式:由此可見(jiàn),XSLT是一種把某一系統的數據格式轉換為另一系統(比如B2B交易)數據格式的強大工具。 XSLT從頭學(xué)起 認真學(xué)習使用XSLT的高效方法會(huì )很費時(shí)間的。在學(xué)習內容中的某些方面很具有直覺(jué)性,而其他一些方便則可能會(huì )叫人很費解。不過(guò),一旦你熟悉了XSLT 和 Xpath,你就可以相當快地在實(shí)際環(huán)境下熟練運用XSL了。 一開(kāi)始你得需要一個(gè)XSLT處理器。隨著(zhù)各類(lèi)技術(shù)的迅猛發(fā)展,你所采用的技術(shù)工具可能會(huì )讓你所進(jìn)行的項目要么成功要么毀滅。目前桌面XSLT原型工具并不多,因為這類(lèi)工具大多數都針對全規模的產(chǎn)品系統。你必須仔細考慮使用的工具如何支持XSLT規范。 最近推出的瀏覽器,比如Internet Explorer 5.5、Netscape 6.1和Mozilla等,它們都支持XSLT處理功能。它們也許就是這方面最簡(jiǎn)單的使用工具了,可是,在其支持規范方面卻相當欠缺。還有,瀏覽器并沒(méi)有支持真正的開(kāi)發(fā)工具,所以在調試代碼的時(shí)候毫無(wú)用處。XSLT格式轉化通常在服務(wù)器上完成,所以瀏覽器只能對那些包含了指向風(fēng)格表單鏈接的XML文件才有效。 Instant Saxon 是一款用于Windows系統的命令行式的、服務(wù)器風(fēng)格的XSLT簡(jiǎn)單處理器。它實(shí)現了基本的文件輸出和錯誤信息。相比瀏覽器能提供更穩固的XSLT 支持。雖然這一工具還不是完全意義上的開(kāi)發(fā)環(huán)境,但Instant Saxon作為實(shí)驗用工具還是綽綽有余了。 XML Spy是一套完整的XML IDE,該軟件可以從網(wǎng)絡(luò )下載評估版。它采用了Instant Saxon作為其XSLT處理器。這一產(chǎn)品非常適合那些在應用環(huán)境下開(kāi)發(fā)XML的工程人員,不過(guò)要掌握這套工具還真得需要點(diǎn)時(shí)間。 假如以上這些工具能為你所用,或者你希望自己動(dòng)手建立一套完整的應用環(huán)境,我們在本文的末尾會(huì )為你列出一些基于服務(wù)器的XSLT處理器。 測試示例 下面的例子假設XSL處理工具和XML、XSL文件都在一個(gè)目錄下。在這個(gè)例子中,我們用一個(gè)XML文檔表示快餐定貨單,下面我們需要把這個(gè)文檔轉換為可讀的HTML格式。 現在請把該XML文檔拷貝并且粘貼到某個(gè)文本編輯器內,然后把它另存為order.xml文件。同樣的,把相應的XSL 文檔拷貝為名為order.xsl的文件。這個(gè) XML 文件鏈接到該 XSL風(fēng)格表單,這樣你就可以在合適的瀏覽器中查看該XML 文件,或者用XML Spy 對其進(jìn)行XSL Transform 處理。接著(zhù)用Instant Saxon打開(kāi)一個(gè)MS-DOS命令行窗口,進(jìn)到文件所在目錄,鍵入saxon.exe order.xml order.xsl > order.html命令。 以上命令將把轉換后的HTML 結果輸出為一個(gè)名為 order.html的文件,這樣你就可以通過(guò)自己的瀏覽器查看該文件了。 以上例子的結果如下:HTML頁(yè)面的標題顯示"Mike的定單(定單號734)",內容是他訂購食品的列表,包括價(jià)格等。 XSLT 處理器處理了包含數據的 XML文件并把它轉換為HTML輸出結果。XSLT風(fēng)格表單則定義了描述XML數據的 HTML標簽定位,方法是采用組成XSLT語(yǔ)言的處理指令。 雖然 XSLT 處理器通常接受命令采用相應的風(fēng)格表單處理,不過(guò),XML文檔可以指示自己默認的XSLT風(fēng)格表單,方法是在文檔中包含以下行: <?xml-stylesheet type="text/xsl" href="my.xsl"?> 其中my.xsl是指向風(fēng)格表單的URL。以上的代碼對基于瀏覽器的格式轉換是基本的要求。 |
聯(lián)系客服