尝试使用 Grails 进行一些转换并想知道引用问题。我在“/WEB-INF/xslt/{file}.xsl”下托管了模板,我注意到这些文件具有对其他文件的导入引用,例如:
<?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 资源。
我正在通过以下代码处理它们:
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)))