blob: f23f6481e45bf5f2fe8d7e64775c5ac8a1879d4b [file]
<?xml version="1.0" encoding="utf-8"?>
<!--
~ Licensed to the Apache Software Foundation (ASF) under one
~ or more contributor license agreements. See the NOTICE file
~ distributed with this work for additional information
~ regarding copyright ownership. The ASF licenses this file
~ to you 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.
-->
<!--
November 14, 2002
(c) Copyright 2002, The Web Services-Interoperability Organization (WS-I)
Download or use of this file is governed by the Policies and Bylaws of WS-I.
For more information, send email info@ws-i.org.
-->
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified"
xmlns:tns="http://www.ws-i.org/SampleApplications/SupplyChainManagement/2002-08/RetailOrder.xsd"
targetNamespace="http://www.ws-i.org/SampleApplications/SupplyChainManagement/2002-08/RetailOrder.xsd">
<xsd:annotation>
<xsd:documentation xml:lang="en">Definition of PartsOrder types for Retailer component of WS-I</xsd:documentation>
</xsd:annotation>
<xsd:complexType name="PartsOrderType">
<xsd:sequence>
<xsd:element name="Item" type="tns:PartsOrderItem" maxOccurs="unbounded"/>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="PartsOrderItem">
<xsd:sequence>
<xsd:element name="productNumber" type="tns:productNumber" minOccurs="1" maxOccurs="1"/>
<xsd:element name="quantity" type="xsd:nonNegativeInteger" minOccurs="1" maxOccurs="1"/>
<xsd:element name="price" type="xsd:decimal" minOccurs="1" maxOccurs="1"/>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="PartsOrderResponseType">
<xsd:sequence>
<xsd:element name="Item" type="tns:PartsOrderResponseItem" maxOccurs="unbounded"/>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="PartsOrderResponseItem">
<xsd:sequence>
<xsd:element name="productNumber" type="tns:productNumber" minOccurs="1" maxOccurs="1"/>
<xsd:element name="quantity" type="xsd:nonNegativeInteger" minOccurs="1" maxOccurs="1"/>
<xsd:element name="price" type="xsd:decimal" minOccurs="1" maxOccurs="1"/>
<xsd:element name="comment" type="xsd:string" minOccurs="0" maxOccurs="1"/>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="CustomerDetailsType">
<xsd:sequence>
<xsd:element name="custnbr" type="tns:CustomerReferenceType" minOccurs="1" maxOccurs="1"/>
<xsd:element name="name" type="xsd:string" minOccurs="1" maxOccurs="1"/>
<xsd:element name="street1" type="xsd:string" minOccurs="0" maxOccurs="1"/>
<xsd:element name="street2" type="xsd:string" minOccurs="0" maxOccurs="1"/>
<xsd:element name="city" type="xsd:string" minOccurs="0" maxOccurs="1"/>
<xsd:element name="state" type="xsd:string" minOccurs="0" maxOccurs="1"/>
<xsd:element name="zip" type="xsd:string" minOccurs="0" maxOccurs="1"/>
<xsd:element name="country" type="xsd:string" minOccurs="0" maxOccurs="1"/>
</xsd:sequence>
</xsd:complexType>
<xsd:simpleType name="productNumber">
<xsd:restriction base="xsd:integer">
<xsd:minInclusive value="1"/>
<xsd:maxInclusive value="999999"/>
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType name="CustomerReferenceType">
<xsd:restriction base="xsd:normalizedString">
<xsd:maxLength value="20"/>
<xsd:pattern value="[A-D][0-9]{5}-[0-9A-Z]{7}-[a-z]{3}#*"/>
</xsd:restriction>
</xsd:simpleType>
<xsd:element name="InvalidProductCode" type="tns:InvalidProductCodeType"/>
<xsd:complexType name="InvalidProductCodeType">
<xsd:sequence>
<xsd:element name="Reason">
<xsd:simpleType>
<xsd:restriction base="xsd:NMTOKEN">
<xsd:enumeration value="InvalidProductCode"/>
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
<xsd:element name="ProductNumber" type="tns:productNumber" />
</xsd:sequence>
</xsd:complexType>
<xsd:element name="BadOrderReason" type="xsd:string"/>
</xsd:schema>