在XQuery 3.0(zorba)中,如何获得更新标记内操作的结果

时间:2015-02-04 09:45:26

标签: xquery updating zorba

我必须在单个请求中多次调用Xquery服务器(以启用事务行为)。它是这样的

declare namespace foo = "ns.bar.foo";
( foo:call("toto"), foo:call("tata"), foo:call("titi"))

但如果我这样做,服务器返回

<?xml version="1.0" encoding="UTF-8"?>
<call-result> 1 </call-result>
<call-result> 2 </call-result>
<call-result> 3 </call-result>

哪个不是有效的XML文件,因为结果不在根标记内。 我的第一次尝试就像是

declare namespace foo = "ns.bar.foo";
<results> {( foo:call("toto"), foo:call("tata"), foo:call("titi"))} </results>

但是因为foo:call是一个更新表达式,所以不允许这样做。我唯一看到的是在客户端修改收到的XML,但这真的很脏。 我还可以在服务器端添加一个方法,比如foo:calls,但是foo:call已经可以将序列作为参数使用,并且你不能在xQuery中使用序列序列。有什么建议吗?

0 个答案:

没有答案