<!-- binding checking abstract mappings used within a collection -->
<binding>
  <namespace prefix="xsi" uri="http://www.w3.org/2001/XMLSchema-instance"/>
  <mapping abstract="true" class="simple.Customer5Base">
    <structure name="name" field="name" label="name-reference">
      <value name="first-name" field="firstName"/>
      <value name="last-name" field="lastName"/>
    </structure>
    <value name="street1" field="street1"/>
    <value name="city" field="city"/>
    <value name="state" field="state"/>
    <value name="zip" field="zip"/>
    <value name="phone" field="phone"/>
  </mapping>
  <mapping name="customer" class="simple.Customer5">
    <value name="nil" ns="http://www.w3.org/2001/XMLSchema-instance"
        style="attribute" constant="false" usage="optional"/>
    <structure map-as="Customer5Type"/>
  </mapping>
  <mapping class="simple.Customer5" abstract="true" type-name="Customer5Type"
      value-style="attribute">
    <structure map-as="simple.Customer5Base"/>
    <value name="version" constant="1.0"/>
    <value name="subversion" constant="A" style="element" usage="optional"/>
    <value name="customer-id" field="customerId"/>
    <value name="repeat-customer" field="repeat" default="false"/>
    <value name="order-count" field="orderCount" default="0"/>
    <value name="discount" field="discount" default="1.0"/>
    <collection usage="optional" field="referrals">
      <structure name="customer5a" type="simple.Customer5a" usage="optional"/>
      <structure name="customer5b" type="simple.Customer5b" usage="optional"/>
      <structure name="customer5c" type="simple.Customer5c"/>
    </collection>
  </mapping>
  <mapping class="simple.Customer5a" abstract="true">
    <value name="source" field="sourceCode"/>
    <structure map-as="simple.Customer5Base"/>
  </mapping>
  <mapping class="simple.Customer5b" abstract="true">
    <structure map-as="simple.Customer5Base"/>
  </mapping>
  <mapping class="simple.Customer5c" abstract="true">
    <structure map-as="Customer5Type"/>
    <value name="quality" field="qualityCode"/>
  </mapping>
</binding>
