<?xml version="1.0" encoding="UTF-8"?>
<!--Copyright 2004 The Apache Software Foundation

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.-->
<purchase-order xmlns="http://xmlbeans.apache.org/samples/substitutiongroup/easypo">
  <invoice-header>
    <ship-to>
      <name>Any Inc.</name>
      <address>AnyTown, AnyCity</address>
    </ship-to>
    <bill-to>
      <name>Any Inc.</name>
      <address>AnyTown, AnyCity</address>
    </bill-to>
    <book id="123">
      <title>The Little Engine That Could</title>
    </book>
    <ship-comment>Please ship this to Any Inc. asap.</ship-comment>
  </invoice-header>
  <invoice-header>
    <ship-to>
      <name>Some Corp.</name>
      <address>SomeTown, SomeCity</address>
    </ship-to>
    <bill-to>
      <name>This Corp.</name>
      <address>ThisTown, ThisCity</address>
    </bill-to>
    <clothing id="456">
      <color>green</color>
    </clothing>
    <comment>This is being billed to This Corp.</comment>
  </invoice-header>
  <invoice-header>
    <ship-to>
      <name>New Company</name>
      <address>NewTown, NewCity</address>
    </ship-to>
    <bill-to>
      <name>New Company</name>
      <address>NewTown, NewCity</address>
    </bill-to>
    <book id="1000" xsi:type="book-type" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
      <title>Where the Red Fern Grows</title>
    </book>
    <bill-comment>This is a new bill-comment</bill-comment>
  </invoice-header>
  <invoice-header>
    <ship-to>
      <name>Other Company</name>
      <address>OtherTown, OtherCity</address>
    </ship-to>
    <bill-to>
      <name>Other Company</name>
      <address>OtherTown, OtherCity</address>
    </bill-to>
    <clothing id="2000" xsi:type="clothing-type" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
      <color>blue</color>
    </clothing>
    <ship-comment>This is a new bill-comment</ship-comment>
  </invoice-header>
</purchase-order>