SAXON - 在 Xquery 中调用外部 java 函数
SAXON - Calling external java functions in Xquery
我需要使用 Saxon
在 Xquery
中调用 java 函数 processor.I 了解到 saxon
有多种版本,例如
HOME, PROFESSIONAL and ENTERPRISE
。
我正在寻找可以帮助我调用 external java functions in xquery
的开源 edition
。
有人可以帮我提供示例代码吗?
如果你回到 Saxon 9.1 B,你可以在开源版本中进行。自 9.2 和引入 HE、PE 和 EE 版本后,您需要商业版 PE 或 EE 之一才能直接调用 Java(使用自反扩展功能)。使用 HE,您可以实现集成扩展功能 http://saxonica.com/html/documentation/extensibility/integratedfunctions/.
您可以在所有版本的 Saxon 中调用 Java 扩展函数。
对于开源版本 (Saxon HE),您只能使用必须在 Java 中编写扩展函数 class 的机制,实现一些抽象 classes来自 Saxon,并用这些配置 Saxon。
对于其他版本,您还可以使用内省机制,在其中使用具有特定格式的命名空间,它将在 class 路径中查找与函数 QName 匹配的实现。
对于更健壮的方法,它还可以让您自由选择命名空间(而不是将其整理到任何实现细节),我推荐上面的第一个。
我需要使用 Saxon
在 Xquery
中调用 java 函数 processor.I 了解到 saxon
有多种版本,例如
HOME, PROFESSIONAL and ENTERPRISE
。
我正在寻找可以帮助我调用 external java functions in xquery
的开源 edition
。
有人可以帮我提供示例代码吗?
如果你回到 Saxon 9.1 B,你可以在开源版本中进行。自 9.2 和引入 HE、PE 和 EE 版本后,您需要商业版 PE 或 EE 之一才能直接调用 Java(使用自反扩展功能)。使用 HE,您可以实现集成扩展功能 http://saxonica.com/html/documentation/extensibility/integratedfunctions/.
您可以在所有版本的 Saxon 中调用 Java 扩展函数。
对于开源版本 (Saxon HE),您只能使用必须在 Java 中编写扩展函数 class 的机制,实现一些抽象 classes来自 Saxon,并用这些配置 Saxon。
对于其他版本,您还可以使用内省机制,在其中使用具有特定格式的命名空间,它将在 class 路径中查找与函数 QName 匹配的实现。
对于更健壮的方法,它还可以让您自由选择命名空间(而不是将其整理到任何实现细节),我推荐上面的第一个。