| <!-- edited with XMLSPY v5 rel. 2 U (http://www.xmlspy.com) by Michael Kintzer (BEA Systems) --> |
| <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" |
| xmlns:po="http://xbean.prePost_feature/readOnlyBean/PurchaseOrder" |
| targetNamespace="http://xbean.prePost_feature/readOnlyBean/PurchaseOrder" |
| elementFormDefault="qualified" |
| > |
| <xsd:annotation> |
| <xsd:documentation xml:lang="en"> |
| Purchase order schema for Example.com. |
| Copyright 2000 Example.com. All rights reserved. |
| </xsd:documentation> |
| </xsd:annotation> |
| <xsd:element name="purchaseOrder" type="po:PurchaseOrderType"/> |
| <xsd:element name="comment" type="xsd:string"/> |
| <xsd:complexType name="PurchaseOrderType"> |
| <xsd:sequence> |
| <xsd:element name="shipTo" type="po:USAddress"/> |
| <xsd:element name="billTo" type="po:USAddress"/> |
| <xsd:element ref="po:comment" minOccurs="0"/> |
| <xsd:element name="items" type="po:Items"/> |
| </xsd:sequence> |
| <xsd:attribute name="orderDate" type="xsd:date"/> |
| </xsd:complexType> |
| <xsd:complexType name="USAddress"> |
| <xsd:sequence> |
| <xsd:element name="name" type="xsd:string" nillable="true"/> |
| <xsd:element name="street" type="xsd:string"/> |
| <xsd:element name="city" type="xsd:string"/> |
| <xsd:element name="state" type="xsd:string"/> |
| <xsd:element name="zip" type="xsd:decimal"/> |
| </xsd:sequence> |
| <xsd:attribute name="country" type="xsd:NMTOKEN" fixed="US"/> |
| </xsd:complexType> |
| <xsd:complexType name="Items"> |
| <xsd:sequence> |
| <xsd:element name="item" minOccurs="0" maxOccurs="unbounded"> |
| <xsd:complexType> |
| <xsd:sequence> |
| <xsd:element name="productName" type="xsd:string"/> |
| <xsd:element name="quantity"> |
| <xsd:simpleType> |
| <xsd:restriction base="xsd:positiveInteger"> |
| <xsd:maxExclusive value="100"/> |
| </xsd:restriction> |
| </xsd:simpleType> |
| </xsd:element> |
| <xsd:element name="USPrice" type="xsd:decimal" fixed="30" /> |
| <xsd:element ref="po:comment" minOccurs="0"/> |
| <xsd:element name="shipDate" type="xsd:date" minOccurs="0"/> |
| </xsd:sequence> |
| <xsd:attribute name="partNum" type="po:SKU" use="required"/> |
| </xsd:complexType> |
| </xsd:element> |
| </xsd:sequence> |
| </xsd:complexType> |
| <!-- Stock Keeping Unit, a code for identifying products --> |
| <xsd:simpleType name="SKU"> |
| <xsd:restriction base="xsd:string"> |
| <xsd:pattern value="\d{3}-[A-Z]{2}"/> |
| </xsd:restriction> |
| </xsd:simpleType> |
| </xsd:schema> |