1 | <?xml version="1.0"?>
|
---|
2 | <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
|
---|
3 | xmlns:po="http://www.example.com/PO1"
|
---|
4 | targetNamespace="http://www.example.com/PO1"
|
---|
5 | elementFormDefault="unqualified"
|
---|
6 | attributeFormDefault="unqualified">
|
---|
7 | <xsd:annotation>
|
---|
8 | <xsd:documentation xml:lang="en">
|
---|
9 | Purchase order schema for Example.com.
|
---|
10 | Copyright 2000 Example.com. All rights reserved.
|
---|
11 | </xsd:documentation>
|
---|
12 | </xsd:annotation>
|
---|
13 | <xsd:element name="purchaseOrder" type="po:PurchaseOrderType"/>
|
---|
14 | <xsd:element name="comment" type="xsd:string"/>
|
---|
15 | <xsd:complexType name="PurchaseOrderType">
|
---|
16 | <xsd:sequence>
|
---|
17 | <xsd:element name="shipTo" type="po:USAddress"/>
|
---|
18 | <xsd:element name="billTo" type="po:USAddress"/>
|
---|
19 | <xsd:element ref="po:comment" minOccurs="0"/>
|
---|
20 | <xsd:element name="items" type="po:Items"/>
|
---|
21 | </xsd:sequence>
|
---|
22 | <xsd:attribute name="orderDate" type="xsd:date"/>
|
---|
23 | </xsd:complexType>
|
---|
24 | <xsd:complexType name="USAddress">
|
---|
25 | <xsd:sequence>
|
---|
26 | <xsd:element name="name" type="xsd:string"/>
|
---|
27 | <xsd:element name="street" type="xsd:string"/>
|
---|
28 | <xsd:element name="city" type="xsd:string"/>
|
---|
29 | <xsd:element name="state" type="xsd:string"/>
|
---|
30 | <xsd:element name="zip" type="xsd:decimal"/>
|
---|
31 | </xsd:sequence>
|
---|
32 | <xsd:attribute name="country" type="xsd:NMTOKEN" fixed="US"/>
|
---|
33 | </xsd:complexType>
|
---|
34 | <xsd:complexType name="Items">
|
---|
35 | <xsd:sequence>
|
---|
36 | <xsd:element name="item" minOccurs="0" maxOccurs="unbounded">
|
---|
37 | <xsd:complexType>
|
---|
38 | <xsd:sequence>
|
---|
39 | <xsd:element name="productName" type="xsd:string"/>
|
---|
40 | <xsd:element name="quantity">
|
---|
41 | <xsd:simpleType>
|
---|
42 | <xsd:restriction base="xsd:positiveInteger">
|
---|
43 | <xsd:maxExclusive value="100"/>
|
---|
44 | </xsd:restriction>
|
---|
45 | </xsd:simpleType>
|
---|
46 | </xsd:element>
|
---|
47 | <xsd:element name="USPrice" type="xsd:decimal"/>
|
---|
48 | <xsd:element ref="po:comment" minOccurs="0"/>
|
---|
49 | <xsd:element name="shipDate" type="xsd:date" minOccurs="0"/>
|
---|
50 | </xsd:sequence>
|
---|
51 | <xsd:attribute name="partNum" type="po:SKU" use="required"/>
|
---|
52 | </xsd:complexType>
|
---|
53 | </xsd:element>
|
---|
54 | </xsd:sequence>
|
---|
55 | </xsd:complexType>
|
---|
56 | <!-- Stock Keeping Unit, a code for identifying products -->
|
---|
57 | <xsd:simpleType name="SKU">
|
---|
58 | <xsd:restriction base="xsd:string">
|
---|
59 | <xsd:pattern value="\d{3}-[A-Z]{2}"/>
|
---|
60 | </xsd:restriction>
|
---|
61 | </xsd:simpleType>
|
---|
62 | </xsd:schema>
|
---|
63 |
|
---|
64 |
|
---|