- From: Per Bothner <per@bothner.com>
- Date: Mon, 18 Feb 2002 09:32:57 -0800
- To: Chen Yabing <iscp0054@nus.edu.sg>
- CC: "'www-ql@w3.org'" <www-ql@w3.org>
Chen Yabing wrote: > Hi, > > it seems that XQuery cannot place elements together even if they have > same parent elements in the result. I mean that the result will produce > two identical elements for each sub elements. The following program: for $j in document("spj.xml")//project return <project jno = {$j/@jno}>{ for $s in $j/supplier, $p in $s/part where $p/price >100 return <supplier sno = {$s/@sno}> <part pno = {$p/@pno}> {$p/price} </part> </supplier> } </project> run under Qexo (www.qexo.org) produces: <project jno="j001"><supplier sno="s001"> <part pno="p001"> <price>190</price> </part> </supplier><supplier sno="s002"> <part pno="p001"> <price>110</price> </part> </supplier> </project><project jno="j002"><supplier sno="s002"> <part pno="p002"> <price>120</price> </part> </supplier> </project> One possible problem with this: It still emits a <project> element even if there are no matching parts or suppliers. That could be fixed using a variable (use let) and testing with empty. -- --Per Bothner per@bothner.com http://www.bothner.com/per/
Received on Monday, 18 February 2002 12:32:48 UTC