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运行吗?
答案 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。