Joining multiple input documents : input « XQuery « XML






Joining multiple input documents


File: order.xml

<order>
  <car model="A">
    <id>0001</id>
    <name language="en">name 1</name>
  </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>
</order>

File: inventory.xml

<inventory id="inv0001" date="2008-12-19" loc="USA">
  <car model="A" id="0001" quantity="1" color="navy"/>
  <car model="B" id="0002" quantity="1" color="red"/>
  <car model="B" id="0003" quantity="2" color="blue"/>
  <car model="C" id="0004" quantity="1" color="white"/>
  <car model="C" id="0004" quantity="1" color="gray"/>
  <car model="A" id="0001" quantity="1" color="black"/>
</inventory>




File: Query.xquery

for $car in doc("inventory.xml")//car
let $name := doc("order.xml")//car[id = $car/@id]/name
return <car id="{$car/@id}"
             name="{$name}"
             quan="{$car/@quantity}"/>

 








Related examples in the same category