Mega Code Archive

 
Categories / XML / Xquery
 

Outer join

File: Data.xml <order>   <car model="A">     <id>0001</id>     <name language="en">name 1</name>     <colorChoices>navy black</colorChoices>   </car>   <car model="B">     <id>0002</id>     <name language="en">name 2</name>   </car>   <car model="B">     <id>0003</id>     <name language="en">name 3</name>   </car>   <car model="C">     <id>0004</id>     <name language="en">name 4</name>     <colorChoices>white gray</colorChoices>     <desc>Our <i>favorite</i> shirt!</desc>   </car> </order> File: prices.xml <prices>   <priceList effDate="2006-11-15">     <prod id="0001">       <price currency="USD">29.99</price>       <discount type="CLR">10.00</discount>     </prod>     <prod id="0002">       <price currency="USD">69.99</price>     </prod>     <prod id="0003">       <price currency="USD">39.99</price>       <discount type="CLR">3.99</discount>     </prod>   </priceList> </prices> File: Query.xquery for $car in doc("Data.xml")//car return <car id="{$car/id}">{                 attribute price                    {for $price in doc("prices.xml")//prices/priceList/prod                     where $car/id = $price/@id                     return $price/price}   }</car>