在XSLT2中调用Java函数

在XSLT2中调用Java函数,java,xml,xslt,xslt-2.0,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($x

我有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文件对象存储在变量中呢


编辑:在这个问题中,我无法显示…

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

如果您在Java下使用XSLT2.0,那么您使用的处理器很可能是Saxon,在这种情况下,调用约定记录在


在处理XSLT使用的XDM数据模型中没有等效对象的对象(如Java.util.File)的情况下,调用约定可能相当复杂。如果你把事情组织起来,只需要传递简单的值,比如字符串和整数,那就简单多了。例如,用Java编写另一个方法,该方法接受字符串(包含文件名)而不是文件。

研究所用XSLT处理器的文档,例如Saxon 9.8,请参阅。如果使用不同的处理器,约定可能会不同。