在XSLT2中调用Java函数

时间:2018-03-28 06:47:23

标签: java xml xslt xslt-2.0

我有Java方法......

public static Object parseXMLtoXLSX(File xmlFile, String path)

所以我想从XSLT调用该方法。

我明白,我必须在我的XSLT文件中引入该类,例如像这样:

<xsl:stylesheet version="2.0" xmlns:trans="pathToMyJavaClass">

但我该如何调用该方法?

这是正确的方法吗?:

<xsl:value-of select="trans:parseXMLtoXLSX($xmlFIle,$path)" />

但是如何存储Java文件对象,我从变量中的Method中获取了什么?

编辑:我无法显示&lt; &GT;在这个问题......

1 个答案:

答案 0 :(得分:1)

从XSLT到其他语言的调用约定完全取决于您使用的XSLT处理器,因此您需要提供此信息。

如果您在Java下使用XSLT 2.0,那么您使用的处理器很可能是Saxon,在这种情况下,调用约定记录在http://saxonica.com/documentation/index.html#!extensibility/functions

如果您正在处理在XSLT使用的XDM数据模型中没有等效项的对象(如Java java.util.File),则调用约定可能非常复杂。如果你组织的东西更简单,你只需要传递简单的值,如字符串和整数。例如,在Java中编写另一个接受String(包含文件名)而不是File的方法。