将Java Collection绑定到xQuery的xQuery序列

时间:2010-02-16 20:48:45

标签: java collections xquery

declare function Error:toString($this as javaObject) as xs:string external;

前一个将String()绑定到xs:string。是否可以返回一个集合并将其绑定到xQuery序列,比如下面的

declare function Error:toList($this as javaObject) as squenceType external;

这样它可以通过flwr运行吗?

1 个答案:

答案 0 :(得分:0)

XQuery是Xml World的编程语言。 W3C为该语言定义了XQuery 1.0标准。

默认情况下,XQuery支持基本数据类型为(int,float,decimal,boolean types)& 复杂的数据类型如Node,element,Text,Comment等。

之后,函数和变量的“external”关键字主要用于XQuery Engine实现者。

外部变量类型声明与上下文&特定于引擎的自定义实现。 e.g)

declare external variable $employeJavaObject as javaObject. 
                               or
declare function Error:toString($this as javaObject) as xs:string external;

这意味着javaObject需要由XQuery引擎定义并为其提供编组行为。

我曾与MarkLogic(4.x),Zorba(1.4),Saxxon Xquery引擎合作过,到目前为止我没有找到任何类型的严格编程语言相关的绑定。

提出你的问题 -    如果你的集合是String类型,那么你可以将它们作为字符串序列发送并将其取回。

如果你想要某种强大的对象映射系统,那么你需要在顶级标准XQuery引擎包装器上开发这样的框架,如

“http://developer.marklogic.com/pubs/4.1/javadoc/com/marklogic/xcc/types/package-frame.html”

或使用某种XmlBeans Mapper,如XmlBeans或Castor。

## ---搜索后编辑 看起来很讨厌XBird(code.google.com)有一些有趣的映射scenrios http://code.google.com/p/xbird/wiki/XmlObjectBinding

我已经开始研究这个了。我的专长主要是关于marklogic。