﻿<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
    targetNamespace="urn:cz-cuzk:schemas:reklamace_def_body:v1.0"  
    xmlns="urn:cz-cuzk:schemas:reklamace_def_body:v1.0"  
    elementFormDefault="qualified">
    
    <xs:annotation>
        <xs:documentation>XSD schéma reklamací definičních bodů budov a a parcel ISKN ČÚZK.</xs:documentation>
    </xs:annotation>
    
    <xs:simpleType name="idob_type">
        <xs:annotation><xs:documentation>Datový typ ČSÚ IDOB</xs:documentation></xs:annotation>
        <xs:restriction base="xs:decimal">
            <xs:minInclusive value="1000000000"/>
            <xs:maxExclusive value="2000000000"/>
        </xs:restriction>
    </xs:simpleType>
    
    <xs:simpleType name="bud_id_type">
        <xs:annotation><xs:documentation>Datový typ BUD-ID (ČÚZK)</xs:documentation></xs:annotation>
        <xs:restriction base="xs:decimal">
            <xs:totalDigits value="30"></xs:totalDigits>
            <xs:fractionDigits value="0"></xs:fractionDigits>
        </xs:restriction>
    </xs:simpleType>
    
    <xs:simpleType name="telefon_type">
        <xs:annotation><xs:documentation>Datový typ telefón</xs:documentation></xs:annotation>
        <xs:restriction base="xs:string">
            <xs:pattern value="\+420[0-9]{9}"/>
        </xs:restriction>
    </xs:simpleType>
    
    <xs:simpleType name="email_type">
        <xs:annotation><xs:documentation>Datový typ e-mail</xs:documentation></xs:annotation>
        <xs:restriction base="xs:token">
            <xs:pattern value="[&#33;-&#126;-[()&lt;>@;:\\&quot;\[\]]]+@[&#33;-&#126;-[()&lt;>@;:\\&quot;\[\]]]+"/>
        </xs:restriction>
    </xs:simpleType>
    
    <xs:simpleType name="domovni_cislo_atribut">
        <xs:annotation><xs:documentation>Datový typ druhu domovního čísla</xs:documentation></xs:annotation>
        <xs:restriction base="xs:string">
            <xs:enumeration value="popisne"/>
            <xs:enumeration value="evidencni"/>
        </xs:restriction>
    </xs:simpleType>
    
    <xs:simpleType name="cislovani_type">
        <xs:annotation><xs:documentation>Datový typ druhu číslování budov</xs:documentation></xs:annotation>
        <xs:restriction base="xs:string">
            <xs:enumeration value="stavebni"/>
            <xs:enumeration value="pozemkova"/>
        </xs:restriction>
    </xs:simpleType>
      
    <xs:simpleType name="zdroj_ze_type">
        <xs:annotation><xs:documentation>Datový typ zdroje Zjednodušené Evidence</xs:documentation></xs:annotation>
        <xs:restriction base="xs:string">
            <xs:enumeration value="pozemkovy katastr"/>
            <xs:enumeration value="evidence nemovitosti"/>
            <xs:enumeration value="pridelove plany"/>
        </xs:restriction>
    </xs:simpleType>
    
    <xs:simpleType name="x_coordinate_type">
        <xs:annotation><xs:documentation>Datový typ X-ové souřadnice v S-JTSK</xs:documentation></xs:annotation>
        <xs:restriction base="xs:decimal">
            <xs:minInclusive value="935200.00"/>
            <xs:maxExclusive value="1227300.00"/>
            <xs:fractionDigits value="2"/>
        </xs:restriction>
    </xs:simpleType>
    
    <xs:simpleType name="y_coordinate_type">
        <xs:annotation><xs:documentation>Datový typ Y-ové souřadnice v S-JTSK</xs:documentation></xs:annotation>
        <xs:restriction base="xs:decimal">
            <xs:minInclusive value="431700.00"/>
            <xs:maxExclusive value="904600.00"/>
            <xs:fractionDigits value="2"/>
        </xs:restriction>
    </xs:simpleType>
   
    <xs:complexType name="poloha_typ">
        <xs:annotation><xs:documentation>Datový typ polohy def. bodu v S-JTSK</xs:documentation></xs:annotation>
        <xs:attribute name="x" type="x_coordinate_type" use="required" >
            <xs:annotation><xs:documentation>X-ová souřadnice polohy def. bodu</xs:documentation></xs:annotation>
        </xs:attribute>
        <xs:attribute name="y" type="y_coordinate_type" use="required" >
            <xs:annotation><xs:documentation>Y-ová souřadnice polohy def. bodu</xs:documentation></xs:annotation>
        </xs:attribute>
    </xs:complexType>
    
    <xs:simpleType name="ku_kod_type">
        <xs:annotation><xs:documentation>Datový typ kódu katastrálního území</xs:documentation></xs:annotation>
        <xs:restriction base="xs:string">
            <xs:pattern value="[0-9]{6}"/>
        </xs:restriction>
    </xs:simpleType>
    
    <xs:simpleType name="ku_nazev_type">
        <xs:annotation><xs:documentation>Datový typ názvu katastrálního území</xs:documentation></xs:annotation>
        <xs:restriction base="xs:string">
            <xs:pattern value="[\s\S]{2,36}"/>
        </xs:restriction>
    </xs:simpleType>
     
    <xs:complexType name="kat_uzemi_typ">
        <xs:annotation><xs:documentation>Datový typ katastrálního území</xs:documentation></xs:annotation>
        <xs:sequence>
            <xs:choice>
                <xs:element name="nazev" type="ku_nazev_type">
                    <xs:annotation><xs:documentation>Název katastrálního území</xs:documentation></xs:annotation>
                </xs:element>
                <xs:element name="kod" type="ku_kod_type">
                    <xs:annotation><xs:documentation>Kód katastrálního území</xs:documentation></xs:annotation>
                </xs:element>
            </xs:choice>
        </xs:sequence>
    </xs:complexType>
    
    <xs:simpleType name="kmenove_cislo_type">
        <xs:annotation><xs:documentation>Datový typ kmenového čísla parcely</xs:documentation></xs:annotation>
        <xs:restriction base="xs:integer">
            <xs:minInclusive value="1"/>
            <xs:maxInclusive value="99999"/>
        </xs:restriction>
    </xs:simpleType>
    
    <xs:simpleType name="poddeleni_cisla_type">
        <xs:annotation><xs:documentation>Datový typ poddělení čísla parcely</xs:documentation></xs:annotation>
        <xs:restriction base="xs:integer">
            <xs:minInclusive value="1"/>
            <xs:maxInclusive value="999"/>
        </xs:restriction>
    </xs:simpleType>
    
    <xs:simpleType name="dil_parcely_type">
        <xs:annotation><xs:documentation>Datový typ dílu parcely</xs:documentation></xs:annotation>
        <xs:restriction base="xs:integer">
            <xs:minInclusive value="1"/>
            <xs:maxInclusive value="9"/>
        </xs:restriction>
    </xs:simpleType>
    
    <xs:complexType name="pk_type">
        <xs:annotation><xs:documentation>Datový typ Pozemkového Katastru</xs:documentation></xs:annotation>
        <xs:sequence>
            <xs:element name="katastralni_uzemi" type="kat_uzemi_typ">
                <xs:annotation><xs:documentation>Identifikace katastrálního území</xs:documentation></xs:annotation>
            </xs:element>
            <xs:element name="kmenove_cislo" type="kmenove_cislo_type">
                <xs:annotation><xs:documentation>Kmenové číslo parcely</xs:documentation></xs:annotation>
            </xs:element>
            <xs:element name="poddeleni_cisla" type="poddeleni_cisla_type" minOccurs="0">
                <xs:annotation><xs:documentation>Poddělení čísla parcely</xs:documentation></xs:annotation>
            </xs:element>
            <xs:element name="dil_parcely" type="dil_parcely_type" minOccurs="0">
                <xs:annotation><xs:documentation>Díl parcely</xs:documentation></xs:annotation>
            </xs:element>
        </xs:sequence>
        <xs:attribute name="druh_cislovani" type="cislovani_type" use="required">
            <xs:annotation><xs:documentation>Druh číslování</xs:documentation></xs:annotation>
        </xs:attribute>
    </xs:complexType>
    
    <xs:complexType name="ze_type">
        <xs:annotation><xs:documentation>Datový typ Zjednodušené Evidence</xs:documentation></xs:annotation>
        <xs:sequence>
            <xs:element name="katastralni_uzemi" type="kat_uzemi_typ">
                <xs:annotation><xs:documentation>Identifikace katastrálního území</xs:documentation></xs:annotation>
            </xs:element>
            <xs:element name="puvodni_katastralni_uzemi" type="kat_uzemi_typ"   minOccurs="0">
                
            </xs:element>
            <xs:element name="kmenove_cislo" type="kmenove_cislo_type">
                <xs:annotation><xs:documentation>Kmenové číslo parcely</xs:documentation></xs:annotation>    
            </xs:element>
            <xs:element name="poddeleni_cisla" type="poddeleni_cisla_type" minOccurs="0">
                <xs:annotation><xs:documentation>Poddělení čísla parcely</xs:documentation></xs:annotation>
            </xs:element>
            <xs:element name="dil_parcely" type="dil_parcely_type" minOccurs="0">
                <xs:annotation><xs:documentation>Díl parcely</xs:documentation></xs:annotation> 
            </xs:element>
        </xs:sequence>
        <xs:attribute name="zdroj" type="zdroj_ze_type" use="required">
            <xs:annotation><xs:documentation>Zdroj zjednodušené evidence</xs:documentation></xs:annotation>
        </xs:attribute>
        <xs:attribute name="druh_cislovani" type="cislovani_type" use="required">
            <xs:annotation><xs:documentation>Druh číslování</xs:documentation></xs:annotation>
        </xs:attribute>
        
    </xs:complexType>
    
    <xs:complexType name="parcela_type">
        <xs:annotation><xs:documentation>Datový typ parcely</xs:documentation></xs:annotation>
        <xs:choice>
            <xs:element name="katastr_nemovitosti" type="pk_type" >
                <xs:annotation><xs:documentation>Parcela Katastru Nemovitostí</xs:documentation></xs:annotation>
            </xs:element>
            <xs:element name="zjednodusena_evidence" type="ze_type" >
                <xs:annotation><xs:documentation>Parcela Zjednodušené Evidence</xs:documentation></xs:annotation>
            </xs:element>
        </xs:choice>
    </xs:complexType>
    
    <xs:simpleType name="domovni_cislo_typ_type">
        <xs:annotation><xs:documentation>Datový typ domovního čísla</xs:documentation></xs:annotation>
        <xs:restriction base="xs:integer">
            <xs:minInclusive value="1"/>
            <xs:maxInclusive value="9999"/>
        </xs:restriction>
    </xs:simpleType>
        
    <xs:complexType name="domovni_cislo_type">
        <xs:annotation><xs:documentation>Datový typ domovního čísla</xs:documentation></xs:annotation>
        <xs:attribute name="cislo" type="domovni_cislo_typ_type" use="required" >
            <xs:annotation><xs:documentation>Domovní číslo</xs:documentation></xs:annotation>
        </xs:attribute>
        <xs:attribute name="typ" type="domovni_cislo_atribut" use="required" >
            <xs:annotation><xs:documentation>Typ domovního čísla</xs:documentation></xs:annotation>
        </xs:attribute>
    </xs:complexType>
        
    <xs:simpleType name="cast_obce_nazev_type">
        <xs:annotation><xs:documentation>Datový typ názvu části obce</xs:documentation></xs:annotation>
        <xs:restriction base="xs:token">
            <xs:pattern value="[\s\S]{2,39}"/>
        </xs:restriction>
    </xs:simpleType>
    
    <xs:simpleType name="cast_obce_kod_type">
        <xs:annotation><xs:documentation>Datový typ kódu části obce</xs:documentation></xs:annotation>
        <xs:restriction base="xs:string">
            <xs:pattern value="[0-9]{2,6}"/>
        </xs:restriction>
    </xs:simpleType>
    
    <xs:complexType name="cast_obce_type">
        <xs:annotation><xs:documentation>Datový typ části obce</xs:documentation></xs:annotation>
        <xs:sequence>
            <xs:choice>
                <xs:element name="nazev" type="cast_obce_nazev_type">
                    <xs:annotation><xs:documentation>Název části obce</xs:documentation></xs:annotation>
                </xs:element>
                <xs:element name="kod" type="cast_obce_kod_type">
                    <xs:annotation><xs:documentation>Kód části obce</xs:documentation></xs:annotation>
                </xs:element>
            </xs:choice>
        </xs:sequence>
    </xs:complexType>
    
    <xs:simpleType name="obec_nazev_type">
        <xs:annotation><xs:documentation>Datový typ názvu obce</xs:documentation></xs:annotation>
        <xs:restriction base="xs:token">
            <xs:pattern value="[\s\S]{2,37}"/>
        </xs:restriction>
    </xs:simpleType>
    
    <xs:simpleType name="obec_kod_type">
        <xs:annotation><xs:documentation>Datový typ kódu obce</xs:documentation></xs:annotation>
        <xs:restriction base="xs:string">
            <xs:pattern value="[0-9]{6}"/>
        </xs:restriction>
    </xs:simpleType>
    
    <xs:complexType name="obec_type">
        <xs:annotation><xs:documentation>Datový typ obce</xs:documentation></xs:annotation>
        <xs:sequence>
            <xs:choice>
                <xs:element name="nazev" type="obec_nazev_type">
                    <xs:annotation><xs:documentation>Název obce</xs:documentation></xs:annotation>
                </xs:element>
                <xs:element name="kod" type="obec_kod_type">
                    <xs:annotation><xs:documentation>Kód obce</xs:documentation></xs:annotation>
                </xs:element>
            </xs:choice>
        </xs:sequence>
    </xs:complexType>

    <xs:complexType name="adresa_type">
        <xs:annotation><xs:documentation>Datový typ adresy</xs:documentation></xs:annotation>
        <xs:sequence>
            <xs:choice>
                <xs:sequence>
                <xs:element name="obec" type="obec_type">
                    <xs:annotation><xs:documentation>Identifikace obce</xs:documentation></xs:annotation>
                </xs:element>
                <xs:element name="ulice" type="xs:token" minOccurs="0">
                    <xs:annotation><xs:documentation>Ulice</xs:documentation></xs:annotation>
                </xs:element>
                </xs:sequence>
                <xs:element name="cast_obce" type="cast_obce_type">
                    <xs:annotation><xs:documentation>Identifikace části obce</xs:documentation></xs:annotation>
                </xs:element>
            </xs:choice>      
            <xs:element name="domovni_cislo" type="domovni_cislo_type">
                <xs:annotation><xs:documentation>Domovní číslo</xs:documentation></xs:annotation>
            </xs:element>
        </xs:sequence>
    </xs:complexType>
    
  <xs:complexType name="idr_type">
      <xs:annotation><xs:documentation>Datový typ budovy/parcely u níž se navrhuje změna</xs:documentation></xs:annotation>
        <xs:choice>
            <xs:element name="idob" type="idob_type">
                <xs:annotation><xs:documentation>IDOB identifikační číslo budovy dle ČSÚ</xs:documentation></xs:annotation>
            </xs:element> 
            <xs:element name="bud_id" type="bud_id_type">
                <xs:annotation><xs:documentation>BUD_ID identifikační číslo budovy dle ČÚZK</xs:documentation></xs:annotation>
            </xs:element>
            <xs:element name="adresa" type="adresa_type">
                <xs:annotation><xs:documentation>Adresa budovy</xs:documentation></xs:annotation>
            </xs:element>
            <xs:element name="par_id" type="xs:integer">
                <xs:annotation><xs:documentation>PAR_ID identifikační číslo parcely dle ISKN ČÚZK</xs:documentation></xs:annotation>
            </xs:element>
            <xs:element name="parcela" type="parcela_type">
                <xs:annotation><xs:documentation>Parcela dle ČÚZK</xs:documentation></xs:annotation>
            </xs:element>
            <xs:element name="budova_na_parcele" type="parcela_type">
                <xs:annotation><xs:documentation>Budova na parcele dle ČÚZK</xs:documentation></xs:annotation>                
            </xs:element>
        </xs:choice>
  </xs:complexType>
    
    <xs:complexType name="polozka_reklamace_type">
        <xs:annotation><xs:documentation>Datový typ položky reprezentující jednu nahlášenou změnu</xs:documentation></xs:annotation>
    <xs:sequence>
        <xs:element name="identifikace" type="idr_type">
            <xs:annotation><xs:documentation>Identifikace budovy/parcely u níž se navrhuje změna</xs:documentation></xs:annotation>
        </xs:element>
        <xs:element name="puvodni_poloha" type="poloha_typ" minOccurs="0">
            <xs:annotation><xs:documentation>Původní poloha v S-JTSK</xs:documentation></xs:annotation>
        </xs:element>
        <xs:element name="nova_poloha" type="poloha_typ">
            <xs:annotation><xs:documentation>Nově navrhovaná poloha v S-JTSK</xs:documentation></xs:annotation>
        </xs:element>
        <xs:element name="poznamka" type="xs:string" minOccurs="0">
            <xs:annotation><xs:documentation>Poznámka</xs:documentation></xs:annotation>
        </xs:element>
    </xs:sequence>
