<?xml version="1.0" encoding="utf-8"?>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">
    <xsd:include schemaLocation="F_OVZ_common_2026_1.xsd" />

    <!-- form element -->
    <xsd:element name="F_OVZ_KTSP">
        <xsd:complexType>
            <xsd:sequence>
                <xsd:element name="meta-info" type="MetaInfoTyp" />
                <xsd:element name="sekceZakladniUdaje" type="SekceZakladniUdajeTyp" />
                <xsd:element name="sekceZdroj" type="SekceZdrojTyp" />
                <xsd:element name="sekceRozsirene" type="SekceRozsireneTyp" minOccurs="0" />
            </xsd:sequence>
            <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 -->

    <!-- section complex types -->
    <xsd:complexType name="SekceZakladniUdajeTyp">
        <xsd:all>
            <xsd:element name="radneDoplneneHlaseni" type="RadneDoplneneHlaseniTyp" />
            <xsd:element name="rok" type="RokTyp" fixed="2027" />
            <xsd:element name="typOhlaseni" type="OhlaseniKTSPTyp" />
            <xsd:element name="idKomunikace" minOccurs="0">
                <xsd:complexType>
                    <xsd:all>
                        <xsd:element name="vyrobceNeurcilOzo" type="xsd:boolean" minOccurs="0" />
                        <xsd:element name="id" type="MediumStringTyp" minOccurs="0" />
                    </xsd:all>
                </xsd:complexType>
            </xsd:element>
            <xsd:element name="hlaseniVyplnil" type="ZpracovatelTyp" />
            <xsd:element name="ohlasovatel" type="OhlasovatelOvzTyp" />
            <xsd:element name="ohlasovatelOstatni" type="OhlasovatelOstatniTyp" />
            <xsd:element name="provozovatel" type="ProvozovatelTyp" />
        </xsd:all>
    </xsd:complexType>
    <xsd:complexType name="SekceZdrojTyp">
        <xsd:all>
            <xsd:element name="udajeOSpalStacZdroji">
                <xsd:complexType>
                    <xsd:all>
                        <xsd:element name="adresaUmisteni" type="AdresaTyp" />
                        <xsd:element name="cisloBytu" type="ShortStringTyp" minOccurs="0" />
                        <xsd:element name="obchodniNazev" type="LongStringTyp" />
                        <xsd:element name="vyrobce" type="LongStringTyp" />
                        <xsd:element name="typSpalZdrojeVyber">
                            <xsd:complexType>
                                <xsd:choice>
                                    <xsd:element name="typSpalZdroje" type="KotelTyp" />
                                    <xsd:element name="typSpalZdrojeJiny">
                                        <xsd:complexType>
                                            <xsd:sequence>
                                                <xsd:element name="typ" type="KotelTyp" minOccurs="2" maxOccurs="8" />
                                                <xsd:element name="upresneni" type="MediumStringTyp" minOccurs="0" />
                                            </xsd:sequence>
                                        </xsd:complexType>
                                    </xsd:element>
                                </xsd:choice>
                            </xsd:complexType>
                            <xsd:unique name="TypySpalZdroju2">
                                <xsd:selector xpath="typSpalZdrojeJiny/typ" />
                                <xsd:field xpath="." />
                            </xsd:unique>
                        </xsd:element>
                        <xsd:element name="rokVyroby" type="RokVyrobyTyp" />
                        <xsd:element name="datumInstalace" type="xsd:date" />
                        <xsd:element name="vyrobniCislo" type="MediumStringTyp" minOccurs="0" />
                        <xsd:element name="palivoNejcastejiSpalovane" type="ShortStringTyp" />
                        <xsd:element name="palivoNejcastejiSpalovaneUpresneni" type="LongStringTyp" minOccurs="0" />
                        <xsd:element name="palivo1" type="PalivoTyp" />
                        <xsd:element name="palivo2" type="PalivoTyp" minOccurs="0" />
                        <xsd:element name="palivo3" type="PalivoTyp" minOccurs="0" />
                    </xsd:all>
                </xsd:complexType>
            </xsd:element>
            <xsd:element name="udajeOKontrole">
                <xsd:complexType>
                    <xsd:all>
                        <xsd:element name="akumulacniNadoba" type="VyhovujeNeniTyp" />
                    </xsd:all>
                </xsd:complexType>
            </xsd:element>
            <xsd:element name="vysledekKontroly">
                <xsd:complexType>
                    <xsd:all>
                        <xsd:element name="jeInstalovanVSouladu" type="xsd:boolean" />
                        <xsd:element name="vyhovujePokynum" type="xsd:boolean" />
                        <xsd:element name="jeProvozovanVSouladu" type="xsd:boolean" />
                        <xsd:element name="majiVlivNaZnecistovani" type="xsd:boolean" />
                        <xsd:element name="jeSpalovanoPalivo" type="xsd:boolean" />
                        <xsd:element name="jeIndikovanoSpalovani" type="xsd:boolean" />
                        <xsd:element name="popisDuvoduNesouladu" type="ExtraLongStringTyp" minOccurs="0" />
                        <xsd:element name="splnujeEmisniPozadavky" type="SplnujeTyp" />
                    </xsd:all>
                </xsd:complexType>
            </xsd:element>
            <xsd:element name="datumKontroly">
                <xsd:complexType>
                    <xsd:all>
                        <xsd:element name="datumKontroly" type="xsd:date" />
                        <xsd:element name="casKontroly" type="xsd:time" />
                    </xsd:all>
                </xsd:complexType>
            </xsd:element>
            <xsd:element name="poznamka" type="ExtraLongStringTyp" minOccurs="0" />
        </xsd:all>
    </xsd:complexType>

    <xsd:complexType name="SekceRozsireneTyp">
        <xsd:all>
            <xsd:element name="technickaNorma" type="LongStringTyp" minOccurs="0" />
            <xsd:element name="palivoRozsirene1" type="PalivoRozsireneTyp" />
            <xsd:element name="palivoRozsirene2" type="PalivoRozsireneTyp" minOccurs="0" />
            <xsd:element name="palivoRozsirene3" type="PalivoRozsireneTyp" minOccurs="0" />
            <xsd:element name="udajeOKontrole">
                <xsd:complexType>
                    <xsd:all>
                        <xsd:element name="privodSpalVzduchu" type="VyhovujeNeniTyp" minOccurs="0" />
                        <xsd:element name="rostovaSoustava" type="VyhovujeNeniTyp" minOccurs="0" />
                        <xsd:element name="spalovaciKomora" type="VyhovujeTyp" minOccurs="0" />
                        <xsd:element name="zatapeciKlapka" type="VyhovujeNeniTyp" minOccurs="0" />
                        <xsd:element name="vstupniACisticiOtvory" type="VyhovujeNeniTyp" minOccurs="0" />
                        <xsd:element name="privodPaliva" type="VyhovujeTyp" minOccurs="0" />
                        <xsd:element name="vnejsiIzolace" type="VyhovujeNeniTyp" minOccurs="0" />
                        <xsd:element name="ridiciJednotka" type="VyhovujeNeniTyp" minOccurs="0" />
                        <xsd:element name="regulatorMnozSpalVzduchu" type="VyhovujeNeniTyp" minOccurs="0" />
                        <xsd:element name="havarijniTermostat" type="VyhovujeNeniTyp" minOccurs="0" />
                        <xsd:element name="zarizeniProtiPretopeni" type="VyhovujeNeniTyp" minOccurs="0" />
                        <xsd:element name="zarizeniZabrProhoreni" type="VyhovujeNeniTyp" minOccurs="0" />
                        <xsd:element name="pouzivanePalivo" type="VyhovujeNeniTyp" minOccurs="0" />
                        <xsd:element name="zpusobSkladovaniPaliva" type="VyhovujeTyp" minOccurs="0" />
                        <xsd:element name="zajisteniTeplotyVratneVody" type="VyhovujeNeniTyp" minOccurs="0" />
                        <xsd:element name="typSoustavy" type="SoustavaTyp" minOccurs="0" />
                        <xsd:element name="napojeniNaSpalCesty" type="VyhovujeTyp" minOccurs="0" />
                        <xsd:element name="revizeSpalCest" type="DatumNezTyp" minOccurs="0" />
                        <xsd:element name="kontrolaSpalCest" type="DatumNezTyp" minOccurs="0" />
                        <xsd:element name="cisteniSpalCest" type="DatumNezTyp" minOccurs="0" />
                        <xsd:element name="cisteniSpalZdroje" type="DatumNezTyp" minOccurs="0" />
                    </xsd:all>
                </xsd:complexType>
            </xsd:element>
            <xsd:element name="doporuceni" type="ExtraLongStringTyp" minOccurs="0" />
        </xsd:all>
    </xsd:complexType>

    <!-- end of section complex types -->
    
    <!-- complex types -->
    <xsd:complexType name="OhlasovatelOstatniTyp">
        <xsd:all>
            <xsd:element name="ico" type="IcTyp" minOccurs="0" />
            <xsd:element name="nazevVyrobce" type="LongStringTyp" minOccurs="0" />
            <xsd:element name="typySpalZdroju">
                <xsd:complexType>
                    <xsd:sequence>
                        <xsd:element name="typ" type="KotelTyp" minOccurs="0" maxOccurs="8" />
                    </xsd:sequence>
                </xsd:complexType>
                <xsd:unique name="TypySpalZdroju1">
                    <xsd:selector xpath="typ" />
                    <xsd:field xpath="." />
                </xsd:unique>
            </xsd:element>
            <xsd:element name="cisloOpravneni" type="MediumStringTyp" minOccurs="0" />
            <xsd:element name="platnostOd" type="xsd:date" minOccurs="0" />
            <xsd:element name="platnostDo" type="xsd:date" minOccurs="0" />
        </xsd:all>
    </xsd:complexType>
    <xsd:complexType name="ProvozovatelTyp">
        <xsd:all>
            <xsd:element name="nazev" type="LongStringTyp" />
            <xsd:element name="adresaSidla" type="AdresaTyp" />
        </xsd:all>
    </xsd:complexType>
    <xsd:complexType name="PalivoTyp">
        <xsd:all>
            <xsd:element name="nazev" type="ShortStringTyp" />
            <xsd:element name="upresneniNazvu" type="LongStringTyp" minOccurs="0" />
            <xsd:element name="jmenovityTepelnyPrikon" type="NonNegativeDecimal" minOccurs="0" />
            <xsd:element name="jmenovityTepelnyVykon" type="NonNegativeDecimal" />
            <xsd:element name="jmenovityTepelnyVykonNelzeUrcit" type="xsd:boolean" />
            <xsd:element name="tridaKotle" type="TridaKotleTyp" />
        </xsd:all>
    </xsd:complexType>
    <xsd:complexType name="PalivoRozsireneTyp">
        <xsd:all>
            <xsd:element name="minimalniTepelnyVykon" type="NonNegativeDecimal" minOccurs="0" />
        </xsd:all>
    </xsd:complexType>
    <xsd:complexType name="RokVyrobyTyp">
        <xsd:choice>
            <xsd:element name="stanoven">
                <xsd:complexType>
                    <xsd:all>
                        <xsd:element name="rok" type="RokTyp" />
                    </xsd:all>
                </xsd:complexType>
            </xsd:element>
            <xsd:element name="nelzeStanovit">
                <xsd:complexType>
                </xsd:complexType>
            </xsd:element>
        </xsd:choice>
    </xsd:complexType>
    <xsd:complexType name="DatumNezTyp">
        <xsd:choice>
            <xsd:element name="zjisteno">
                <xsd:complexType>
                    <xsd:all>
                        <xsd:element name="datum" type="xsd:date" />
                    </xsd:all>
                </xsd:complexType>
            </xsd:element>
            <xsd:element name="nezjisteno">
                <xsd:complexType>
                </xsd:complexType>
            </xsd:element>
        </xsd:choice>
    </xsd:complexType>
    <!-- end of complex types -->

    <!-- enumerations -->
    <xsd:simpleType name="OhlaseniKTSPTyp">
        <xsd:restriction base="xsd:string">
            <xsd:enumeration value="POUZE_OHLASOVANE_UDAJE" />
            <xsd:enumeration value="ROZSIRENE_UDAJE" />
        </xsd:restriction>
    </xsd:simpleType>
    <xsd:simpleType name="KotelTyp">
        <xsd:restriction base="xsd:string">
            <xsd:enumeration value="PROHORIVACI" />
            <xsd:enumeration value="ODHORIVACI" />
            <xsd:enumeration value="ZPLYNOVACI" />
            <xsd:enumeration value="AUTOMATICKY_SNEKOVY" />
            <xsd:enumeration value="AUTOMATICKY_ROTACNI" />
            <xsd:enumeration value="AUTOMATICKY_PRESTAVENY" />
            <xsd:enumeration value="AUTOMATICKY_SPECIALNI" />
            <xsd:enumeration value="S_VYMENIKEM" />
        </xsd:restriction>
    </xsd:simpleType>
    <xsd:simpleType name="VyhovujeNeniTyp">
        <xsd:restriction base="xsd:string">
            <xsd:enumeration value="VYHOVUJE" />
            <xsd:enumeration value="NEVYHOVUJE" />
            <xsd:enumeration value="NENI" />
        </xsd:restriction>
    </xsd:simpleType>
    <xsd:simpleType name="VyhovujeTyp">
        <xsd:restriction base="xsd:string">
            <xsd:enumeration value="VYHOVUJE" />
            <xsd:enumeration value="NEVYHOVUJE" />
        </xsd:restriction>
    </xsd:simpleType>
    <xsd:simpleType name="SoustavaTyp">
        <xsd:restriction base="xsd:string">
            <xsd:enumeration value="OTEVRENA" />
            <xsd:enumeration value="UZAVRENA" />
        </xsd:restriction>
    </xsd:simpleType>
    <xsd:simpleType name="SplnujeTyp">
        <xsd:restriction base="xsd:string">
            <xsd:enumeration value="SPLNUJE" />
            <xsd:enumeration value="NESPLNUJE" />
            <xsd:enumeration value="NEJSOU_RELEVANTNI" />
        </xsd:restriction>
    </xsd:simpleType>
    <xsd:simpleType name="TridaKotleTyp">
        <xsd:restriction base="xsd:string">
            <xsd:enumeration value="1" />
            <xsd:enumeration value="2" />
            <xsd:enumeration value="3" />
            <xsd:enumeration value="4" />
            <xsd:enumeration value="5" />
            <xsd:enumeration value="NESTANOVENA" />
        </xsd:restriction>
    </xsd:simpleType>
    <!-- end of enumerations -->
    
</xsd:schema>
