我必须在单个请求中多次调用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中使用序列序列。有什么建议吗?