Loops for循环中循环的xquery计数

Loops for循环中循环的xquery计数,loops,for-loop,count,xquery,Loops,For Loop,Count,Xquery,xquery我想计算循环元素数据 代码: 声明命名空间输出=”http://www.w3.org/2010/xslt-xquery-serialization"; 声明选项输出:方法“xml”; 声明选项输出:缩进“是”; 让我们行动起来:=( 问题是。我需要它在secondery循环中,但我想知道如何在那里继续第一个计数。它需要在循环中循环。一种方法是使用内部for..at中的所有元素,以便at子句中绑定的变量相对于整个序列具有正确的值e但要在返回之前添加where子句where$count

xquery我想计算循环元素数据 代码:

声明命名空间输出=”http://www.w3.org/2010/xslt-xquery-serialization";
声明选项输出:方法“xml”;
声明选项输出:缩进“是”;
让我们行动起来:=(


问题是。我需要它在secondery循环中,但我想知道如何在那里继续第一个计数。它需要在循环中循环。

一种方法是使用内部
for..at
中的所有元素,以便
at
子句中绑定的变量相对于整个序列具有正确的值e但要在返回之前添加
where
子句
where$count/.is$data
,以确保我们仅处理具有正确父项的项目,即父元素是当前处理的
$data
项目:

let $act :=(
<act time="1231">
 <data>hel1lo</data>
 <data>hel1lo</data>
 <data>hel231lo</data>
 <data>hel1lo</data>
 <data>hel12lo</data>
 <data>hel1lo</data>
 <data>hel123lo</data>
</act>,
<act time="51292">
 <data>world</data>
 <data>wo2rld2</data>
 <data>world2</data>
 <data>worl2d</data>
 <data>worl1d</data>
 <data>worl2d</data>
</act>
)
for $data in $act
return
<act time ="{$data/@time}">
    {
    for $count at $cnt in $act/data
    where $count/.. is $data
    return
    <data value ="{$count}">{$cnt}</data>

    }
</act>
让$act:=(

这些是表达式的
,而不是循环。为什么不能在$act/act返回{$cnt}中对$cnt处的$data使用
?为什么需要为
表达式嵌套两个
?因为我需要将它们作为1 2来计算,因为不清楚您想要实现什么,所以您拥有的
let
不是有效的XQuery。请查看是否有帮助,否则请编辑您的问题,并提供最小但有效的XML输入以及您想要的输出。要取消D理解我想要达到的目标:你能用俗语“通俗易懂的英语”解释一下吗
where$count/。$data
是如何达到OP要求的?@JackFleeting,查看编辑,我不确定你是否认为答案需要通过解释来改进,或者你是否想指出它是错误的。不,没有问题。我真的只是想让我的头脑明白这一点……解释确实很有帮助。谢谢这是一个新的问题,你在问题文本中解释你输入的是什么,你想要的结果是什么,你尝试了哪些代码,以及在什么方面失败了。r从链接到小提琴的新需求。
let $act :=(
<act time="1231">
 <data>hel1lo</data>
 <data>hel1lo</data>
 <data>hel231lo</data>
 <data>hel1lo</data>
 <data>hel12lo</data>
 <data>hel1lo</data>
 <data>hel123lo</data>
</act>,
<act time="51292">
 <data>world</data>
 <data>wo2rld2</data>
 <data>world2</data>
 <data>worl2d</data>
 <data>worl1d</data>
 <data>worl2d</data>
</act>
)
for $data in $act
return
<act time ="{$data/@time}">
    {
    for $count at $cnt in $act/data
    where $count/.. is $data
    return
    <data value ="{$count}">{$cnt}</data>

    }
</act>