我有一个要求使用Saxon
processor.I才知道,saxon
有各种版本像 HOME, PROFESSIONAL and ENTERPRISE
调用Java功能Xquery
。SAXON - 调用外部Java函数XQuery中
我要寻找一个开源edition
这可以帮助我来调用external java functions in xquery
。
有人可以帮助我的示例代码?
我有一个要求使用Saxon
processor.I才知道,saxon
有各种版本像 HOME, PROFESSIONAL and ENTERPRISE
调用Java功能Xquery
。SAXON - 调用外部Java函数XQuery中
我要寻找一个开源edition
这可以帮助我来调用external java functions in xquery
。
有人可以帮助我的示例代码?
如果你回去撒克逊9.1 B可以做到这一点的开源版本。从9.2开始,引入HE,PE和EE版本,您需要使用商业版本PE或EE中的一种直接调用Java(使用自反扩展函数)。通过HE,您可以实现集成扩展功能http://saxonica.com/html/documentation/extensibility/integratedfunctions/。
您可以在Saxon的所有版本中调用Java扩展功能。
使用开源版本(Saxon HE),您只能使用必须使用Java编写扩展功能类,实现Saxon的一些抽象类以及使用这些类来配置Saxon的机制。
随着其他版本,你也可以使用内省机制,在您使用一个命名空间与特定的格式,这将寻找匹配classpath中函数的QName的实现。
对于一个更可靠的方法,这也让你在选择的命名空间(它没有整理到任何实现细节)所有的自由,我建议上面的第一个。
感谢马丁的回应。如果有,请发布示例代码。这对我很有帮助。 –
我挂的文件具有类似http://saxonica.com/html/documentation/extensibility/integratedfunctions/ext-simple-J.html和http://saxonica.com/html/documentation/extensibility/integratedfunctions/ext例子 - 满J.html。一个简单的例子调用自反扩展函数也从文档中获取:'declare namespace math =“java:java.lang.Math”; $(4,9,16,25) return math:sqrt($ d)'。 –
我想它和它的工作,但即时寻找它使用撒克逊9.1B调用外部方法代码.. –