如何在xquery匹配中的预期结果中编写for循环

时间:2014-02-01 08:24:35

标签: dynamic xquery soapui

我在xquery匹配中有一个断言:

let $size := count(tokenize("${DataSource#SendResponses}",',')

<Result>
{
for $z in tokenize(//Results[1]/ResultSet[1]/Row[1]/SENDRESPONSES[1], ',')[position() lt $size]
return contains("${DataSource#SendResponses}",$z) 
}
</Result>

我不知道如何写出预期的结果。我写了一个类似下面的脚本,但它不起作用:

<Result>
{
for $x in (1 to count(tokenize("${DataSource#SendResponses}",',')) )
return true
}
</Result>

1 个答案:

答案 0 :(得分:0)

我不确定您使用的XQuery引擎,但有些语法看起来像非标准XQuery。也许你可以对此有所了解?

例如,在标准XQuery 1.0中,以下内容:

tokenize("${DataSource#SendResponses}",',')

不会再返回比你给它的字符串更多的标记,即结果将是(“$ {DataSource#SendResponses}”)

这就是为什么我猜你必须使用某种非标准语法,其中存在某种变量替换。如果你能解释一下,也许我们可以更好地帮助你。