<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
    targetNamespace="http://www.egis-online.de/EBC/schema/PurchaseOrderQuery"
    xmlns="http://www.egis-online.de/EBC/schema/PurchaseOrderQuery"
    elementFormDefault="qualified">
    <xs:element name="PurchaseOrderQuery">
        <xs:complexType>
            <xs:sequence>
                <xs:element ref="TransactionHeader"/>
                <xs:element ref="PurchaseOrder"/>
            </xs:sequence>
        </xs:complexType>
    </xs:element>
    <xs:element name="TransactionHeader">
        <xs:complexType>
            <xs:sequence>
                <xs:element ref="VersionId"/>
                <xs:element ref="GenerationDateTime"/>
                <xs:element ref="ERP"/>
                <xs:element ref="Login"/>
                <xs:element ref="Password"/>
            </xs:sequence>
        </xs:complexType>
    </xs:element>
    <xs:element name="VersionId" type="xs:decimal"/>
    <xs:element name="GenerationDateTime" type="xs:dateTime"/>
    <xs:element name="ERP" type="xs:string"/>
    <xs:element name="Login">
        <xs:simpleType>
            <xs:restriction base="xs:string">
                <xs:minLength value="1"/>
                <xs:maxLength value="40"/>
            </xs:restriction>
        </xs:simpleType>
    </xs:element>
    <xs:element name="Password">
        <xs:simpleType>
            <xs:restriction base="xs:string">
                <xs:minLength value="1"/>
                <xs:maxLength value="40"/>
            </xs:restriction>
        </xs:simpleType>
    </xs:element>
    <xs:element name="PurchaseOrder">
        <xs:complexType>
            <xs:sequence>
                <xs:element ref="Query"/>
            </xs:sequence>
        </xs:complexType>
    </xs:element>
    <xs:element name="Query">
        <xs:complexType>
            <xs:choice>
                <xs:element ref="DocumentReference"/>
                <xs:element ref="DocumentDate"/>
            </xs:choice>
        </xs:complexType>
    </xs:element>
    <xs:element name="DocumentReference">
        <xs:complexType>
            <xs:sequence>
                <xs:element ref="PurchaseOrderReference"/>
            </xs:sequence>
        </xs:complexType>
    </xs:element>
    <xs:element name="PurchaseOrderReference">
        <xs:complexType>
            <xs:sequence>
                <xs:element ref="ProprietaryPurchaseOrderIdentifier"/>
            </xs:sequence>
        </xs:complexType>
    </xs:element>
    <xs:element name="ProprietaryPurchaseOrderIdentifier">
        <xs:complexType>
            <xs:sequence>
                <xs:element ref="ProprietaryPurchaseOrderNumber"/>
            </xs:sequence>
        </xs:complexType>
    </xs:element>
    <xs:element name="ProprietaryPurchaseOrderNumber">
        <xs:simpleType>
            <xs:restriction base="xs:string">
                <xs:maxLength value="10"/>
            </xs:restriction>
        </xs:simpleType>
    </xs:element>
    <xs:element name="DocumentDate">
        <xs:complexType>
            <xs:sequence>
                <xs:element ref="PurchaseOrderDate"/>
            </xs:sequence>
        </xs:complexType>
    </xs:element>
    <xs:element name="PurchaseOrderDate">
        <xs:complexType>
            <xs:sequence>
                <xs:element ref="ProprietaryPurchaseOrderDate"/>
            </xs:sequence>
        </xs:complexType>
    </xs:element>
    <xs:element name="ProprietaryPurchaseOrderDate">
        <xs:complexType>
            <xs:sequence>
                <xs:element ref="DateFrom"/>
                <xs:element ref="DateTo"/>
            </xs:sequence>
        </xs:complexType>
    </xs:element>
    <xs:element name="DateFrom">
        <xs:simpleType>
            <xs:restriction base="xs:date">
                <xs:pattern value="[^:Z]*"/>
            </xs:restriction>
        </xs:simpleType>
    </xs:element>
    <xs:element name="DateTo">
        <xs:simpleType>
            <xs:restriction base="xs:date">
                <xs:pattern value="[^:Z]*"/>
            </xs:restriction>
        </xs:simpleType>
    </xs:element>
</xs:schema>
