<!-- Test nested optional structures. -->
<binding>
  <mapping name="customer" class="simple.Customer2" ordered="false">
    <structure name="name" usage="optional" test-method="hasName">
      <value name="first-name" field="firstName" usage="optional"/>
      <value name="last-name" field="lastName" usage="optional"/>
    </structure>
    <structure field="address" usage="optional">
      <value name="street1" field="street1" usage="optional"/>
      <value name="city" field="city" usage="optional"/>
      <value name="state" field="state" usage="optional"/>
      <value name="zip" field="zip" usage="optional"/>
    </structure>
    <value name="phone" field="phone" usage="optional"/>
  </mapping>
</binding>
