微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

使用 Saxon-HE 9.6 从 XSLT 调用实例方法

如何解决使用 Saxon-HE 9.6 从 XSLT 调用实例方法

我们有一个用例,我们必须从 Xlst 模板调用实例方法。我们使用的是 Saxon-HE 9.6 版本。经过这个stack-overflow post。我们尝试使用 Java 对象作为参数 psssing XML 转换器,然后更新模板调用该实例方法。但它给出了 javax.xml.transform.TransformerConfigurationException。

如果我们可以使用 Saxon HE 从 XSLT 模板调用实例方法,请有人帮忙吗?

Java 对象:

public Double getValue(String s1,String s2,Double d1) {
    // perform some operation and call other service to fetch data.
    Double response = 2.0;
    return response;
}

Xlst 模板: 补充:

xmlns:util="java:com.test.utils.TestUtils"

<!--<xsl:value-of select="util:getValue($utils,$country1,$country2,$value)"/>

将此util对象传递给xlst的代码

Transformer transformer = factory.newTransformer(xsltTemplate);
transformer.setParameter("utils",util);

解决方法

不,此功能在 Saxon-HE 中不可用。还有其他选择:请参阅 www.saxonica.com 处的文档中的“可扩展性”部分。

还要注意 9.6 是一个相当老的版本。由于 Saxon 在开发 XSLT 2.0 和 3.0 规范草案时对其进行跟踪,因此最好避免使用旧版本的产品,因为在产品发布时规范处于不断变化中。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。