嘗試使用Grails進行一些轉換,並想知道引用問題。 我主持「/WEB-INF/xslt/{file}.xsl」下的模板和我注意到,文件有進口引用到其他文件 喜歡的東西:引用XSL模板和轉換的Grails
<?xml version="1.0"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:i18n="http://apache.org/cocoon/i18n/2.1">
<xsl:import href="file2.xsl"/>
<xsl:import href="../xslt/file2.xsl"/>
我知道的事實這是不正確的引用,我想知道如何在需要轉換時引用主要xsl文件中的xsl資源以便導入。
我處理這些throught他下面的代碼:
def String resources = grailsApplication.mainContext.getResource('/WEB-INF/xslt/'+xslTemplateName).file
def String xslt = new File(resources).text
def factory = TransformerFactory.newInstance()
def transformer = factory.newTransformer(new StreamSource(new StringReader(xslt)))
你考慮過[freemarker](http://freemarker.org/)而不是XSL嗎?它有很好的[XML](http://freemarker.org/docs/xgui_imperative_learn.html)支持,包括[xpath](http://freemarker.org/docs/xgui_imperative_learn.html#autoid_72),你可以注入java helper對象並調用實用程序方法。我發現閱讀和維護起來要容易得多,而且比XSL更簡潔。 –