<?xml version="1.0" encoding="UTF-8"?>
<xsd:schema elementFormDefault="qualified" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<xsd:annotation>
<xsd:documentation>
Purchase order schema for Example.com.
Copyright 2000 Example.com. All rights reserved.
</xsd:documentation>
</xsd:annotation>
<xsd:element name="purchaseOrder">
<xsd:complexType>
<xsd:complexContent>
<xsd:extension base="PurchaseOrderType"/>
</xsd:complexContent>
</xsd:complexType>
</xsd:element>
<xsd:element name="comment"/>
<xsd:complexType name="PurchaseOrderType">
<xsd:sequence>
<xsd:element name="deliveryOption">
<xsd:annotation>
<xsd:documentation>This is the delivery option annotation from XSD.</xsd:documentation>
</xsd:annotation>
<xsd:simpleType>
<xsd:restriction base="xsd:string"/>
</xsd:simpleType>
</xsd:element>
<xsd:element minOccurs="0" name="email" type="xsd:string"/>
<xsd:element name="express" type="xsd:boolean"/>
<xsd:element name="shipTo">
<xsd:complexType>
<xsd:complexContent>
<xsd:extension base="USAddress"/>
</xsd:complexContent>
</xsd:complexType>
</xsd:element>
<xsd:element minOccurs="0" name="billTo">
<xsd:complexType>
<xsd:complexContent>
<xsd:extension base="USAddress"/>
</xsd:complexContent>
</xsd:complexType>
</xsd:element>
<xsd:element name="paymentMethod">
<xsd:complexType>
<xsd:choice>
<xsd:element minOccurs="0" name="cash" type="xsd:string"/>
<xsd:element minOccurs="0" name="cashOnDelivery" type="xsd:string"/>
<xsd:element name="cheque">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="no" type="xsd:int"/>
<xsd:element name="chequeInstitut" type="xsd:string"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:element name="creditCard">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="no" type="xsd:int"/>
<xsd:element name="expirationDate" type="xsd:date"/>
<xsd:element name="holderName"/>
<xsd:element name="type">
<xsd:simpleType>
<xsd:restriction base="xsd:string">
<xsd:enumeration value="master"/>
<xsd:enumeration value="visa"/>
<xsd:enumeration value="americanExpress"/>
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
<xsd:element ref="comment"/>
<xsd:element maxOccurs="unbounded" minOccurs="3" name="item" type="itemType"/>
</xsd:sequence>
<xsd:attribute name="orderDate" type="xsd:date" use="required"/>
</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:complexType name="USAddress">
<xsd:sequence>
<xsd:element name="name" type="xsd:string"/>
<xsd:element minOccurs="0" name="street" type="xsd:string"/>
<xsd:element name="city" type="xsd:string"/>
<xsd:element name="zip" type="xsd:integer"/>
<xsd:element name="country" type="xsd:string"/>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="ProductType">
<xsd:sequence>
<xsd:element name="productName" type="xsd:string"/>
<xsd:element name="quantity">
<xsd:simpleType>
<xsd:restriction base="xsd:positiveInteger">
<xsd:maxInclusive value="100"/>
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
<xsd:element name="price" type="xsd:decimal"/>
</xsd:sequence>
<xsd:attribute name="partNum" type="SKU" use="optional"/>
</xsd:complexType>
<xsd:complexType name="itemType">
<xsd:sequence>
<xsd:element minOccurs="0" name="product" type="ProductType"/>
<xsd:element minOccurs="0" name="shipDate" type="xsd:date"/>
</xsd:sequence>
</xsd:complexType>
</xsd:schema>


  • Keine Stichwörter