0

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

4

0 回答 0