blob: 7699be1020cb6ba9e44cf09abeba2a6a17514832 [file] [log] [blame]
<?xml version="1.0" encoding="utf-8"?>
<!--
Copyright (c) 2002, 2018 Oracle and/or its affiliates. All rights reserved.
This program and the accompanying materials are made available under the
terms of the Eclipse Public License v. 2.0, which is available at
http://www.eclipse.org/legal/epl-2.0.
This Source Code may also be made available under the following Secondary
Licenses when the conditions for such availability set forth in the
Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
version 2 with the GNU Classpath Exception, which is available at
https://www.gnu.org/software/classpath/license.html.
SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
-->
<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:schema>