<?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_KOMPOST">
        <xsd:complexType>
            <xsd:all>
                <xsd:element name="meta-info" type="MetaInfoTyp" />
                <xsd:element name="sekceZakladniUdaje" type="SekceZakladniUdajeTyp" />
                <xsd:element name="sekceHlaseniMnozstvi" type="SekceHlaseniMnozstviTyp">
                    <xsd:key name="partnerIdKey">
                        <xsd:selector xpath="partnerSeq" />
                        <xsd:field xpath="partnerIndex" />
                    </xsd:key>
                    <xsd:keyref name="partnerIdRef" refer="partnerIdKey">
                        <xsd:selector xpath="mnozstviSeq" />
                        <xsd:field xpath="partnerIndex" />
                    </xsd:keyref>
                </xsd:element>
            </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="SekceZakladniUdajeTyp">
        <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="ohlasovatel" type="OhlasovatelOdpProdTyp" />
            <xsd:element name="ohlasovatelOstatni" type="OhlasovatelOdpKompostOstatniTyp" />
            <xsd:element name="provozovna" type="ProvozovnaOdpPouzeIcpTyp" />
            <xsd:element name="hlaseniVyplnil" type="ZpracovatelTyp" />
            <xsd:element name="poznamka" type="ExtraLongStringTyp" minOccurs="0" />
            <xsd:element name="proObce" type="ObceTyp" />
        </xsd:all>
    </xsd:complexType>

    <xsd:complexType name="SekceHlaseniMnozstviTyp">
        <xsd:sequence>
            <xsd:element name="mnozstviSeq" type="MnozstviZUzemiTyp" maxOccurs="unbounded" />
            <xsd:element name="partnerSeq" type="PartnerPairTyp" minOccurs="0" maxOccurs="unbounded" />
        </xsd:sequence>
    </xsd:complexType>

    <!-- ostatni -->
    <xsd:complexType name="OhlasovatelOdpKompostOstatniTyp">
        <xsd:all>
            <xsd:element name="orp" type="OrpTyp" />
        </xsd:all>
    </xsd:complexType>

    <xsd:complexType name="ObceTyp">
        <xsd:sequence>
            <xsd:element name="obec" type="ObecIcoTyp" maxOccurs="unbounded" />
        </xsd:sequence>
    </xsd:complexType>

    <xsd:complexType name="ObecIcoTyp">
        <xsd:all>
            <xsd:element name="zujKod" type="ZujTyp" />
            <xsd:element name="zujNazev" type="Nazev48Typ" />
            <xsd:element name="ic" type="IcTyp" />
        </xsd:all>
    </xsd:complexType>

    <xsd:complexType name="MnozstviZUzemiTyp">
        <xsd:all>
            <xsd:element name="poradoveCislo" type="xsd:positiveInteger" />
            <xsd:element name="mnozstvi" type="Decimal3FrTyp" />
            <xsd:element name="partnerIndex" type="xsd:positiveInteger" />
        </xsd:all>
    </xsd:complexType>

    <xsd:complexType name="PartnerPairTyp">
        <xsd:all>
            <xsd:element name="partnerIndex" type="xsd:positiveInteger" />
            <xsd:element name="partner" type="PartnerOnlyObecTyp" />
        </xsd:all>
    </xsd:complexType>

    <xsd:complexType name="PartnerOnlyObecTyp">
        <xsd:sequence>
            <xsd:element name="obec" type="PartnerObecShortTyp" />
        </xsd:sequence>
    </xsd:complexType>

    <xsd:complexType name="PartnerObecShortTyp">
        <xsd:sequence>
            <xsd:element name="ic" type="IcTyp" />
            <xsd:element name="nazev" type="LongStringTyp" />
            <xsd:element name="ulice" type="Nazev48Typ" minOccurs="0" />
            <xsd:element name="iczuj" type="IcZujTyp" />
            <xsd:element name="obecNazev" type="Nazev48Typ" />
            <xsd:element name="psc" type="PscTyp" minOccurs="0" />
        </xsd:sequence>
    </xsd:complexType>

</xsd:schema>
