我有一个名为$answer
的序列,其中的属性是从XML文件中的元素中提取的。里面$answer
我有以下3个属性:1, 3, 3
,并呼吁$p
带属性的另一种序列:1, 3
计算XQuery中序列中属性的出现次数
我试图做这做
for $x in $p
return count (index-of($x, $answer))
获得出现的次数,因为我认为这是一个解决方案在另一个帖子中,但它给了我错误。什么是正确的方法来做到这一点?
我有一个名为$answer
的序列,其中的属性是从XML文件中的元素中提取的。里面$answer
我有以下3个属性:1, 3, 3
,并呼吁$p
带属性的另一种序列:1, 3
计算XQuery中序列中属性的出现次数
我试图做这做
for $x in $p
return count (index-of($x, $answer))
获得出现的次数,因为我认为这是一个解决方案在另一个帖子中,但它给了我错误。什么是正确的方法来做到这一点?
你想按照它的值对所有属性进行排序吗?这组语句可能会给你预期的结果:但是,请注意,你的XQuery实现需要支持XQuery 3.0。
我最终想要的是返回$ answer(一次)中出现1次的次数,并且$ answer(2)中出现3次。我正在使用Xquery 1.0,因此不幸的是没有组 – AaronLee 2012-04-06 15:44:18
你需要给你传递的参数交换到指数的():
for $x in $p
return count(index-of($answer, $x))
但是一个简单的方法是在谓词测试相等:
for $x in $p
return count($answer[. eq $x])
产生相同给定数据的结果。
它使用哪种实现提供了什么错误?你的输入序列究竟是什么样的(可能只是像你在查询中那样写输入,以便我们可以使用它)以及输出应该是什么?我还没有完全意识到你的问题。 – 2012-04-06 15:41:15