<?xml version="1.0" encoding="ASCII"?>
<xsml:schemaMapping xmlns:xsml="http://criollo.db2.ibm.com/xsml">
  <xsml:schemas>
    <xsml:source rootName="tpcDB" schemaLocation="TPC-H-rel.xsd"/>
    <xsml:target rootName="tpcNestedDB" schemaLocation="TPC-H-nested.xsd"/>
  </xsml:schemas>
  <xsml:componentMappings>
    <xsml:valueMapping>
      <xsml:source>/tpcDB/nation/name</xsml:source>
      <xsml:target>/tpcNestedDB/suppliers/supplier/nation</xsml:target>
      <xsml:function>${0}</xsml:function>
    </xsml:valueMapping>
    <xsml:valueMapping>
      <xsml:source>/tpcDB/nation/name</xsml:source>
      <xsml:target>/tpcNestedDB/customers/customer/cnation</xsml:target>
      <xsml:function>${0}</xsml:function>
    </xsml:valueMapping>
    <xsml:valueMapping>
      <xsml:source>/tpcDB/part/name</xsml:source>
      <xsml:target>/tpcNestedDB/suppliers/supplier/part/name</xsml:target>
      <xsml:function>${0}</xsml:function>
    </xsml:valueMapping>
    <xsml:valueMapping>
      <xsml:source>/tpcDB/region/name</xsml:source>
      <xsml:target>/tpcNestedDB/suppliers/supplier/region</xsml:target>
      <xsml:function>${0}</xsml:function>
    </xsml:valueMapping>
    <xsml:valueMapping>
      <xsml:source>/tpcDB/customer/name</xsml:source>
      <xsml:target>/tpcNestedDB/customers/customer/name</xsml:target>
      <xsml:function>${0}</xsml:function>
    </xsml:valueMapping>
    <xsml:valueMapping>
      <xsml:source>/tpcDB/supplier/name</xsml:source>
      <xsml:target>/tpcNestedDB/suppliers/supplier/name</xsml:target>
      <xsml:function>${0}</xsml:function>
    </xsml:valueMapping>
    <xsml:valueMapping>
      <xsml:source>/tpcDB/order/orderkey</xsml:source>
      <xsml:target>/tpcNestedDB/suppliers/supplier/part/order/orderkey</xsml:target>
      <xsml:function>${0}</xsml:function>
    </xsml:valueMapping>
    <xsml:valueMapping>
      <xsml:source>/tpcDB/order/status</xsml:source>
      <xsml:target>/tpcNestedDB/suppliers/supplier/part/order/status</xsml:target>
      <xsml:function>${0}</xsml:function>
    </xsml:valueMapping>
  </xsml:componentMappings>
  <xsml:logicalMappings>
    <xsml:logicalMapping>
      <xsml:source>
        <xsml:entity name="s0">/tpcDB/region</xsml:entity>
      </xsml:source>
      <xsml:target>
        <xsml:entity name="t0">/tpcNestedDB/suppliers/supplier</xsml:entity>
      </xsml:target>
      <xsml:mapping>$s0/name = $t0/region</xsml:mapping>
    </xsml:logicalMapping>
    <xsml:logicalMapping>
      <xsml:source>
        <xsml:entity name="s0">/tpcDB/part</xsml:entity>
      </xsml:source>
      <xsml:target>
        <xsml:entity name="t0">/tpcNestedDB/suppliers/supplier</xsml:entity>
        <xsml:entity name="t1">$t0/part</xsml:entity>
      </xsml:target>
      <xsml:mapping>$s0/name = $t1/name</xsml:mapping>
    </xsml:logicalMapping>
    <xsml:logicalMapping>
      <xsml:source>
        <xsml:entity name="s0">/tpcDB/nation</xsml:entity>
        <xsml:entity name="s1">/tpcDB/region</xsml:entity>
        <xsml:predicate>$s0/regionkey = $s1/regionkey</xsml:predicate>
      </xsml:source>
      <xsml:target>
        <xsml:entity name="t0">/tpcNestedDB/suppliers/supplier</xsml:entity>
        <xsml:entity name="t1">$t0/part</xsml:entity>
        <xsml:entity name="t2">$t1/order</xsml:entity>
        <xsml:entity name="t3">/tpcNestedDB/customers/customer</xsml:entity>
        <xsml:predicate>$t2/custID = $t3/custID</xsml:predicate>
      </xsml:target>
      <xsml:mapping>$s0/name = $t0/nation AND $s1/name = $t0/region AND $s0/name = $t3/cnation</xsml:mapping>
    </xsml:logicalMapping>
    <xsml:logicalMapping>
      <xsml:source>
        <xsml:entity name="s0">/tpcDB/supplier</xsml:entity>
        <xsml:entity name="s1">/tpcDB/nation</xsml:entity>
        <xsml:entity name="s2">/tpcDB/region</xsml:entity>
        <xsml:predicate>$s1/nationkey = $s0/nationkey AND $s1/regionkey = $s2/regionkey</xsml:predicate>
      </xsml:source>
      <xsml:target>
        <xsml:entity name="t0">/tpcNestedDB/suppliers/supplier</xsml:entity>
        <xsml:entity name="t1">$t0/part</xsml:entity>
        <xsml:entity name="t2">$t1/order</xsml:entity>
        <xsml:entity name="t3">/tpcNestedDB/customers/customer</xsml:entity>
        <xsml:predicate>$t2/custID = $t3/custID</xsml:predicate>
      </xsml:target>
      <xsml:mapping>$s0/name = $t0/name AND $s1/name = $t0/nation AND $s2/name = $t0/region AND $s1/name = $t3/cnation</xsml:mapping>
    </xsml:logicalMapping>
    <xsml:logicalMapping>
      <xsml:source>
        <xsml:entity name="s0">/tpcDB/customer</xsml:entity>
        <xsml:entity name="s1">/tpcDB/nation</xsml:entity>
        <xsml:entity name="s2">/tpcDB/region</xsml:entity>
        <xsml:predicate>$s1/nationkey = $s0/nationkey AND $s1/regionkey = $s2/regionkey</xsml:predicate>
      </xsml:source>
      <xsml:target>
        <xsml:entity name="t0">/tpcNestedDB/suppliers/supplier</xsml:entity>
        <xsml:entity name="t1">$t0/part</xsml:entity>
        <xsml:entity name="t2">$t1/order</xsml:entity>
        <xsml:entity name="t3">/tpcNestedDB/customers/customer</xsml:entity>
        <xsml:predicate>$t2/custID = $t3/custID</xsml:predicate>
      </xsml:target>
      <xsml:mapping>$s1/name = $t0/nation AND $s2/name = $t0/region AND $s0/name = $t3/name AND $s1/name = $t3/cnation</xsml:mapping>
    </xsml:logicalMapping>
    <xsml:logicalMapping>
      <xsml:source>
        <xsml:entity name="s0">/tpcDB/order</xsml:entity>
        <xsml:entity name="s1">/tpcDB/customer</xsml:entity>
        <xsml:entity name="s2">/tpcDB/nation</xsml:entity>
        <xsml:entity name="s3">/tpcDB/region</xsml:entity>
        <xsml:predicate>$s2/regionkey = $s3/regionkey AND $s0/custkey = $s1/custkey AND $s2/nationkey = $s1/nationkey</xsml:predicate>
      </xsml:source>
      <xsml:target>
        <xsml:entity name="t0">/tpcNestedDB/suppliers/supplier</xsml:entity>
        <xsml:entity name="t1">$t0/part</xsml:entity>
        <xsml:entity name="t2">$t1/order</xsml:entity>
        <xsml:entity name="t3">/tpcNestedDB/customers/customer</xsml:entity>
        <xsml:predicate>$t2/custID = $t3/custID</xsml:predicate>
      </xsml:target>
      <xsml:mapping>$s2/name = $t0/nation AND $s3/name = $t0/region AND $s0/status = $t2/status AND $s0/orderkey = $t2/orderkey AND $s1/name = $t3/name AND $s2/name = $t3/cnation</xsml:mapping>
    </xsml:logicalMapping>
    <xsml:logicalMapping>
      <xsml:source>
        <xsml:entity name="s0">/tpcDB/partsupp</xsml:entity>
        <xsml:entity name="s1">/tpcDB/part</xsml:entity>
        <xsml:entity name="s2">/tpcDB/supplier</xsml:entity>
        <xsml:entity name="s3">/tpcDB/nation</xsml:entity>
        <xsml:entity name="s4">/tpcDB/region</xsml:entity>
        <xsml:predicate>$s3/regionkey = $s4/regionkey AND $s3/nationkey = $s2/nationkey AND $s1/partkey = $s0/partkey AND $s0/suppkey = $s2/suppkey</xsml:predicate>
      </xsml:source>
      <xsml:target>
        <xsml:entity name="t0">/tpcNestedDB/suppliers/supplier</xsml:entity>
        <xsml:entity name="t1">$t0/part</xsml:entity>
        <xsml:entity name="t2">$t1/order</xsml:entity>
        <xsml:entity name="t3">/tpcNestedDB/customers/customer</xsml:entity>
        <xsml:predicate>$t2/custID = $t3/custID</xsml:predicate>
      </xsml:target>
      <xsml:mapping>$s2/name = $t0/name AND $s3/name = $t0/nation AND $s4/name = $t0/region AND $s1/name = $t1/name AND $s3/name = $t3/cnation</xsml:mapping>
    </xsml:logicalMapping>
    <xsml:logicalMapping>
      <xsml:source>
        <xsml:entity name="s0">/tpcDB/lineitem</xsml:entity>
        <xsml:entity name="s1">/tpcDB/part</xsml:entity>
        <xsml:entity name="s2">/tpcDB/supplier</xsml:entity>
        <xsml:entity name="s3">/tpcDB/order</xsml:entity>
        <xsml:entity name="s4">/tpcDB/customer</xsml:entity>
        <xsml:entity name="s5">/tpcDB/nation</xsml:entity>
        <xsml:entity name="s6">/tpcDB/region</xsml:entity>
        <xsml:entity name="s7">/tpcDB/nation</xsml:entity>
        <xsml:entity name="s8">/tpcDB/region</xsml:entity>
        <xsml:predicate>$s0/suppkey = $s2/suppkey AND $s3/custkey = $s4/custkey AND $s7/nationkey = $s2/nationkey AND $s7/regionkey = $s8/regionkey AND $s5/regionkey = $s6/regionkey AND $s5/nationkey = $s4/nationkey AND $s1/partkey = $s0/partkey AND $s3/orderkey = $s0/orderkey</xsml:predicate>
      </xsml:source>
      <xsml:target>
        <xsml:entity name="t0">/tpcNestedDB/suppliers/supplier</xsml:entity>
        <xsml:entity name="t1">$t0/part</xsml:entity>
        <xsml:entity name="t2">$t1/order</xsml:entity>
        <xsml:entity name="t3">/tpcNestedDB/customers/customer</xsml:entity>
        <xsml:predicate>$t2/custID = $t3/custID</xsml:predicate>
      </xsml:target>
      <xsml:mapping>$s2/name = $t0/name AND $s7/name = $t0/nation AND $s6/name = $t0/region AND $s1/name = $t1/name AND $s3/status = $t2/status AND $s3/orderkey = $t2/orderkey AND $s4/name = $t3/name AND $s7/name = $t3/cnation</xsml:mapping>
    </xsml:logicalMapping>
  </xsml:logicalMappings>
</xsml:schemaMapping>