<?xml version="1.0" encoding="UTF-8" ?>
<xsd:schema elementFormDefault="qualified" xmlns:xsd="http://www.w3.org/2001/XMLSchema">

    <xsd:include schemaLocation="F_ODP_common_2026_1.xsd" />

    <xsd:element name="F_ODP_PROD_EL">
        <xsd:complexType>

            <xsd:all>
                <xsd:element name="meta-info" type="MetaInfoTyp" />
                <xsd:element name="sekce1" type="Sekce1Typ" />
                <xsd:element name="sekce2" type="Sekce2Typ" minOccurs="0">
                    <xsd:key name="partnerIdKey">
                        <xsd:selector xpath="partnerSeq" />
                        <xsd:field xpath="partnerIndex" />
                    </xsd:key>
                    <xsd:keyref name="partnerIdRef" refer="partnerIdKey">
                        <xsd:selector xpath="odpadSeq/bilanceSeq" />
                        <xsd:field xpath="partnerIndex" />
                    </xsd:keyref>
                </xsd:element>
                <xsd:element name="sekce3" type="ObsahPerzistentnichOrganickychLatekTyp" minOccurs="0" />
            </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>

    <xsd:complexType name="Sekce1Typ">
        <xsd:all>
            <xsd:element name="radneDoplneneHlaseni" type="RadneDoplneneHlaseniTyp" />
            <xsd:element name="rok" type="RokTyp" fixed="2026" />

            <xsd:element name="overovatel" type="OverovatelOdpTyp" />
            <xsd:element name="overovatelOstatni" type="OverovatelOdpOstatniTyp" />

            <xsd:element name="ohlasovatel" type="OhlasovatelOdpProdTyp" />
            <xsd:element name="ohlasovatelOstatni" type="OhlasovatelOdpProdOstatniTyp" />

            <xsd:element name="provozovna" type="ProvozovnaOdpProdElTyp" />
            <xsd:element name="provozovnaOstatni" type="ProvozovnaOdpProdOstatniTyp" />

            <xsd:element name="hlaseniVyplnil" type="ZpracovatelTyp" />

            <xsd:element name="poznamka" type="ExtraLongStringTyp" minOccurs="0" />

            <xsd:element name="potvrzeniOUdalosti" type="AttachmentsTyp" minOccurs="0" />
        </xsd:all>
    </xsd:complexType>

    <xsd:complexType name="OverovatelOdpOstatniTyp" />

    <xsd:complexType name="ProvozovnaOdpProdElTyp">
        <xsd:complexContent>
            <xsd:extension base="ProvozovnaOdpProdAvElTyp">
                <xsd:sequence>
                    <xsd:element name="identifikaceZarizeni" type="IdentifikaceZarizeniElTyp" />
                    <xsd:element name="typHlaseni" type="MediumStringTyp" />
                </xsd:sequence>
            </xsd:extension>
        </xsd:complexContent>
    </xsd:complexType>

    <xsd:complexType name="IdentifikaceZarizeniElTyp">
        <xsd:sequence>
            <xsd:element name="keZpracovani" type="xsd:boolean" />
        </xsd:sequence>
    </xsd:complexType>

    <xsd:complexType name="Sekce2Typ">
        <xsd:sequence>
            <xsd:element name="odpadSeq" type="OdpadProdTyp" minOccurs="0" maxOccurs="unbounded" />
            <xsd:element name="partnerSeq" type="PartnerBilanceTyp" minOccurs="0" maxOccurs="unbounded" />
        </xsd:sequence>
    </xsd:complexType>

    <xsd:complexType name="OdpadProdTyp">
        <xsd:sequence>
            <xsd:element name="katalogoveCisloOdpadu" type="KatalogoveCisloOdpaduTyp" />
            <xsd:element name="kategorieOdpaduVyberVycet" type="KategorieOdpaduVyberVycetTyp" />
            <xsd:element name="oznaceniSkupiny" type="OznaceniSkupinyTyp" minOccurs="0" />
            <xsd:element name="bilanceSeq" type="BilanceProdTyp" minOccurs="0" maxOccurs="unbounded" />
            <xsd:element name="odpadObsahujePops" type="xsd:boolean" minOccurs="0" />
        </xsd:sequence>
    </xsd:complexType>

    <xsd:complexType name="BilanceProdTyp">
        <xsd:sequence>
            <xsd:element name="mnozstviOdpadu" type="MnozstviOdpaduTyp" />
            <xsd:element name="evidencniKod" type="KodZpusobuNakladaniTyp" />
            <xsd:element name="partnerIndex" type="xsd:positiveInteger" minOccurs="0" />
            <xsd:element name="osvedceniPo01012016" minOccurs="0">
                <xsd:complexType>
                    <xsd:sequence>
                        <xsd:element name="cisloOsvedceni" type="CisloOsvedceniPo2016Typ" />
                    </xsd:sequence>
                </xsd:complexType>
            </xsd:element>
        </xsd:sequence>
    </xsd:complexType>

    <xsd:simpleType name="OznaceniSkupinyTyp">
        <xsd:restriction base="ShortStringTyp">
        </xsd:restriction>
    </xsd:simpleType>

    <xsd:complexType name="MnozstviOdpaduTyp">
        <xsd:all>
            <xsd:element name="celkem" type="Decimal6FrTyp" minOccurs="0" />
            <xsd:element name="zTohoDleEvidencnihoKodu" type="Decimal6FrTyp" minOccurs="0" />
        </xsd:all>
    </xsd:complexType>

    <xsd:complexType name="PartnerBilanceTyp">
        <xsd:all>
            <xsd:element name="partnerIndex" type="xsd:positiveInteger" />
            <xsd:element name="partner" type="PartnerTyp" />
        </xsd:all>
    </xsd:complexType>

</xsd:schema>
