SAXON - 在Xquery中调用外部java函数

时间:2015-05-07 10:39:46

标签: java xml xquery saxon

我需要使用Xquery处理器调用Saxon中的java函数。我发现saxon有各种版本,如 HOME, PROFESSIONAL and ENTERPRISE

我正在寻找一个可以帮助我调用edition的开源external java functions in xquery

有人可以帮我提供示例代码吗?

2 个答案:

答案 0 :(得分:2)

如果你回到Saxon 9.1 B,你可以在开源版本中完成。从9.2和HE,PE和EE版本的引入,你需要一个商业版PE或EE直接调用Java(使用反身扩展函数)。使用HE,您可以实现集成扩展功能http://saxonica.com/html/documentation/extensibility/integratedfunctions/

答案 1 :(得分:1)

您可以在所有版本的Saxon中调用Java扩展函数。

使用开源版本(Saxon HE),您只能使用必须在Java中编写扩展函数类的机制,从Saxon实现一些抽象类,并使用这些类配置Saxon。

对于其他版本,您还可以使用内省机制,在该机制中使用具有特定格式的命名空间,该机制将查找与类路径中的QName函数匹配的实现。

对于一个更强大的方法,它也让你可以自由选择命名空间(而不是将其整理到任何实现细节),我推荐上面的第一个。