<?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. -->

<xs:schema targetNamespace="methodsColide_jira205_278"
    xmlns:xs="http://www.w3.org/2001/XMLSchema"
    xmlns:po="methodsColide_jira205_278"
    elementFormDefault="qualified">
	<xs:element name="purchase-order" type="po:purchaseOrder"/>
	<xs:complexType name="purchaseOrder">
			<xs:sequence>
				<xs:element name="customer" type="po:customer"/>
				<!--xs:element name="date" type="xs:dateTime" />
				<xs:element name="line-item" type="po:line-item" minOccurs="0" maxOccurs="unbounded"/>
				<xs:element name="shipper" type="po:shipper" minOccurs="0"/-->
				<xs:element name="date" type="xs:dateTime" />
				<xs:element name="line-item" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
			</xs:sequence>
	</xs:complexType>

    <xs:complexType name="customer">
		<xs:sequence>
			<xs:element name="name" type="xs:string"/>
			<xs:element name="address" type="xs:string"/>
		</xs:sequence>
	</xs:complexType>
	<!--xs:complexType name="line-item">
		<xs:sequence>
			<xs:element name="description" type="xs:string"/>
			<xs:element name="per-unit-ounces" type="xs:decimal"/>
			<xs:element name="price" type="xs:double"/>
			<xs:element name="quantity" type="xs:int"/>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="shipper">
		<xs:sequence>
			<xs:element name="name" type="xs:string"/>
			<xs:element name="per-ounce-rate" type="xs:decimal"/>
		</xs:sequence>
	</xs:complexType-->
</xs:schema>