<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:tns="http://csu.cz/sdmx/soap" xmlns:vm="http://csu.cz/sdmx/validation/model"
           targetNamespace="http://csu.cz/sdmx/soap" elementFormDefault="qualified">
    <xs:import namespace="http://csu.cz/sdmx/validation/model" schemaLocation="validationModel.xsd"/>
    <xs:element name="getValidationResultRequest">
        <xs:complexType>
            <xs:sequence>
                <xs:element name="validationResultID" type="xs:int"/>
            </xs:sequence>
        </xs:complexType>
    </xs:element>
    <xs:element name="getValidationResultResponse">
        <xs:complexType>
            <xs:sequence>
                <xs:element name="validationResult" type="vm:validationResult"/>
            </xs:sequence>
        </xs:complexType>
    </xs:element>
    
    <xs:element name="getValidationResultsRequest">
        <xs:complexType>
            <xs:sequence>
                <xs:element name="dateFrom" type="xs:date"/>
                <xs:element name="dateTo" type="xs:date"/>
            </xs:sequence>
        </xs:complexType>
    </xs:element>
    <xs:element name="getValidationResultsResponse">
        <xs:complexType>
            <xs:sequence>
                <xs:element name="validationResult" type="vm:validationResult" maxOccurs="unbounded" minOccurs="0"/>
            </xs:sequence>
        </xs:complexType>
    </xs:element>
    
    <xs:element name="validationRequest">
        <xs:complexType>
            <xs:sequence>
                <xs:element name="data" type="tns:soapFile"/>
                <xs:element name="dsd" type="tns:soapFile" minOccurs="1" maxOccurs="unbounded"/>
            </xs:sequence>
        </xs:complexType>
    </xs:element>
    
    <xs:complexType name="soapFile">
         <xs:sequence>
                <xs:element name="name" type="xs:string" minOccurs="0" maxOccurs="1"/>
                <xs:element name="bytes" type="xs:base64Binary"/>
         </xs:sequence>
     </xs:complexType>
     
    <xs:element name="validationResponse">
       <xs:complexType>
            <xs:sequence>
                <xs:element name="validationResult" type="vm:validationResult"/>
            </xs:sequence>
        </xs:complexType>
    </xs:element>
    
    <xs:element name="getConditionByIdRequest">
        <xs:complexType>
            <xs:sequence>
                <xs:element name="conditionID" type="xs:int"/>
            </xs:sequence>
        </xs:complexType>
    </xs:element>
    <xs:element name="getConditionByIdResponse">
       <xs:complexType>
            <xs:sequence>
                <xs:element name="condition" type="vm:condition"/>
            </xs:sequence>
        </xs:complexType>
    </xs:element>
    
    <xs:element name="getConditionsByDsdUrnRequest">
        <xs:complexType>
            <xs:sequence>
                <xs:element name="dsdUrn" type="xs:string"/>
            </xs:sequence>
        </xs:complexType>
    </xs:element>
    <xs:element name="getAllConditionsRequest" />
    <xs:element name="getAllConditionsResponse" type="tns:getConditionsResponse" />
    <xs:element name="getConditionsByDsdUrnResponse" type="tns:getConditionsResponse" />
    <xs:complexType name="getConditionsResponse">
         <xs:sequence>
             <xs:element name="condition" type="vm:condition" maxOccurs="unbounded" minOccurs="0"/>
         </xs:sequence>
     </xs:complexType>
    
<!--    <xs:element name="addConditionsRequest">
        <xs:complexType>
            <xs:sequence>
                <xs:element name="dsdFile" type="xs:base64Binary" maxOccurs="1" minOccurs="0"/>
                <xs:element name="condition" type="vm:conditionNoId" maxOccurs="unbounded" minOccurs="1"/>
            </xs:sequence>
        </xs:complexType>
    </xs:element>
    <xs:element name="addConditionsResponse">
       <xs:complexType>
            <xs:sequence>
                <xs:element name="result" type="tns:addConditionsResult"/>
                <xs:element name="addConditionResult" type="tns:addConditionResult" maxOccurs="unbounded" minOccurs="0"/>
            </xs:sequence>
        </xs:complexType>
    </xs:element>
    <xs:complexType name="addConditionsResult">
         <xs:sequence>
             <xs:element name="status" type="tns:addConditionsStatus"/>
             <xs:element name="conditionsReceived" type="xs:int"/>
             <xs:element name="conditionsAdded" type="xs:int" default="0"/>
             <xs:element name="error" type="vm:validationError" maxOccurs="unbounded" minOccurs="0"/>
         </xs:sequence>
     </xs:complexType>
     <xs:simpleType name="addConditionsStatus">
        <xs:restriction base="xs:string">
            <xs:enumeration value="Success" />
            <xs:enumeration value="Failed" />
            <xs:enumeration value="DSDFile structure errors" />
            <xs:enumeration value="Unsupported DSD" />
        </xs:restriction>
    </xs:simpleType>
     <xs:simpleType name="addConditionStatus">
        <xs:restriction base="xs:string">
            <xs:enumeration value="Success" />
            <xs:enumeration value="Failed" />
        </xs:restriction>
    </xs:simpleType>
    <xs:complexType name="addConditionResult">
         <xs:sequence>
             <xs:element name="status" type="tns:addConditionStatus"/>
             <xs:element name="error" type="xs:string" maxOccurs="unbounded" minOccurs="0"/>
             <xs:element name="condition" type="vm:condition" />
         </xs:sequence>
     </xs:complexType>-->
</xs:schema>