<?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_VYUCT">
        <xsd:complexType>

            <xsd:all>
                <xsd:element name="meta-info" type="MetaInfoTyp" />
                <xsd:element name="sekceZakladniUdaje" type="SekceZakladniUdajeTyp" />
                <xsd:element name="sekceSkladka" type="SekceSkladkaTyp" />
                <xsd:element name="sekceOdpady" type="SekceOdpadyTyp" />
            </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="radneOpravneDodatecneHlaseni" type="RadneOpravneDodatecneHlaseniTyp" />
            <xsd:element name="rok" type="RokTyp" fixed="2027" />
            <xsd:element name="ctvrtleti" type="CtvrtletiTyp" />
            <xsd:element name="typSkladky" type="TypSkladkyTyp" />

            <xsd:element name="ohlasovatel" type="OhlasovatelVyuctTyp" />

            <xsd:element name="poznamka" type="ExtraLongStringTyp" minOccurs="0" />
            <xsd:element name="hlaseniVyplnil" type="ZpracovatelTyp" />
            <xsd:element name="predstavitelProvozovatele" type="PoverenaOsobaTyp" />
        </xsd:all>
    </xsd:complexType>

    <xsd:complexType name="SekceSkladkaTyp">
        <xsd:all>
            <xsd:element name="icz" type="PoleICZTyp" />
            <xsd:element name="nazevSkladky" type="LongStringTyp" />
            <xsd:element name="adresa" type="AdresaTyp" />
            <xsd:element name="orp" type="OrpTyp" />
            <xsd:element name="obceKatastrUzemiSkladky" type="ObceTyp" />
            <xsd:element name="integrovanePovoleni" type="IntegrovanePovoleniTyp" minOccurs="0" />
        </xsd:all>
    </xsd:complexType>

    <xsd:complexType name="SekceOdpadyTyp">
        <xsd:all>
            <xsd:element name="mnozstviUlozenychOdpaduPoplatek" type="OdpadyPoplatekTyp" />
            <xsd:element name="prilohaObceUplatnujiciVyjimku" type="PrilohaObceUplatnujiciVyjimkuTyp" minOccurs="0" />
            <xsd:element name="krizovaSituace" type="KrizovaSituaceTyp" />
            <xsd:element name="mnozstviUlozenychOdpaduKrize" type="OdpadyKrizeTyp" minOccurs="0" />
            <xsd:element name="dodatecnePoplVyuctovani" type="DodatecnePoplVyuctovaniTyp" minOccurs="0" />
        </xsd:all>
    </xsd:complexType>

    <xsd:simpleType name="CtvrtletiTyp">
        <xsd:restriction base="xsd:string">
            <xsd:enumeration value="Q1" />
            <xsd:enumeration value="Q2" />
            <xsd:enumeration value="Q3" />
            <xsd:enumeration value="Q4" />
        </xsd:restriction>
    </xsd:simpleType>

    <xsd:complexType name="TypSkladkyTyp">
        <xsd:choice>
            <xsd:element name="jednoskupinova" type="JednoskupinovaTyp" minOccurs="0" />
            <xsd:element name="viceskupinova" type="ViceskupinovaTyp" minOccurs="0">
                <xsd:unique name="DruhViceskupinovaUnique">
                    <xsd:selector xpath="druhSkladkyKod" />
                    <xsd:field xpath="." />
                </xsd:unique>
            </xsd:element>
        </xsd:choice>
    </xsd:complexType>

    <xsd:complexType name="JednoskupinovaTyp">
        <xsd:all>
            <xsd:element name="druhSkladkyKod" type="ShortStringTyp" />
        </xsd:all>
    </xsd:complexType>

    <xsd:complexType name="ViceskupinovaTyp">
        <xsd:sequence>
            <xsd:element name="druhSkladkyKod" type="ShortStringTyp" maxOccurs="unbounded" />
        </xsd:sequence>
    </xsd:complexType>

    <xsd:complexType name="OhlasovatelVyuctTyp">
        <xsd:all>
            <xsd:element name="spolecnostVyber">
                <xsd:complexType>
                    <xsd:choice>
                        <xsd:element name="pravnickaOsoba" type="PravnickaOsobaTyp" />
                    </xsd:choice>
                </xsd:complexType>
            </xsd:element>
            <xsd:element name="adresa" type="AdresaTyp" />
            <xsd:element name="orp" type="OrpTyp" />
        </xsd:all>
    </xsd:complexType>

    <xsd:complexType name="PoverenaOsobaTyp">
        <xsd:all>
            <xsd:element name="jmeno" type="MediumStringTyp" />
            <xsd:element name="prijmeni" type="MediumStringTyp" />
            <xsd:element name="kontakt" type="KontaktTyp" />
        </xsd:all>
    </xsd:complexType>

    <xsd:complexType name="ObceTyp">
        <xsd:sequence>
            <xsd:element name="obec" type="ObecTyp" maxOccurs="unbounded" />
        </xsd:sequence>
    </xsd:complexType>

    <xsd:complexType name="ObecTyp">
        <xsd:all>
            <xsd:element name="zujKod" type="ZujTyp" />
            <xsd:element name="zujNazev" type="Nazev48Typ" />
            <xsd:element name="katastralniUzemiSkladky" type="KatastryTyp" />
            <xsd:element name="kraj" type="KrajTyp" />
        </xsd:all>
    </xsd:complexType>

    <xsd:complexType name="KatastryTyp">
        <xsd:sequence>
            <xsd:element name="katastralniUzemi" type="KatastrTyp" maxOccurs="unbounded" />
        </xsd:sequence>
    </xsd:complexType>

    <xsd:complexType name="KatastrTyp">
        <xsd:all>
            <xsd:element name="katastrKod" type="ShortStringTyp" />
            <xsd:element name="katastrNazev" type="LongStringTyp" />
            <xsd:element name="pomerUkladky" type="Decimal2FrTyp" />
        </xsd:all>
    </xsd:complexType>

    <xsd:complexType name="OdpadyPoplatekTyp">
        <xsd:all>
            <xsd:element name="vyuzitelne" type="UlozenyOdpadPoplatekTyp" minOccurs="0" />
            <xsd:element name="nebezpecne" type="UlozenyOdpadPoplatekTyp" minOccurs="0" />
            <xsd:element name="technologicke" type="UlozenyOdpadPoplatekTyp" minOccurs="0" />
            <xsd:element name="sanacni" type="UlozenyOdpadPoplatekTyp" minOccurs="0" />
            <xsd:element name="zbytkove" type="UlozenyOdpadPoplatekTyp" minOccurs="0" />
            <xsd:element name="vyjimka" type="UlozenyOdpadPoplatekTyp" minOccurs="0" />
            <xsd:element name="celkem" type="UlozenyOdpadPoplatekCelkemTyp" />
        </xsd:all>
    </xsd:complexType>

    <xsd:complexType name="PrilohaObceUplatnujiciVyjimkuTyp">
        <xsd:sequence>
            <xsd:element name="priloha" type="FileDataTyp" minOccurs="0" />
        </xsd:sequence>
    </xsd:complexType>

    <xsd:complexType name="KrizovaSituaceTyp">
        <xsd:choice>
            <xsd:element name="krizovaSituaceAno" type="KrizovaSituaceAnoTyp" />
            <xsd:element name="krizovaSituaceNe" type="KrizovaSituaceNeTyp" />
        </xsd:choice>
    </xsd:complexType>

    <xsd:complexType name="KrizovaSituaceAnoTyp">
        <xsd:all>
            <xsd:element name="popisKrizoveSituace" type="LongStringTyp" />
            <xsd:element name="dokumentyVyhlaseni" type="AttachmentsTyp" />
        </xsd:all>
    </xsd:complexType>

    <xsd:complexType name="KrizovaSituaceNeTyp">
        <xsd:all>
        </xsd:all>
    </xsd:complexType>

    <xsd:complexType name="OdpadyKrizeTyp">
        <xsd:all>
            <xsd:element name="vyuzitelne" type="UlozenyOdpadKrizeTyp" minOccurs="0" />
            <xsd:element name="nebezpecne" type="UlozenyOdpadKrizeTyp" minOccurs="0" />
            <xsd:element name="technologicke" type="UlozenyOdpadKrizeTyp" minOccurs="0" />
            <xsd:element name="sanacni" type="UlozenyOdpadKrizeTyp" minOccurs="0" />
            <xsd:element name="zbytkove" type="UlozenyOdpadKrizeTyp" minOccurs="0" />
            <xsd:element name="celkem" type="UlozenyOdpadKrizeCelkemTyp" />
        </xsd:all>
    </xsd:complexType>

    <xsd:complexType name="DodatecnePoplVyuctovaniTyp">
        <xsd:all>
            <xsd:element name="datumZjisteniZmeny" type="xsd:date" />
            <xsd:element name="duvodPodani" type="LongStringTyp" />
            <xsd:element name="puvodniVysePoplatku" type="Int12pTyp" />
            <xsd:element name="novaVysePoplatku" type="xsd:nonNegativeInteger" />
            <xsd:element name="zmenaCastkyPoplatku" type="xsd:integer" />
        </xsd:all>
    </xsd:complexType>

    <xsd:complexType name="UlozenyOdpadPoplatekTyp">
        <xsd:all>
            <xsd:element name="sazba" type="Decimal2FrTyp" />
            <xsd:element name="mnozstviD1a" type="Dec15pTyp" />
            <xsd:element name="mnozstviD1b" type="Dec15pTyp" />
            <xsd:element name="mnozstviD1bOsvobozene" type="Dec15pTyp" />
            <xsd:element name="mnozstviD1bZpoplatnene" type="Dec15pTyp" />
            <xsd:element name="poplatekD1a" type="Decimal2FrTyp" />
            <xsd:element name="poplatekD1b" type="Decimal2FrTyp" />
            <xsd:element name="dilciPoplatek" type="Decimal2FrTyp" />
        </xsd:all>
    </xsd:complexType>

    <xsd:complexType name="UlozenyOdpadPoplatekCelkemTyp">
        <xsd:all>
            <xsd:element name="mnozstviD1a" type="Decimal3FrTyp" />
            <xsd:element name="mnozstviD1b" type="Decimal3FrTyp" />
            <xsd:element name="mnozstviD1bOsvobozene" type="Decimal3FrTyp" />
            <xsd:element name="procentoD1bOsvobozene" type="Decimal2FrTyp" />
            <xsd:element name="mnozstviD1bZpoplatnene" type="Decimal3FrTyp" />
            <xsd:element name="dilciPoplatek" type="xsd:nonNegativeInteger" />
        </xsd:all>
    </xsd:complexType>

    <xsd:complexType name="UlozenyOdpadKrizeTyp">
        <xsd:all>
            <xsd:element name="sazba" type="Decimal2FrTyp" fixed="0" />
            <xsd:element name="mnozstviD1a" type="Dec15pTyp" />
            <xsd:element name="mnozstviD1b" type="Dec15pTyp" />
        </xsd:all>
    </xsd:complexType>

    <xsd:complexType name="UlozenyOdpadKrizeCelkemTyp">
        <xsd:all>
            <xsd:element name="mnozstviD1a" type="Decimal3FrTyp" />
            <xsd:element name="mnozstviD1b" type="Decimal3FrTyp" />
        </xsd:all>
    </xsd:complexType>

    <xsd:simpleType name="Dec15pTyp">
        <xsd:restriction base="xsd:decimal">
            <xsd:minInclusive value="0" />
            <xsd:totalDigits value="15" />
            <xsd:fractionDigits value="3" />
        </xsd:restriction>
    </xsd:simpleType>

</xsd:schema>
