<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">
    <xs:element name="Documents">
        <xs:complexType>
            <xs:sequence>
                <xs:element ref="Document" maxOccurs="100"/>
                <xs:element ref="Totals"/>
            </xs:sequence>
        </xs:complexType>
    </xs:element>
    <xs:element name="Document">
        <xs:complexType>
            <xs:sequence>
                <xs:element name="Id" type="xs:long">
                    <xs:annotation>
                        <xs:documentation>edi_documents.id</xs:documentation>
                    </xs:annotation>
                </xs:element>
                <xs:element name="Type" type="String255" minOccurs="0">
                    <xs:annotation>
                        <xs:documentation>edi_documents.type</xs:documentation>
                    </xs:annotation>
                </xs:element>
                <xs:element name="Number" type="String255" minOccurs="0">
                    <xs:annotation>
                        <xs:documentation>edi_documents.number</xs:documentation>
                    </xs:annotation>
                </xs:element>
                <xs:element name="DocDate" type="Date" minOccurs="0">
                    <xs:annotation>
                        <xs:documentation>edi_documents.doctime</xs:documentation>
                    </xs:annotation>
                </xs:element>
                <xs:element name="CreationDateTime" type="DateTime" minOccurs="0">
                    <xs:annotation>
                        <xs:documentation>edi_documents.creationdate</xs:documentation>
                    </xs:annotation>
                </xs:element>
                <xs:element name="FileName" type="String255" minOccurs="0">
                    <xs:annotation>
                        <xs:documentation>формируем по маске %ID%_%type%_%number%.(zip |
                            xml)</xs:documentation>
                    </xs:annotation>
                </xs:element>
                <xs:element name="SednerILN" type="ILN" minOccurs="0">
                    <xs:annotation>
                        <xs:documentation>edi_organizations.iln где edi_organizations.id =
                            edi_documents.fromorg_id</xs:documentation>
                    </xs:annotation>
                </xs:element>
                <xs:element name="ReceiverILN" type="ILN" minOccurs="0">
                    <xs:annotation>
                        <xs:documentation>edi_organizations.iln где edi_organizations.id =
                            edi_documents.toorg_id</xs:documentation>
                    </xs:annotation>
                </xs:element>
                <xs:element name="DocFlowID" type="UUID" minOccurs="0">
                    <xs:annotation>
                        <xs:documentation>edi_document_flow_ids документа. Для всех документов
                            необходимо генерировать Doc_flow_id!!!</xs:documentation>
                    </xs:annotation>
                </xs:element>
                <xs:element name="Error" type="String255" minOccurs="0">
                    <xs:annotation>
                        <xs:documentation>Текст ошибки</xs:documentation>
                    </xs:annotation>
                </xs:element>
            </xs:sequence>
        </xs:complexType>
    </xs:element>
    <xs:element name="Totals">
        <xs:complexType>
            <xs:sequence>
                <xs:element name="TotalCount" type="xs:int">
                    <xs:annotation>
                        <xs:documentation>Общее количество возвращемых документов на метод
                            GetDocuments</xs:documentation>
                    </xs:annotation>
                </xs:element>
            </xs:sequence>
        </xs:complexType>
    </xs:element>
    <xs:simpleType name="Date">
        <xs:restriction base="xs:date">
            <xs:pattern value="[0-9]{4}-[0-9]{2}-[0-9]{2}"/>
        </xs:restriction>
    </xs:simpleType>
    <xs:simpleType name="DateTime">
        <xs:restriction base="xs:string">
            <xs:pattern
                value="[0-9]{4}-[0-9]{2}-[0-9]{2}\s[0-9]{2}:[0-9]{2}:[0-9]{2}\.([0-9]{3}|[0-9]{2})"
            />
        </xs:restriction>
    </xs:simpleType>
    <xs:simpleType name="String255">
        <xs:restriction base="xs:string">
            <xs:maxLength value="255"/>
            <xs:minLength value="0"/>
        </xs:restriction>
    </xs:simpleType>
    <xs:simpleType name="ILN">
        <xs:restriction base="xs:string">
            <xs:pattern value="[0-9]{13}"/>
        </xs:restriction>
    </xs:simpleType>
    <xs:simpleType name="UUID">
        <xs:restriction base="xs:string">
            <xs:pattern
                value="([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})|(\{[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}\})"
            />
        </xs:restriction>
    </xs:simpleType>
</xs:schema>
