使用XQuery将元素属性与另一个元素属性进行比较

时间:2017-04-04 22:43:48

标签: xml xquery

for $skill in $allskill
return <skill name = "{data($skill)}">{(for $i in 1 to 5
return (<count level = "{data($i)}" n = "{count($resumeSkills[@what = "SQL" and @level = "5"])}"></count> ))} </skill> 

以上代码片段可以很好地解决以下代码的问题。

for $skill in $allskill
return <skill name = "{data($skill)}">{(for $i in 1 to 5
    return (<count level = "{data($i)}" n = "{count($resumeSkills[@what = "{data($skill)}" and @level = "{data($i)}"])}"></count> ))} </skill>

任何帮助将不胜感激。谢谢。

1 个答案:

答案 0 :(得分:1)

删除内括号和引号,以便相应的部分变为:

n = "{count($resumeSkills[@what=$skill and @level=$i])}"

请注意,在您的第一个XQuery中,引号充当文字字符串的分隔符,而在第二个中,您不再使用文字字符串,而是使用变量,因此此处不需要引号。