0

我正在使用 Weblogic 集成框架。在使用 .xq 文件将一种 XML 格式转换为另一种格式时,我想应用一些用自定义 Java 类编写的逻辑。

例如,XML1 有标签:<UnitCode>XYZ</UnitCode>

自定义 Java 类:

public class unitcodemapper{
public static String getMappedUnitCode(String unitCode){
    if(unitCode=="XYZ")
       return <<value from DB table>>
    else
       return unitCode;
}
}

XML2 将有一个标签:<UnitCode>unitcodemapper.getMappedUnitCode(XML1/UnitCode)</UnitCode>

我找不到任何文档或示例来执行此操作。有人可以帮助了解如何做到这一点吗?

4

2 回答 2

0

虽然@keshlam 提到了扩展函数,但许多实现确实支持它们,每个实现都有自己的 API。

我想也许您正在寻找的是来自 XQuery 的 Java Binding。许多实现也支持这一点,并倾向于使用相同的方法。我不知道WebLogic是否支持这个!如果是这样,诀窍是java:在命名空间 URI 声明的开头使用,然后您可以使用静态类的完全限定 Java 类名,然后您可以直接从该命名空间调用每个静态方法。

您可以从两个提供与 XQuery 功能相同的 Java 绑定的实现示例在这里:

http://exist-db.org/exist/apps/doc/xquery.xml#calling-java

http://docs.basex.org/wiki/Java_Bindings

这些可以作为您在 WebLogic 上试用的示例,以查看它是否以相同的方式受支持。但是,我强烈建议您查看他们的文档,因为他们可能会采用不同的方法。

于 2014-02-20T15:51:37.497 回答
0

这被称为“扩展功能”。XQuery 实现的文档应该有一节告诉您如何编写这些函数并将它们插入处理器。(详细信息可能因 XQuery 处理器而异,这就是我向您推荐手册的原因。)

于 2014-02-20T14:02:26.293 回答