<?xml version="1.0" encoding="UTF-8" ?>
<xsd:schema elementFormDefault="qualified" xmlns:xsd="http://www.w3.org/2001/XMLSchema">

    <xsd:include schemaLocation="common.xsd" />

    <xsd:complexType name="OverovatelVodTyp">
        <xsd:all>
            <xsd:element name="kod" type="LongStringTyp" />
            <xsd:element name="nazev" type="LongStringTyp" />
        </xsd:all>
    </xsd:complexType>

    <xsd:complexType name="OhlasovatelVodTyp">
        <xsd:all>
            <xsd:element name="ohlasovatel" type="OhlasovatelCommonTyp" />
        </xsd:all>
    </xsd:complexType>

    <xsd:complexType name="PovinnySubjektVodTyp">
        <xsd:all>
            <xsd:element name="povinnySubjekt" type="SubjektVodTyp" />
            <xsd:element name="nazevPobocky" type="LongStringTyp" minOccurs="0" />
        </xsd:all>
    </xsd:complexType>

    <xsd:complexType name="SubjektVodTyp">
        <xsd:all>
            <xsd:element name="ispopNazev" type="LongStringTyp" minOccurs="0" />
            <xsd:element name="ohlasovatelIdentifikatorVyber" type="OhlasovatelIdentifikatorVyberTyp" minOccurs="0" />
            <xsd:element name="ispopAdresa" type="ExtraLongStringTyp" minOccurs="0" />
        </xsd:all>
    </xsd:complexType>

    <xsd:complexType name="BankovniSpojeniTyp">
        <xsd:all>
            <xsd:element name="banka" type="LongStringTyp" minOccurs="0" />
            <xsd:element name="ucet" type="LongStringTyp" minOccurs="0" />
        </xsd:all>
    </xsd:complexType>

    <xsd:complexType name="VodOrpKatalogTyp">
        <xsd:all>
            <xsd:element name="kod" type="OrpTyp" minOccurs="0" />
            <xsd:element name="nazev" type="LongStringTyp" minOccurs="0" />
        </xsd:all>
    </xsd:complexType>

    <xsd:complexType name="OhlasovatelVodOvPvOstatniTyp">
        <xsd:all>
            <xsd:element name="jmeno" type="MediumStringTyp" minOccurs="0" />
            <xsd:element name="prijmeni" type="MediumStringTyp" minOccurs="0" />
            <xsd:element name="titul" type="MediumStringTyp" minOccurs="0" />
            <xsd:element name="kontakt" type="KontaktTyp" />
            <xsd:element name="nazevFunkce" type="LongStringTyp" minOccurs="0" />
        </xsd:all>
    </xsd:complexType>

    <xsd:simpleType name="DruhVodyTyp">
        <xsd:restriction base="xsd:string">
            <xsd:enumeration value="NECISTENE_ODPADNI_VODY" />
            <xsd:enumeration value="CISTENE_ODPADNI_VODY" />
            <xsd:enumeration value="CISTENE_ODPADNI_VODY_Z_VYROBY" />
        </xsd:restriction>
    </xsd:simpleType>

    <xsd:simpleType name="DruhOdberuTyp">
        <xsd:restriction base="xsd:string">
            <xsd:enumeration value="ODBER_POVRCHOVE_VODY" />
            <xsd:enumeration value="ODBER_PITNE_VODY_Z_VODOVODU" />
            <xsd:enumeration value="ODBER_PODZEMNI_VODY" />
        </xsd:restriction>
    </xsd:simpleType>

    <xsd:simpleType name="ZpusobStanoveniHodnotTyp">
        <xsd:restriction base="xsd:string">
            <xsd:enumeration value="MERENI" />
            <xsd:enumeration value="VYPOCET" />
            <xsd:enumeration value="ODVOZENI" />
            <xsd:enumeration value="ODHAD" />
        </xsd:restriction>
    </xsd:simpleType>

    <xsd:complexType name="IdentifikaceZdrojeTyp">
        <xsd:all>
            <xsd:element name="nazevZdroje" type="LongString1000Typ" />
            <xsd:element name="obecKod" type="ZujTyp" />
            <xsd:element name="obecNazev" type="LongStringTyp" />
            <xsd:element name="obecRozPusob" type="VodOrpKatalogTyp" minOccurs="0" />
            <xsd:element name="krajNazev" type="LongStringTyp" minOccurs="0" />
            <xsd:element name="krajKod" type="KrajCZTyp" minOccurs="0" />
            <xsd:element name="integrovanePovoleni" type="IntegrovanePovoleniTyp" minOccurs="0" />
        </xsd:all>
    </xsd:complexType>

    <!-- MZE -->
    <xsd:simpleType name="ShortString10Typ">
        <xsd:restriction base="xsd:string">
            <xsd:maxLength value="10" />
        </xsd:restriction>
    </xsd:simpleType>
    <xsd:simpleType name="ShortString13Typ">
        <xsd:restriction base="NonEmptyStringTyp">
            <xsd:maxLength value="13" />
        </xsd:restriction>
    </xsd:simpleType>
    <xsd:simpleType name="ShortString15Typ">
        <xsd:restriction base="xsd:string">
            <xsd:maxLength value="15" />
        </xsd:restriction>
    </xsd:simpleType>
    <xsd:simpleType name="ShortString20Typ">
        <xsd:restriction base="NonEmptyStringTyp">
            <xsd:maxLength value="20" />
        </xsd:restriction>
    </xsd:simpleType>
    <xsd:simpleType name="ShortString25Typ">
        <xsd:restriction base="xsd:string">
            <xsd:maxLength value="25" />
        </xsd:restriction>
    </xsd:simpleType>
    <xsd:simpleType name="ShortString30Typ">
        <xsd:restriction base="xsd:string">
            <xsd:maxLength value="30" />
        </xsd:restriction>
    </xsd:simpleType>
    <xsd:simpleType name="ShortString40Typ">
        <xsd:restriction base="xsd:string">
            <xsd:maxLength value="40" />
        </xsd:restriction>
    </xsd:simpleType>
    <xsd:simpleType name="ShortString50Typ">
        <xsd:restriction base="xsd:string">
            <xsd:maxLength value="50" />
        </xsd:restriction>
    </xsd:simpleType>
    <xsd:simpleType name="ShortString60Typ">
        <xsd:restriction base="xsd:string">
            <xsd:maxLength value="60" />
        </xsd:restriction>
    </xsd:simpleType>
    <xsd:simpleType name="ShortString80Typ">
        <xsd:restriction base="xsd:string">
            <xsd:maxLength value="80" />
        </xsd:restriction>
    </xsd:simpleType>
    <xsd:simpleType name="LongString1000Typ">
        <xsd:restriction base="NonEmptyStringTyp">
            <xsd:maxLength value="1000" />
        </xsd:restriction>
    </xsd:simpleType>
    <xsd:simpleType name="Int3pTyp">
        <xsd:restriction base="xsd:integer">
            <xsd:totalDigits value="3" />
            <xsd:minInclusive value="0" />
        </xsd:restriction>
    </xsd:simpleType>
    <xsd:simpleType name="Int4Typ">
        <xsd:restriction base="xsd:integer">
            <xsd:totalDigits value="4" />
        </xsd:restriction>
    </xsd:simpleType>
    <xsd:simpleType name="Int4pTyp">
        <xsd:restriction base="xsd:integer">
            <xsd:totalDigits value="4" />
            <xsd:minInclusive value="0" />
        </xsd:restriction>
    </xsd:simpleType>
    <xsd:simpleType name="Int8Typ">
        <xsd:restriction base="xsd:integer">
            <xsd:totalDigits value="8" />
        </xsd:restriction>
    </xsd:simpleType>
    <xsd:simpleType name="Int9pTyp">
        <xsd:restriction base="xsd:integer">
            <xsd:totalDigits value="9" />
            <xsd:minInclusive value="0" />
        </xsd:restriction>
    </xsd:simpleType>
    <xsd:simpleType name="Dec8pTyp">
        <xsd:restriction base="xsd:decimal">
            <xsd:totalDigits value="8" />
            <xsd:fractionDigits value="3" />
            <xsd:minInclusive value="0" />
        </xsd:restriction>
    </xsd:simpleType>
    <xsd:simpleType name="Dec9pTyp">
        <xsd:restriction base="xsd:decimal">
            <xsd:totalDigits value="9" />
            <xsd:fractionDigits value="4" />
            <xsd:minInclusive value="0" />
        </xsd:restriction>
    </xsd:simpleType>
    <xsd:simpleType name="Dec10Typ">
        <xsd:restriction base="xsd:decimal">
            <xsd:totalDigits value="10" />
            <xsd:fractionDigits value="3" />
        </xsd:restriction>
    </xsd:simpleType>
    <xsd:simpleType name="Dec10pTyp">
        <xsd:restriction base="xsd:decimal">
            <xsd:totalDigits value="10" />
            <xsd:fractionDigits value="3" />
            <xsd:minInclusive value="0" />
        </xsd:restriction>
    </xsd:simpleType>
    <xsd:simpleType name="Dec12Typ">
        <xsd:restriction base="xsd:decimal">
            <xsd:totalDigits value="12" />
            <xsd:fractionDigits value="3" />
        </xsd:restriction>
    </xsd:simpleType>
    <xsd:simpleType name="Dec12pTyp">
        <xsd:restriction base="xsd:decimal">
            <xsd:totalDigits value="12" />
            <xsd:fractionDigits value="3" />
            <xsd:minInclusive value="0" />
        </xsd:restriction>
    </xsd:simpleType>
    <xsd:simpleType name="Dec15Typ">
        <xsd:restriction base="xsd:decimal">
            <xsd:totalDigits value="15" />
            <xsd:fractionDigits value="6" />
        </xsd:restriction>
    </xsd:simpleType>

    <xsd:complexType name="ZpusobStanoveniTyp">
        <xsd:choice minOccurs="0">
            <xsd:element name="zpuMerMereni" type="ZpuMerMereniTyp" />
            <xsd:element name="zpuMerVypocet" type="ZpuMerVypocetTyp" />
            <xsd:element name="zpuMerOdvozeni" type="ZpuMerOdvozeniTyp" />
            <xsd:element name="zpuMerOdhad" type="ZpuMerOdhadTyp" />
        </xsd:choice>
    </xsd:complexType>
    <xsd:complexType name="ZpuMerMereniTyp" />
    <xsd:complexType name="ZpuMerVypocetTyp" />
    <xsd:complexType name="ZpuMerOdvozeniTyp" />
    <xsd:complexType name="ZpuMerOdhadTyp" />

    <xsd:complexType name="BrehTyp">
        <xsd:choice minOccurs="0">
            <xsd:element name="brehLevy" type="BrehLevyTyp" />
            <xsd:element name="brehStred" type="BrehStredTyp" />
            <xsd:element name="brehPravy" type="BrehPravyTyp" />
            <xsd:element name="brehOba" type="BrehObaTyp" />
        </xsd:choice>
    </xsd:complexType>
    <xsd:complexType name="BrehLevyTyp" />
    <xsd:complexType name="BrehStredTyp" />
    <xsd:complexType name="BrehPravyTyp" />
    <xsd:complexType name="BrehObaTyp" />

    <xsd:complexType name="Odber12MesicuTyp">
        <xsd:sequence>
            <xsd:element name="objemMes01" type="Dec12pTyp" minOccurs="0" />
            <xsd:element name="objemMes02" type="Dec12pTyp" minOccurs="0" />
            <xsd:element name="objemMes03" type="Dec12pTyp" minOccurs="0" />
            <xsd:element name="objemMes04" type="Dec12pTyp" minOccurs="0" />
            <xsd:element name="objemMes05" type="Dec12pTyp" minOccurs="0" />
            <xsd:element name="objemMes06" type="Dec12pTyp" minOccurs="0" />
            <xsd:element name="objemMes07" type="Dec12pTyp" minOccurs="0" />
            <xsd:element name="objemMes08" type="Dec12pTyp" minOccurs="0" />
            <xsd:element name="objemMes09" type="Dec12pTyp" minOccurs="0" />
            <xsd:element name="objemMes10" type="Dec12pTyp" minOccurs="0" />
            <xsd:element name="objemMes11" type="Dec12pTyp" minOccurs="0" />
            <xsd:element name="objemMes12" type="Dec12pTyp" minOccurs="0" />
            <xsd:element name="objemCelkem" type="Dec12pTyp" minOccurs="0" />
        </xsd:sequence>
    </xsd:complexType>

    <xsd:complexType name="Odber12Mesicu2FrTyp">
        <xsd:sequence>
            <xsd:element name="objemMes01" type="Decimal2FrTyp" minOccurs="0" />
            <xsd:element name="objemMes02" type="Decimal2FrTyp" minOccurs="0" />
            <xsd:element name="objemMes03" type="Decimal2FrTyp" minOccurs="0" />
            <xsd:element name="objemMes04" type="Decimal2FrTyp" minOccurs="0" />
            <xsd:element name="objemMes05" type="Decimal2FrTyp" minOccurs="0" />
            <xsd:element name="objemMes06" type="Decimal2FrTyp" minOccurs="0" />
            <xsd:element name="objemMes07" type="Decimal2FrTyp" minOccurs="0" />
            <xsd:element name="objemMes08" type="Decimal2FrTyp" minOccurs="0" />
            <xsd:element name="objemMes09" type="Decimal2FrTyp" minOccurs="0" />
            <xsd:element name="objemMes10" type="Decimal2FrTyp" minOccurs="0" />
            <xsd:element name="objemMes11" type="Decimal2FrTyp" minOccurs="0" />
            <xsd:element name="objemMes12" type="Decimal2FrTyp" minOccurs="0" />
            <xsd:element name="objemCelkem" type="Decimal2FrTyp" minOccurs="0" />
        </xsd:sequence>
    </xsd:complexType>

    <xsd:complexType name="PocetHodinOdberu12MesicuTyp">
        <xsd:sequence>
            <xsd:element name="hodinyMes01" type="Int3pTyp" minOccurs="0" />
            <xsd:element name="hodinyMes02" type="Int3pTyp" minOccurs="0" />
            <xsd:element name="hodinyMes03" type="Int3pTyp" minOccurs="0" />
            <xsd:element name="hodinyMes04" type="Int3pTyp" minOccurs="0" />
            <xsd:element name="hodinyMes05" type="Int3pTyp" minOccurs="0" />
            <xsd:element name="hodinyMes06" type="Int3pTyp" minOccurs="0" />
            <xsd:element name="hodinyMes07" type="Int3pTyp" minOccurs="0" />
            <xsd:element name="hodinyMes08" type="Int3pTyp" minOccurs="0" />
            <xsd:element name="hodinyMes09" type="Int3pTyp" minOccurs="0" />
            <xsd:element name="hodinyMes10" type="Int3pTyp" minOccurs="0" />
            <xsd:element name="hodinyMes11" type="Int3pTyp" minOccurs="0" />
            <xsd:element name="hodinyMes12" type="Int3pTyp" minOccurs="0" />
            <xsd:element name="hodinyCelkem" type="Int4pTyp" minOccurs="0" />
        </xsd:sequence>
    </xsd:complexType>

    <xsd:complexType name="OstatniPrilohyTyp">
        <xsd:sequence>
            <xsd:element name="priloha" type="FileDataTyp" minOccurs="0" maxOccurs="unbounded" />
        </xsd:sequence>
    </xsd:complexType>

    <xsd:complexType name="UdajeDodatecneTyp">
        <xsd:sequence>
            <xsd:element name="datumZjisteniZmeny" type="xsd:date" />
            <xsd:element name="duvodPodani" type="LongStringTyp" />
            <xsd:element name="puvodniVysePoplatku" type="Decimal2FrTyp" />
            <xsd:element name="novaVysePoplatku" type="Decimal2FrTyp" />
            <xsd:element name="zmenaCastkyPoplatku" type="DecimalNeg2FrTyp" />
        </xsd:sequence>
    </xsd:complexType>

    <xsd:simpleType name="DecimalNeg2FrTyp">
        <xsd:restriction base="xsd:decimal">
            <xsd:totalDigits value="15" />
            <xsd:fractionDigits value="2" />
        </xsd:restriction>
    </xsd:simpleType>

    <xsd:simpleType name="KodKrajTyp">
        <xsd:restriction base="xsd:string">
            <xsd:pattern value="[cC][zZ][0-9]{2,3}0" />
        </xsd:restriction>
    </xsd:simpleType>
    <xsd:simpleType name="KodOkresTyp">
        <xsd:restriction base="xsd:string">
            <xsd:pattern value="[cC][zZ][0-9]{3}[0-9a-cA-C]" />
        </xsd:restriction>
    </xsd:simpleType>
    <xsd:simpleType name="KodObecTyp">
        <xsd:restriction base="xsd:string">
            <xsd:pattern value="5[0-9]{5}" />
        </xsd:restriction>
    </xsd:simpleType>
    <xsd:simpleType name="KodKatastrTyp">
        <xsd:restriction base="xsd:string">
            <xsd:pattern value="[679][0-9]{5}" />
        </xsd:restriction>
    </xsd:simpleType>
    <xsd:simpleType name="KodHGRajonTyp">
        <xsd:restriction base="xsd:string">
            <xsd:pattern value="[0-9]{4}" />
        </xsd:restriction>
    </xsd:simpleType>
    <xsd:simpleType name="KodUkazatelTyp">
        <xsd:restriction base="xsd:string">
            <xsd:pattern value="[a-zA-Z]{2}[0-9]{4}(-[a-zA-Z]{4})?" />
        </xsd:restriction>
    </xsd:simpleType>
    <xsd:simpleType name="JednotkaTyp">
        <xsd:restriction base="xsd:string">
            <xsd:maxLength value="15" />
        </xsd:restriction>
    </xsd:simpleType>

</xsd:schema>
