<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns="urn:cz:isvs:aisv:schemas:AisvEditaceData:v1"
           xmlns:xs="http://www.w3.org/2001/XMLSchema"
           xmlns:reg="urn:cz:isvs:reg:schemas:RegTypy:v1"
           xmlns:dt="urn:cz:isvs:aisv:schemas:AisvTypy:v1"
           targetNamespace="urn:cz:isvs:aisv:schemas:AisvEditaceData:v1"
           elementFormDefault="qualified"
           attributeFormDefault="unqualified"
           version="0.9.0">

    <xs:annotation>
        <xs:documentation xml:lang="cs">XML schéma s definicemi dat pro služby AISV.</xs:documentation>
    </xs:annotation>

    <!-- Vývojová verze 0.9.0, 14.6.2023, Vladimír Hudec  Úvodní verze -->

    <xs:import namespace="urn:cz:isvs:reg:schemas:RegTypy:v1" schemaLocation="../../RegTypy.xsd"/>
    <xs:import namespace="urn:cz:isvs:aisv:schemas:AisvTypy:v1" schemaLocation="AisvTypy.xsd" />

    <xs:element name="AisvEvidujZmenuData" type="AisvEvidujZmenuDataType" />
    <xs:element name="AisvEvidujZmenuDataResponse" type="AisvEvidujZmenuDataResponseType" />
    <xs:element name="AisvEvidujZmenuRData" type="AisvEvidujZmenuRDataType" />
    <xs:element name="AisvEvidujZmenuRDataResponse" type="AisvEvidujZmenuDataResponseType" />
    <xs:element name="AisvPrihlasIdData" type="AisvPrihlasIdDataType" />
    <xs:element name="AisvPrihlasIdDataResponse" type="AisvPrihlasIdDataResponseType" />
    <xs:element name="AisvOdhlasIdData" type="AisvOdhlasIdDataType" />
    <xs:element name="AisvOdhlasIdDataResponse" type="AisvOdhlasIdDataResponseType" />

    <xs:complexType name="AisvEditaceDataResponseType" abstract="true">
        <xs:annotation>
            <xs:documentation xml:lang="cs">
                Společný předek všech odpovědí na editační žádosti AISV.
            </xs:documentation>
        </xs:annotation>
        <xs:sequence>
            <xs:element name="AisvAplikacniStatus" type="dt:AisvAplikacniStatusType" />
        </xs:sequence>
    </xs:complexType>

     <xs:complexType name="AisvEvidujZmenuDataType">
        <xs:annotation>
            <xs:documentation xml:lang="cs">Datovy typ pro evidování změny v PAIS
            </xs:documentation>
        </xs:annotation>
        <xs:sequence>
            <xs:element name="PaisId" type="dt:PaisIdType"/>
            <xs:element name="PaisZmenaId" type="dt:PaisZmenaIdType"/>
            <xs:element name="PaisZmenaCas" type="xs:dateTime"/>
            <!--xs:element name="PuvodniAdresaPobytu" type="reg:KodAdresniMistoType" minOccurs="0"/-->
            <!--xs:element name="NovaAdresaPobytu" type="reg:KodAdresniMistoType" minOccurs="0"/-->
        </xs:sequence>
    </xs:complexType>

     <xs:complexType name="AisvEvidujZmenuRDataType">
        <xs:annotation>
            <xs:documentation xml:lang="cs">Datovy typ pro evidování změny v registru
            </xs:documentation>
        </xs:annotation>
        <xs:sequence>
            <xs:element name="PaisId" type="dt:PaisIdType"/>
            <xs:element name="PaisZmenaId" type="dt:PaisZmenaIdType"/>
            <xs:element name="PaisZmenaCas" type="xs:dateTime"/>
            <!--xs:element name="PuvodniAdresaPobytu" type="reg:KodAdresniMistoType" minOccurs="0"/-->
            <!--xs:element name="NovaAdresaPobytu" type="reg:KodAdresniMistoType" minOccurs="0"/-->
            <xs:element name="IdKontrola" type="dt:IdKontrolaType"/>
        </xs:sequence>
    </xs:complexType>

     <xs:complexType name="AisvEvidujZmenuDataResponseType">
        <xs:annotation>
            <xs:documentation xml:lang="cs">Datovy typ pro odpověď na evidování změny
            </xs:documentation>
        </xs:annotation>
        <xs:complexContent>
            <xs:extension base="AisvEditaceDataResponseType">
                <xs:sequence minOccurs="0">
		            <xs:element name="ZmenaId" type="dt:ZmenaIdType">
		                <xs:annotation>
		                    <xs:documentation xml:lang="cs">Jednoznačný identifikátor změny v AISV.</xs:documentation>
		                </xs:annotation>
		            </xs:element>
		            <xs:element name="ZmenaCas" type="xs:dateTime">
		                <xs:annotation>
		                    <xs:documentation xml:lang="cs">Datum/čas změny v AISV.</xs:documentation>
		                </xs:annotation>
		            </xs:element>
                </xs:sequence>
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>
    
     <xs:complexType name="AisvPrihlasIdDataType">
        <xs:annotation>
            <xs:documentation xml:lang="cs">Datovy typ pro přihlášení subjektů pro sledování změn
            </xs:documentation>
        </xs:annotation>
        <xs:sequence maxOccurs="unbounded">
            <xs:element name="PaisId" type="dt:PaisIdType" />
        </xs:sequence>
    </xs:complexType>

     <xs:complexType name="AisvPrihlasIdDataResponseType">
        <xs:annotation>
            <xs:documentation xml:lang="cs">Datovy typ pro odpověď na přihlášení subjektů
            </xs:documentation>
        </xs:annotation>
        <xs:complexContent>
            <xs:extension base="AisvEditaceDataResponseType">
                <xs:sequence minOccurs="0">
                </xs:sequence>
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>
    
     <xs:complexType name="AisvOdhlasIdDataType">
        <xs:annotation>
            <xs:documentation xml:lang="cs">Datovy typ pro odhlášení subjektů pro sledování změn
            </xs:documentation>
        </xs:annotation>
        <xs:sequence maxOccurs="unbounded">
            <xs:element name="PaisId" type="dt:PaisIdType" />
        </xs:sequence>
    </xs:complexType>

     <xs:complexType name="AisvOdhlasIdDataResponseType">
        <xs:annotation>
            <xs:documentation xml:lang="cs">Datovy typ pro odpověď na odhlášení subjektů
            </xs:documentation>
        </xs:annotation>
        <xs:complexContent>
            <xs:extension base="AisvEditaceDataResponseType">
                <xs:sequence minOccurs="0">
                </xs:sequence>
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>

</xs:schema>
