我有一個名爲$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