0
XML文件的Xquery而使用不同的值
<map>
<links>
<link id="10" ordernum="0"></link>
<link id="20" ordernum="1"></link>
<link id="30" ordernum="2"></link>
</links>
<products>
<product id="10" group="2">...</product>
<product id="20" group="1">...</product>
<product id="30" group="2">...</product>
</products>
</map>
我使用下面的XQuery得到products/@id
,下令由相應link/@ordernum
但只有一次,同一組。
for $linkid in //links/link
order by $linkid/@ordernum
return distinct-values(data(//products/product[@id=data($linkid/@id)]/@id))
預期輸出: 10,20
接收的輸出: 10,20,30
如何修改這部分得到產品的所有數據?如果我將最後一行改爲:'return/map/products/product [@ id = $ prodid]'只返回一個產品 – frgtv10
'如果我返回數據($ prodid)'則返回正確的多個ID – frgtv10
@ frgtv10 - 你在用什麼處理器?我正在使用Saxon-HE 9.5,並且將最後一行更改爲'return/map/products/product [@ id = $ prodid]'正確返回兩個'product'元素。 –