<?xml version="1.0" encoding="UTF-8" ?>
<xsd:schema elementFormDefault="qualified" xmlns:xsd="http://www.w3.org/2001/XMLSchema">

    <xsd:include schemaLocation="common.xsd" />

    <!-- form element -->
    <xsd:element name="F_IRZ">
        <xsd:complexType>

            <xsd:all>
                <xsd:element name="meta-info" type="MetaInfoTyp" />
                <xsd:element name="sekce1" type="Sekce1Typ" />
                <xsd:element name="sekce2" type="Sekce2Typ" />
                <xsd:element name="sekce3" type="Sekce3Typ" />
                <xsd:element name="sekce4" type="Sekce4Typ" />
            </xsd:all>

            <xsd:attribute name="version" type="ShortStringTyp" use="required" fixed="2026" />
            <xsd:attribute name="revision" type="ShortStringTyp" use="required" fixed="1" />

        </xsd:complexType>
    </xsd:element>
    <!-- end of form element -->

    <!-- sekce complex types -->
    <xsd:complexType name="Sekce1Typ">
        <xsd:all>
            <xsd:element name="radneDoplneneHlaseni" type="RadneDoplneneHlaseniDuvodTyp" />
            <xsd:element name="rok" type="RokTyp" fixed="2026" />

            <xsd:element name="hlaseniVyplnil" type="ZpracovatelTyp" />
            <xsd:element name="ohlasovatel" type="OhlasovatelCommonTyp" />
            <xsd:element name="ohlasovatelOstatni" type="IrzOhlasovatelOstatniTyp" />

            <xsd:element name="integrovanePovoleni" type="IntegrovanePovoleniViceTyp" minOccurs="0" />

            <xsd:element name="provozovna" type="ProvozovnaIrzTyp" />
        </xsd:all>
    </xsd:complexType>

    <xsd:complexType name="Sekce2Typ">
        <xsd:all>
            <xsd:element name="cinnosti" type="CinnostiTyp" />
        </xsd:all>
    </xsd:complexType>

    <xsd:complexType name="Sekce3Typ">
        <xsd:all>
            <xsd:element name="unikyOvzdusi" type="UnikyOvzdusiTyp" minOccurs="0" />
            <xsd:element name="unikyVoda" type="UnikyVodaTyp" minOccurs="0" />
            <xsd:element name="unikyPuda" type="UnikyPudaTyp" minOccurs="0" />
            <xsd:element name="prenosyOdpVody" type="PrenosyOdpVodyTyp" minOccurs="0" />
            <xsd:element name="prenosyOdpady" type="PrenosyOdpadyTyp" minOccurs="0" />
            <xsd:element name="ostatniOdpady" type="OdpadyTyp" minOccurs="0" />
            <xsd:element name="nebezpecneOdpady" type="OdpadyTyp" minOccurs="0" />
        </xsd:all>
    </xsd:complexType>

    <xsd:complexType name="Sekce4Typ">
        <xsd:all>
            <xsd:element name="poznamka" type="ExtraLongStringTyp" minOccurs="0" />
            <xsd:element name="pripojeneDokumenty" type="AttachmentsMax10Typ" />
        </xsd:all>
    </xsd:complexType>
    <!-- end of sekce complex types -->

    <!-- complex types -->
    <xsd:complexType name="IrzOhlasovatelOstatniTyp">
        <xsd:all>
            <xsd:element name="lau1" type="LAU1Typ" minOccurs="0" />
            <xsd:element name="webovaAdresa" type="WebovaAdresaTyp" />
        </xsd:all>
    </xsd:complexType>

    <xsd:simpleType name="LAU1Typ">
        <xsd:restriction base="xsd:string">
            <xsd:pattern value="CZ[0Z][1-8Z][0-4Z][0-9A-FZ]" />
        </xsd:restriction>
    </xsd:simpleType>

    <xsd:complexType name="ProvozovnaIrzTyp">
        <xsd:sequence>
            <xsd:element name="icp" type="MediumStringTyp" />

            <xsd:element name="nazev" type="LongStringTyp" minOccurs="0" />
            <xsd:element name="jtskX" type="xsd:double" minOccurs="0" />
            <xsd:element name="jtskY" type="xsd:double" minOccurs="0" />
            <xsd:element name="wgs84CoordinateX" type="Wgs84CoordinateTyp" minOccurs="0" />
            <xsd:element name="wgs84CoordinateY" type="Wgs84CoordinateTyp" minOccurs="0" />
            <xsd:element name="etrsCoordinateX" type="SouradniceEtrsTyp" minOccurs="0" />
            <xsd:element name="etrsCoordinateY" type="SouradniceEtrsTyp" minOccurs="0" />
            <xsd:element name="obchodSEmisemi" type="ObchodSEmisemiTyp" />

            <xsd:element name="adresa" type="AdresaTyp" />

            <xsd:element name="lau1" type="LAU1Typ" minOccurs="0" />

            <xsd:element name="povodi" type="CisloPovodiTyp" />
            <xsd:element name="nace" type="LongStringTyp" />
            <xsd:element name="provozniHodiny" type="Decimal2FrTyp" minOccurs="0" />
            <xsd:element name="pocetZamestnancu" type="PocetTyp" minOccurs="0" />
            <xsd:element name="kontakt">
                <xsd:complexType>
                    <xsd:all>
                        <xsd:element name="telefon" type="TelefonMobilTyp" minOccurs="0" />
                        <xsd:element name="email" type="LongStringTyp" minOccurs="0" />
                    </xsd:all>
                </xsd:complexType>
            </xsd:element>
        </xsd:sequence>
    </xsd:complexType>

    <xsd:complexType name="CinnostiTyp">
        <xsd:all>
            <xsd:element name="jeEPRTR" type="xsd:boolean" />

            <xsd:element name="cinnostiEPRTR" minOccurs="0">
                <xsd:complexType>
                    <xsd:sequence>
                        <xsd:element name="cinnostEPRTRSeq" minOccurs="0" maxOccurs="unbounded">
                            <xsd:complexType>
                                <xsd:all>
                                    <xsd:element name="kodCinnosti" type="LongStringTyp" />
                                    <xsd:element name="kodCinnosti2" type="LongStringTyp" />
                                    <xsd:element name="ippc" type="LongStringTyp" />
                                    <xsd:element name="pocet" type="PocetTyp" />
                                    <xsd:element name="hlavni" type="xsd:boolean" />
                                    <xsd:element name="objemVyroby" type="ObjemVyrobyTyp" />
                                </xsd:all>
                            </xsd:complexType>
                        </xsd:element>
                    </xsd:sequence>
                </xsd:complexType>
            </xsd:element>

            <xsd:element name="cinnostiDleZakona" minOccurs="0">
                <xsd:complexType>
                    <xsd:sequence>
                        <xsd:element name="cinnostDleZakonaSeq" minOccurs="0" maxOccurs="unbounded">
                            <xsd:complexType>
                                <xsd:all>
                                    <xsd:element name="kodCinnosti" type="MediumStringTyp" />
                                    <xsd:element name="pocet" type="PocetTyp" />
                                    <xsd:element name="hlavni" type="xsd:boolean" />
                                    <xsd:element name="objemVyroby" type="ObjemVyrobyTyp" />
                                </xsd:all>
                            </xsd:complexType>
                        </xsd:element>
                    </xsd:sequence>
                </xsd:complexType>
            </xsd:element>

        </xsd:all>
    </xsd:complexType>

    <xsd:complexType name="UnikyOvzdusiTyp">
        <xsd:sequence>
            <xsd:element name="unik" type="UnikOvzdusiTyp" minOccurs="0" maxOccurs="unbounded" />
        </xsd:sequence>
    </xsd:complexType>

    <xsd:complexType name="UnikyVodaTyp">
        <xsd:sequence>
            <xsd:element name="unik" type="UnikVodaTyp" minOccurs="0" maxOccurs="unbounded" />
        </xsd:sequence>
    </xsd:complexType>

    <xsd:complexType name="UnikyPudaTyp">
        <xsd:sequence>
            <xsd:element name="unik" type="UnikPudaTyp" minOccurs="0" maxOccurs="unbounded" />
        </xsd:sequence>
    </xsd:complexType>

    <xsd:complexType name="PrenosyOdpVodyTyp">
        <xsd:sequence>
            <xsd:element name="prenos" type="PrenosOdpVodyTyp" minOccurs="0" maxOccurs="unbounded" />
        </xsd:sequence>
    </xsd:complexType>

    <xsd:complexType name="PrenosyOdpadyTyp">
        <xsd:sequence>
            <xsd:element name="prenos" type="PrenosOdpadyTyp" minOccurs="0" maxOccurs="unbounded" />
        </xsd:sequence>
    </xsd:complexType>

    <xsd:complexType name="OdpadyTyp">
        <xsd:sequence>
            <xsd:element name="prenos" type="OdpadTyp" minOccurs="0" maxOccurs="unbounded" />
            <xsd:element name="celkem" type="Decimal6FrTyp" minOccurs="0" />
        </xsd:sequence>
    </xsd:complexType>

    <xsd:complexType name="UnikOvzdusiTyp">
        <xsd:all>
            <xsd:element name="latka" type="LongStringTyp" />
            <xsd:element name="latkaUpresneni" type="LongStringTyp" minOccurs="0" />
            <xsd:element name="hodnota" type="Decimal6FrTyp" />
            <xsd:element name="havarijni" type="Decimal6FrTyp" />
            <xsd:element name="mnozstviCelkem" type="Decimal6FrTyp" />
            <xsd:element name="metodaSUpresnenim" type="MetodaSUpresnenimTyp" />
            <xsd:element name="obsazeneLatky" type="ObsazeneLatkyTyp" minOccurs="0" />
            <xsd:element name="metodiky" type="MetodikyTyp" minOccurs="0">
            </xsd:element>
        </xsd:all>
    </xsd:complexType>

    <xsd:complexType name="ObsazeneLatkyTyp">
        <xsd:all>
            <xsd:element name="latkaBenzoAPyren" type="Decimal6FrTyp" minOccurs="0" />
            <xsd:element name="latkaPM25" type="Decimal6FrTyp" minOccurs="0" />
            <xsd:element name="latkaCernyUhlik" type="Decimal6FrTyp" minOccurs="0" />
        </xsd:all>
    </xsd:complexType>

    <xsd:complexType name="UnikVodaTyp">
        <xsd:all>
            <xsd:element name="latka" type="LongStringTyp" />
            <xsd:element name="latkaUpresneni" type="LongStringTyp" minOccurs="0" />
            <xsd:element name="hodnota" type="Decimal6FrTyp" />
            <xsd:element name="havarijni" type="Decimal6FrTyp" />
            <xsd:element name="mnozstviCelkem" type="Decimal6FrTyp" />
            <xsd:element name="metodaSUpresnenim" type="MetodaSUpresnenimTyp" />
            <xsd:element name="benzoAPyren" type="BenzoAPyrenTyp" minOccurs="0" />
            <xsd:element name="metodiky" type="MetodikyTyp" minOccurs="0" />
            <xsd:element name="seznamPovodi">
                <xsd:complexType>
                    <xsd:sequence>
                        <xsd:element name="povodi" maxOccurs="unbounded">
                            <xsd:complexType>
                                <xsd:sequence>
                                    <xsd:element name="pismeno" type="LongStringTyp" minOccurs="0" />

                                    <xsd:element name="povodiJmeno" type="PovodiJmenoTyp" minOccurs="0"
                                        maxOccurs="unbounded" />
                                    <xsd:element name="povodiHydroPoradiARecipient" type="PovodiHydroPoradiARecipientTyp"
                                        minOccurs="0" maxOccurs="unbounded" />

                                    <xsd:element name="ricniKilometr" type="Decimal3FrTyp" />
                                    <xsd:element name="souradnice" type="SouradniceTyp" minOccurs="0" />
                                </xsd:sequence>
                            </xsd:complexType>
                        </xsd:element>
                    </xsd:sequence>
                </xsd:complexType>
            </xsd:element>
        </xsd:all>
    </xsd:complexType>

    <xsd:complexType name="BenzoAPyrenTyp">
        <xsd:all>
            <xsd:element name="latkaBenzoAPyren" type="Decimal6FrTyp" minOccurs="0" />
        </xsd:all>
    </xsd:complexType>

    <xsd:complexType name="PovodiJmenoTyp">
        <xsd:sequence>
            <xsd:element name="jmeno" type="LongStringTyp" />
        </xsd:sequence>
    </xsd:complexType>

    <xsd:complexType name="PovodiHydroPoradiARecipientTyp">
        <xsd:sequence>
            <xsd:element name="hydroPoradi" type="LongStringTyp" />
            <xsd:element name="recipient" type="LongStringTyp" />
        </xsd:sequence>
    </xsd:complexType>

    <xsd:complexType name="SouradniceTyp">
        <xsd:sequence>
            <xsd:element name="wgs84CoordinateX" type="Wgs84CoordinateTyp" />
            <xsd:element name="wgs84CoordinateY" type="Wgs84CoordinateTyp" />
        </xsd:sequence>
    </xsd:complexType>

    <xsd:complexType name="UnikPudaTyp">
        <xsd:all>
            <xsd:element name="latka" type="LongStringTyp" />
            <xsd:element name="latkaUpresneni" type="LongStringTyp" minOccurs="0" />
            <xsd:element name="cinnost" type="LongStringTyp" />
            <xsd:element name="cinnostJina" type="LongStringTyp" minOccurs="0" />
            <xsd:element name="hodnota" type="Decimal6FrTyp" />
            <xsd:element name="havarijni" type="Decimal6FrTyp" />
            <xsd:element name="mnozstviCelkem" type="Decimal6FrTyp" />
            <xsd:element name="metodaSUpresnenim" type="MetodaSUpresnenimTyp" />
            <xsd:element name="benzoAPyren" type="BenzoAPyrenTyp" minOccurs="0" />
            <xsd:element name="metodiky" type="MetodikyTyp" minOccurs="0" />
        </xsd:all>
    </xsd:complexType>

    <xsd:complexType name="PrenosOdpVodyTyp">
        <xsd:sequence>
            <xsd:element name="latka" type="LongStringTyp" />
            <xsd:element name="latkaUpresneni" type="LongStringTyp" minOccurs="0" />
            <xsd:element name="hodnota" type="Decimal6FrTyp" />
            <xsd:element name="metodaSUpresnenim" type="MetodaSUpresnenimTyp" />
            <xsd:element name="benzoAPyren" type="BenzoAPyrenTyp" minOccurs="0" />
            <xsd:element name="metodiky" type="MetodikyTyp" minOccurs="0" />
            <xsd:element name="provozovatelCOV" type="ProvozovatelCOVTyp" minOccurs="1" maxOccurs="unbounded" />
        </xsd:sequence>
    </xsd:complexType>

    <xsd:complexType name="ProvozovatelCOVTyp">
        <xsd:choice>
            <xsd:element name="osobaTuzemska" type="OsobaTuzemskaNepTyp" />
            <xsd:element name="osobaZahranicni" type="OsobaZahranicniNepTyp" />
        </xsd:choice>
    </xsd:complexType>

    <xsd:complexType name="PrenosOdpadyTyp">
        <xsd:sequence>
            <xsd:element name="latka" type="LongStringTyp" />
            <xsd:element name="latkaUpresneni" type="LongStringTyp" minOccurs="0" />
            <xsd:element name="hodnota" type="Decimal6FrTyp" />
            <xsd:element name="metodaSUpresnenim" type="MetodaSUpresnenimTyp" />
            <xsd:element name="zpracovani" type="ZpracovaniTyp" />
            <xsd:element name="benzoAPyren" type="BenzoAPyrenTyp" minOccurs="0" />
            <xsd:element name="metodiky" type="MetodikyTyp" minOccurs="0" />
            <xsd:element name="osobyProvadejiciVyuzitiOdstraneniSeq" type="OsobyProvadejiciVyuzitiOdstraneniTyp"
                minOccurs="1" maxOccurs="unbounded" />
        </xsd:sequence>
    </xsd:complexType>

    <xsd:complexType name="OsobyProvadejiciVyuzitiOdstraneniTyp">
        <xsd:choice>
            <xsd:element name="osobaTuzemska" type="OsobaTuzemskaTyp" />
            <xsd:element name="osobaZahranicni" type="OsobaZahranicniTyp" />
        </xsd:choice>
    </xsd:complexType>

    <xsd:complexType name="OsobaTuzemskaTyp">
        <xsd:all>
            <xsd:element name="ico" type="IcTyp" />
            <xsd:element name="nazevOsoby" type="LongStringTyp" />
            <xsd:element name="adresaOsoby" type="AdresaCrTyp" />
        </xsd:all>
    </xsd:complexType>

    <xsd:complexType name="OsobaTuzemskaNepTyp">
        <xsd:all>
            <xsd:element name="ico" type="IcTyp" />
            <xsd:element name="nazevOsoby" type="LongStringTyp" minOccurs="0" />
            <xsd:element name="adresaOsoby" type="AdresaCrTyp" minOccurs="0" />
        </xsd:all>
    </xsd:complexType>

    <xsd:complexType name="OsobaZahranicniTyp">
        <xsd:all>
            <xsd:element name="nazevOsoby" type="LongStringTyp" />
            <xsd:element name="adresaOsoby" type="AddressNonCrTyp" />
        </xsd:all>
    </xsd:complexType>

    <xsd:complexType name="OsobaZahranicniNepTyp">
        <xsd:all>
            <xsd:element name="nazevOsoby" type="LongStringTyp" minOccurs="0" />
            <xsd:element name="adresaOsoby" type="AddressNonCrTyp" minOccurs="0" />
        </xsd:all>
    </xsd:complexType>

    <xsd:complexType name="OdpadTyp">
        <xsd:all>
            <xsd:element name="hodnota" type="Decimal6FrTyp" />
            <xsd:element name="zpracovani" type="ZpracovaniTyp" />
            <xsd:element name="metodaSUpresnenim" type="MetodaSUpresnenimTyp" />
            <xsd:element name="metodiky" type="MetodikyTyp" minOccurs="0" />
            <xsd:element name="odpadPredan" type="OdpadPredanTyp" />
        </xsd:all>
    </xsd:complexType>

    <xsd:complexType name="MetodaSUpresnenimTyp">
        <xsd:all>
            <xsd:element name="metoda" type="MetodaTyp" />
            <xsd:element name="upresneni" type="LongStringTyp" minOccurs="0" />
        </xsd:all>
    </xsd:complexType>

    <xsd:complexType name="OdpadPredanTyp">
        <xsd:choice>
            <xsd:element name="doCr" type="DoCrTyp" />
            <xsd:element name="mimoCr" type="MimoCrTyp" />
        </xsd:choice>
    </xsd:complexType>

    <xsd:complexType name="DoCrTyp">
        <xsd:sequence>
            <xsd:element name="osobaTuzemska" type="OsobaTuzemskaTyp" />
        </xsd:sequence>
    </xsd:complexType>

    <xsd:complexType name="MimoCrTyp">
        <xsd:sequence>
            <xsd:element name="osobaZahranicni" type="OsobaALokalitaZahranicniTyp" />
        </xsd:sequence>
    </xsd:complexType>

    <xsd:complexType name="OsobaALokalitaZahranicniTyp">
        <xsd:all>
            <xsd:element name="nazevOsoby" type="LongStringTyp" />
            <xsd:element name="adresaOsoby" type="AddressNonCrTyp" />
            <xsd:element name="adresaLokality" type="AddressNonCrTyp" />
        </xsd:all>
    </xsd:complexType>

    <xsd:simpleType name="MetodaTyp">
        <xsd:restriction base="xsd:string">
            <xsd:enumeration value="M" />
            <xsd:enumeration value="C" />
            <xsd:enumeration value="E" />
        </xsd:restriction>
    </xsd:simpleType>

    <xsd:simpleType name="ZpracovaniTyp">
        <xsd:restriction base="xsd:string">
            <xsd:enumeration value="D" />
            <xsd:enumeration value="R" />
        </xsd:restriction>
    </xsd:simpleType>

    <xsd:complexType name="MetodikyTyp">
        <xsd:sequence>
            <xsd:element name="metodika" type="MetodikaTyp" minOccurs="0" maxOccurs="unbounded" />
        </xsd:sequence>
    </xsd:complexType>

    <xsd:complexType name="MetodikaTyp">
        <xsd:sequence>
            <xsd:element name="kategorie" type="LongStringTyp" />

            <xsd:element name="metodikaCiselnik" type="MetodikaCiselnikTyp" minOccurs="0" />
            <xsd:element name="metodikaVlastni" type="MetodikaVlastniTyp" minOccurs="0" />

        </xsd:sequence>
    </xsd:complexType>

    <xsd:complexType name="MetodikaCiselnikTyp">
        <xsd:sequence>
            <xsd:element name="kod" type="LongStringTyp" />
            <xsd:element name="popis" type="LongStringTyp" minOccurs="0" />
        </xsd:sequence>
    </xsd:complexType>

    <xsd:complexType name="MetodikaVlastniTyp">
        <xsd:sequence>
            <xsd:element name="kod" type="LongStringTyp" />
            <xsd:element name="popis" type="LongStringTyp" minOccurs="0" />
            <xsd:element name="nazevNormy" type="LongStringTyp" minOccurs="0" />
        </xsd:sequence>
    </xsd:complexType>

    <xsd:complexType name="IntegrovanePovoleniViceTyp">
        <xsd:sequence>
            <xsd:element name="pidSeq" minOccurs="1" maxOccurs="unbounded">
                <xsd:complexType>
                    <xsd:sequence>
                        <xsd:element name="pid" type="PIDTyp" />
                    </xsd:sequence>
                </xsd:complexType>
            </xsd:element>
        </xsd:sequence>
    </xsd:complexType>

    <xsd:complexType name="WebovaAdresaTyp">
        <xsd:choice>
            <xsd:element name="ano">
                <xsd:complexType>
                    <xsd:sequence>
                        <xsd:element name="url" type="LongStringTyp" />
                    </xsd:sequence>
                </xsd:complexType>
            </xsd:element>
            <xsd:element name="ne">
                <xsd:complexType>
                    <xsd:sequence>
                        <xsd:element name="url" type="LongStringTyp" />
                    </xsd:sequence>
                </xsd:complexType>
            </xsd:element>
        </xsd:choice>
    </xsd:complexType>

    <xsd:complexType name="ObchodSEmisemiTyp">
        <xsd:choice>
            <xsd:element name="ano">
                <xsd:complexType>
                    <xsd:sequence>
                        <xsd:element name="idObchodSEmisemi" type="IdObchodSEmisemiTyp" maxOccurs="unbounded" />
                    </xsd:sequence>
                </xsd:complexType>
            </xsd:element>
            <xsd:element name="ne">
                <xsd:complexType>
                </xsd:complexType>
            </xsd:element>
        </xsd:choice>
    </xsd:complexType>

    <xsd:complexType name="ObjemVyrobyTyp">
        <xsd:sequence>
            <xsd:element name="vyrobek" minOccurs="0" maxOccurs="unbounded">
                <xsd:complexType>
                    <xsd:sequence>
                        <xsd:element name="nazevVyrobku" type="LongStringTyp" minOccurs="0" />
                        <xsd:element name="jizUvedeno" type="xsd:boolean" minOccurs="0" />
                        <xsd:element name="mnozstvi" type="Decimal3FrTyp" minOccurs="0" />
                        <xsd:element name="jednotka" type="MediumStringTyp" minOccurs="0" />
                    </xsd:sequence>
                </xsd:complexType>
            </xsd:element>
            <xsd:element name="nazvyVyrobku" type="ExtraLongStringTyp" minOccurs="0" />
            <xsd:element name="mnozstviCelkem" type="Decimal3FrTyp" minOccurs="0" />
        </xsd:sequence>
    </xsd:complexType>
    <!-- end of complex types -->

    <!-- simple types -->
    <xsd:simpleType name="IdObchodSEmisemiTyp">
        <xsd:restriction base="xsd:string">
            <xsd:pattern value="CZ-[0-9]{4}" />
        </xsd:restriction>
    </xsd:simpleType>

    <xsd:simpleType name="CisloPovodiTyp">
        <xsd:restriction base="NonNegativeDecimal">
            <xsd:totalDigits value="1" />
            <xsd:fractionDigits value="0" />
        </xsd:restriction>
    </xsd:simpleType>

    <xsd:simpleType name="PocetTyp">
        <xsd:restriction base="NonNegativeDecimal">
            <xsd:fractionDigits value="0" />
        </xsd:restriction>
    </xsd:simpleType>

    <xsd:simpleType name="SouradniceEtrsTyp">
        <xsd:restriction base="xsd:decimal">
            <xsd:minInclusive value="0" />
            <xsd:totalDigits value="15" />
            <xsd:fractionDigits value="12" />
        </xsd:restriction>
    </xsd:simpleType>
    <!-- end of simple types -->

</xsd:schema>
