Java 使用Saxon HE 9.6从XSLT调用实例方法
我们有一个用例,必须从Xlst模板调用实例方法。我们使用的是萨克森HE9.6版本。我经历过这个。我们尝试使用Java对象作为参数使用XML transformer,然后更新模板以调用该实例方法。但它给出了javax.xml.transform.TransformerConfiguration异常 如果我们可以使用Saxon HE从XSLT模板调用实例方法,有人能帮忙吗 Java对象:Java 使用Saxon HE 9.6从XSLT调用实例方法,java,templates,xslt,saxon,Java,Templates,Xslt,Saxon,我们有一个用例,必须从Xlst模板调用实例方法。我们使用的是萨克森HE9.6版本。我经历过这个。我们尝试使用Java对象作为参数使用XML transformer,然后更新模板以调用该实例方法。但它给出了javax.xml.transform.TransformerConfiguration异常 如果我们可以使用Saxon HE从XSLT模板调用实例方法,有人能帮忙吗 Java对象: public Double getValue(String s1, String s2, Double d1)
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模板:
增加:
不,此功能在Saxon HE中不可用。还有一些替代方案:请参阅位于的文档中的“可扩展性”部分 还要注意9.6是一个相当旧的版本。由于Saxon在开发XSLT 2.0和3.0规范草案时跟踪了它们,因此最好避免使用旧版本的产品,因为在产品发布时规范一直在变化中。如果要调用Java,需要使用所谓的集成扩展函数。文档位于
xmlns:util="java:com.test.utils.TestUtils"
<!--<xsl:value-of select="util:getValue($utils, $country1, $country2, $value)"/>
Transformer transformer = factory.newTransformer(xsltTemplate);
transformer.setParameter("utils", util);