0
考慮XML文件:XQuery返回多個值,而不是一個
注:有可能是上述DEP標籤的一些標籤或它們可能會丟失。
我需要在列表中顯示供應商列表,它們生成的項目名稱和每個項目的前面都顯示部門名稱,例如,
Supp2
Item1, 2
Supp1
Item1, 2
Item2, 1
這是我的代碼:
<ul>
{
for $sup in distinct-values(doc("warehouse.xml")//supplier)
for $item in doc("warehouse.xml")//item[supplier = $sup]
return <li>{data($sup)} <ul> {
let $n:= $item/itemName
let $y:= doc("warehouse.xml")//dep[//itemName=$n]/@no
for $n1 in $n return <li>{data($n1), data($y)} </li>} </ul> </li>
}
</ul>
我面臨兩個問題。首先是使y顯示所有部門的數字,從1開始的另一個是,如果我有1個供應商,而不是
Supp1
Item1, 2
Item2, 3
產生兩個項目,我得到
Supp1
Item1, 1,2, ...
Supp1
Item2, 1,2, ...
能否請您有什麼建議能是錯的?我深表感激。
非常感謝您的回覆。我正在使用氧氣,似乎「group by」沒有在那裏定義。 (http://www.w3schools.com/xpath/xpath_functions.asp)有什麼建議嗎? – 2012-04-10 13:34:21
@PiotrL。哦,是的,這是XQuery 3.0中額外定義的一個很好的小東西。看來你的XQuery處理器還不支持它。我更新了我的答案,以便它不使用此功能。 – 2012-04-10 15:48:26