使用 jcabi 将参数传递给 XSL 文件

Passing a parameter to an XSL file with jcabi

我正在尝试使用 jcabi-xml 将参数传递给 XSL 文件。代码很简单,我可以确认它执行了:

final XSL xsl = new XSLDocument(Main.class.getResourceAsStream("test.xsl"));
xsl.with("test", "TestValue");

XSL 文件:

<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
    <xsl:param name="test" select="''"/>
    <xsl:template match="/">
        ...
        <p><xsl:value-of select="$test"/></p>
        ...
    </xsl:template>
</xsl:stylesheet>

但是,输出为空白。我调用了错误的函数吗?还有什么我应该做的吗?

xsl.with 不将参数存储在同一个 xsl 变量中,而是 returns 一个新的 XSL 对象。所以你需要写

xsl = xsl.with("test", "TestValue");

然后运行转换。