2010-04-10 59 views
0

我正在嘗試使用XSL樣式表來將一些生成的XML數據轉換爲HTML輸出。我使用的架構如下:[客戶端] Web瀏覽器=> [服務器端:Glassfish v3] JSP頁面 - > Web服務。我的Web服務生成了一些XML數據,然後我想用XSL樣式表進行格式化,將結果傳遞給JSP頁面並顯示給用戶。我正在使用JAXP進行XSL轉換,我想爲javax.xml.transform.Transformer對象創建一個帶有XSL文件流的javax.xml.transform.stream.StreamSource對象,但是我很難指定XSL文件的路徑/ URL。使用JAX-WS和Glassfish v3的XSL樣式表URI

所以問題是:我應該在哪裏將我的XSL樣式表放在一個項目中,我應該如何從代碼訪問它們?我使用的是Glassfish v3和NetBeans 6.8。

謝謝。

+0

不是一個關於NetBeans的問題。 – vkraemer 2010-05-07 14:52:19

回答

1

這裏的關鍵點是您應該在內存中執行XSLT進程,其中轉換是通過Web服務輸出上的DOMSource完成的。

一個典型的場景是將XSLT文件放入您的類路徑中,並通過類加載器(getResourceAsStream)加載它們,這可以在您的StreamSource中使用。更有效的方法是創建一個Templates對象(預編譯的XSLT),它可以在程序開始時完成,並捕獲任何語法錯誤。

+0

謝謝。我嘗試了ClassLoader的方法,它工作正常。 – Tony 2010-04-10 14:44:30