</xs:complexType>
    
<xs:complexType name="ohlasovatel_type">
    <xs:annotation><xs:documentation>Datový typ ohlašovatele změn</xs:documentation></xs:annotation>
    <xs:sequence>
        <xs:element name="jmeno" type="xs:token" minOccurs="0" maxOccurs="1">
            <xs:annotation><xs:documentation>Křestní jméno kontaktní osoby ohlašovatele</xs:documentation></xs:annotation>
        </xs:element>
        <xs:element name="prijmeni" type="xs:token" minOccurs="0" maxOccurs="1">
            <xs:annotation><xs:documentation>Příjmení kontaktní osoby ohlašovatele</xs:documentation></xs:annotation>
        </xs:element>
        <xs:element name="organizace" type="xs:token" minOccurs="1" maxOccurs="1">
            <xs:annotation><xs:documentation>Název organizace</xs:documentation></xs:annotation>
        </xs:element>
        <xs:element name="email" type="email_type" minOccurs="1" maxOccurs="1">
            <xs:annotation><xs:documentation>Kontaktní e-mail</xs:documentation></xs:annotation>
        </xs:element>
        <xs:element name="telefon" type="telefon_type" minOccurs="0" maxOccurs="1">
            <xs:annotation><xs:documentation>Kontaktní telefonní číslo</xs:documentation></xs:annotation>
        </xs:element>
    </xs:sequence>
</xs:complexType>
    
<xs:element name="reklamace">
    <xs:annotation><xs:documentation>Element Reklamace</xs:documentation></xs:annotation>
    <xs:complexType>
        <xs:sequence>
            <xs:element name="ohlasovatel" type="ohlasovatel_type" minOccurs="1" maxOccurs="1">
                <xs:annotation><xs:documentation>Identifikace a kontakt na ohlašovatele změn.</xs:documentation></xs:annotation>
            </xs:element>
            <xs:element name="polozka_reklamace" type="polozka_reklamace_type" minOccurs="1" maxOccurs="unbounded">
                <xs:annotation><xs:documentation>Položka reprezentuje jednu nahlášenou změnu.</xs:documentation></xs:annotation>
            </xs:element>
        </xs:sequence>
    </xs:complexType>
</xs:element>

</xs:schema>
