2010-06-16 104 views
2

我目前正在研究一個涉及大量使用xsl轉換的Java web項目(Spring)。樣式表很少改變,所以它們當前被緩存。我正在考慮通過將xsl-s編譯到類文件中來提高性能,以便不必在每個請求上解釋它們。將.xsl文件編譯爲.class文件

我是Java新手,所以我不太瞭解這個生態系統。這樣做的最好方法是什麼(庫,方法等)?

謝謝,
亞歷

回答

3

您可能不需要編譯爲.class來實現您的目標,您可以在每次運行時編譯一次xsl,併爲所有轉換重新使用編譯後的實例。

要做到這一點,你創建一個Templates對象,如:

TransformerFactory factory = TransformerFactory.newInstance(); 
factory.setErrorListener(new ErrorListener(...)); 
xslTemplate = factory.newTemplates(new StreamSource(...)); 

,並使用模板來獲得一個變壓器做的工作:

Transformer transformer = xslTemplate.newTransformer(); 

根據您使用XSL庫中的里程可能不同。

1

考慮使用Gregor/XSLT編譯器