<?xml version="1.0" encoding="utf-8"?>
<xs:schema targetNamespace="http://www.ispop.cz" elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema">

  <xs:element name="F_VOD_OV">
    <xs:complexType>
      <xs:sequence>
        
        <xs:element name="meta-info" type="MetaInfoType" />
        
        <xs:element name="Sekce1">
          <xs:complexType>
            <xs:all>
              <xs:element name="Rok" type="xs:int" minOccurs="0" />
              <xs:element name="Cistota" type="NotEmptyStringType" />
              <xs:element name="HlaseniPriznani" type="NotEmptyStringType" />
              <xs:element name="Kraj" type="NotEmptyStringType" />
              <xs:element name="Inspektorat" type="NotEmptyStringType" />
              <xs:element name="ZdrojZnecis" type="NotEmptyStringType" />
              <xs:element name="ZdrojZnecisteni">
                <xs:complexType>
                  <xs:all>
                    <xs:element name="JmenoZnecis" type="NotEmptyStringType" />
                    <xs:element name="Ulice" type="NotEmptyStringType" />
                    <xs:element name="Tel" type="xs:string" minOccurs="0" />
                    <xs:element name="CP" type="xs:string" minOccurs="0" />
                    <xs:element name="Fax" type="xs:string" minOccurs="0" />
                    <xs:element name="Obec" type="NotEmptyStringType" />
                    <xs:element name="Email" type="NotEmptyStringType" />
                    <xs:element name="Psc" type="PscType" />
                    <xs:element name="IC" type="ICType" />
                    <xs:element name="ObecSRozsPusob" type="xs:string" minOccurs="0" />
                    <xs:element name="DIC" type="xs:string" minOccurs="0" />
                    <xs:element name="Kraj" type="xs:string" minOccurs="0" />
                    <xs:element name="CelniUrad" type="xs:string" minOccurs="0" />
                    <xs:element name="OKEC" type="xs:string" minOccurs="0" />
                  </xs:all>
                </xs:complexType>
              </xs:element>
              <xs:element name="Banka" minOccurs="0">
                <xs:complexType>
                  <xs:all>
                    <xs:element name="Banka" type="xs:string" minOccurs="0" />
                    <xs:element name="Ucet" type="xs:string" minOccurs="0" />
                  </xs:all>
                </xs:complexType>
              </xs:element>
            </xs:all>
          </xs:complexType>
        </xs:element>

        <xs:element name="Sekce2">
          <xs:complexType>
            <xs:all>
              <xs:element name="Zdroj">
                <xs:complexType>
                  <xs:all>
                    <xs:element name="NazevZdroje" type="NotEmptyStringType" />
                    <xs:element name="Obec" type="xs:string" minOccurs="0" />
                    <xs:element name="ObecRozPusob" type="xs:string" minOccurs="0" />
                    <xs:element name="Kraj" type="xs:string" minOccurs="0" />
                  </xs:all>
                </xs:complexType>
              </xs:element>
              <xs:element name="Koncentrace">
                <xs:complexType>
                  <xs:sequence>
                    <xs:element name="Koncentrace1" type="Koncentrace" />
                    <xs:element name="Koncentrace2" type="Koncentrace" />
                    <xs:element name="Koncentrace3" type="Koncentrace" />
                    <xs:element name="Koncentrace4" type="Koncentrace" />
                    <xs:element name="Koncentrace5" type="Koncentrace" />
                    <xs:element name="Koncentrace6" type="Koncentrace" />
                    <xs:element name="Koncentrace7" type="Koncentrace" />
                    <xs:element name="Koncentrace8" type="Koncentrace" />
                  </xs:sequence>
                </xs:complexType>
              </xs:element>
              <xs:element name="RocniObjem" type="xs:decimal" minOccurs="0" />
            </xs:all>
          </xs:complexType>
        </xs:element>

        <xs:element name="Sekce3">
          <xs:complexType>
            <xs:all>
              <xs:element name="PoplatekMnozstvi">
                <xs:complexType>
                  <xs:sequence>
                    <xs:element name="Poplatky1" type="Poplatek" />
                    <xs:element name="Poplatky2" type="Poplatek" />
                    <xs:element name="Poplatky3" type="Poplatek" />
                    <xs:element name="Poplatky4" type="Poplatek" />
                    <xs:element name="Poplatky5" type="Poplatek" />
                    <xs:element name="Poplatky6" type="Poplatek" />
                    <xs:element name="Poplatky7" type="Poplatek" />
                    <xs:element name="Poplatky8" type="Poplatek" />
                    <xs:element name="Poplatky9" type="Poplatek" />
                  </xs:sequence>
                </xs:complexType>
              </xs:element>
              <xs:element name="PoplatekObjem">
                <xs:complexType>
                  <xs:all>
                    <xs:element name="Objem" type="xs:decimal" minOccurs="0" />
                    <xs:element name="Sazba" type="xs:decimal" minOccurs="0" />
                    <xs:element name="PoplatekVypust" type="xs:decimal" minOccurs="0" />
                  </xs:all>
                </xs:complexType>
              </xs:element>
            </xs:all>
          </xs:complexType>
        </xs:element>

        <xs:element name="Sekce4">
          <xs:complexType>
            <xs:all>
              <xs:element name="Odklady">
                <xs:complexType>
                  <xs:sequence>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="Odklad">
                      <xs:complexType>
                        <xs:sequence>
                          <xs:element name="Priznal" type="xs:string" minOccurs="0" />
                          <xs:element name="DatumPriznani" type="xs:date" minOccurs="0" />
                          <xs:element name="PlatnostOd" type="xs:date" minOccurs="0" />
                          <xs:element name="PlatnostDo" type="xs:date" minOccurs="0" />
                          <xs:element name="Vyse" type="xs:int" minOccurs="0" />
                        </xs:sequence>
                      </xs:complexType>
                    </xs:element>
                  </xs:sequence>
                </xs:complexType>
              </xs:element>
              <xs:element name="CelkovePoplatky">
                <xs:complexType>
                  <xs:all>
                    <xs:element name="Znecisteni" type="xs:int" minOccurs="0"/>
                    <xs:element name="Vypousteni" type="xs:int" minOccurs="0"/>
                    <xs:element name="PoplatekCelkem" type="xs:int" minOccurs="0"/>
                    <xs:element name="OdkladCelkem" type="xs:int" minOccurs="0"/>
                    <xs:element name="PoplatekBezOdkladu" type="xs:int" minOccurs="0"/>
                    <xs:element name="ZaplacenaZaloha" type="xs:int" minOccurs="0"/>
                    <xs:element name="Vyrovnani" type="xs:int" minOccurs="0"/>
                  </xs:all>
                </xs:complexType>
              </xs:element>
              <xs:element name="PocetAPriloh" type="xs:int" />
              <xs:element name="PocetBPriloh" type="xs:int" />
              <xs:element name="PriznaniZpracoval">
                <xs:complexType>
                  <xs:all>
                    <xs:element name="Jmeno" type="xs:string" minOccurs="0"/>
                    <xs:element name="Funkce" type="xs:string" minOccurs="0"/>
                    <xs:element name="Tel" type="xs:int" minOccurs="0"/>
                    <xs:element name="Fax" type="xs:int" minOccurs="0"/>
                  </xs:all>
                </xs:complexType>
              </xs:element>
              <xs:element name="DatumPriznani" type="xs:date" minOccurs="0"/>
            </xs:all>
          </xs:complexType>
        </xs:element>

        <xs:element name="Prilohy">
          <xs:complexType>
            <xs:sequence>
              <xs:element minOccurs="0" maxOccurs="unbounded" name="PrilohaA">
                <xs:complexType>
                  <xs:all>
                    <xs:element name="Prihlaseni" type="xs:string" minOccurs="0"/>
                    <xs:element name="Rok" type="xs:int" minOccurs="0"/>
                    <xs:element name="Cistota" type="xs:string" minOccurs="0"/>
                    <xs:element name="Vypust">
                      <xs:complexType>
                        <xs:all>
                          <xs:element name="Znecistovatel" type="xs:string" minOccurs="0"/>
                          <xs:element name="ZdrojZnecisteni" type="xs:string" minOccurs="0"/>
                          <xs:element name="Vypust" type="xs:string" minOccurs="0"/>
                          <xs:element name="Obec" type="xs:string" minOccurs="0"/>
                          <xs:element name="Kraj" type="xs:string" minOccurs="0"/>
                          <xs:element name="KatastrVypust" type="xs:string" minOccurs="0"/>
                          <xs:element name="Tok" type="xs:string" minOccurs="0"/>
                          <xs:element name="RicniKM" type="xs:decimal" minOccurs="0"/>
                          <xs:element name="HydroPoradi" type="xs:string" minOccurs="0"/>
                        </xs:all>
                      </xs:complexType>
                    </xs:element>
                    <xs:element name="PovoleniVypuste">
                      <xs:complexType>
                        <xs:sequence>
                          <xs:element minOccurs="0" maxOccurs="unbounded" name="Povoleni" type="PovoleniVypustTyp" />
                        </xs:sequence>
                      </xs:complexType>
                    </xs:element>
                    <xs:element name="Koncentrace">
                      <xs:complexType>
                        <xs:sequence>
                          <xs:element name="Koncentrace1" type="KoncentracePrum" />
                          <xs:element name="Koncentrace2" type="KoncentracePrum" />
                          <xs:element name="Koncentrace3" type="KoncentracePrum" />
                          <xs:element name="Koncentrace4" type="KoncentracePrum" />
                          <xs:element name="Koncentrace5" type="KoncentracePrum" />
                          <xs:element name="Koncentrace6" type="KoncentracePrum" />
                          <xs:element name="Koncentrace7" type="KoncentracePrum" />
                          <xs:element name="Koncentrace8" type="KoncentracePrum" />
                        </xs:sequence>
                      </xs:complexType>
                    </xs:element>
                    <xs:element name="Objem" type="xs:decimal" minOccurs="0"/>
                  </xs:all>
                </xs:complexType>
              </xs:element>
              <xs:element minOccurs="0" maxOccurs="unbounded" name="PrilohaB">
                <xs:complexType>
                  <xs:all>
                    <xs:element name="Hlaseni" type="xs:string" minOccurs="0"/>
                    <xs:element name="Rok" type="xs:int" minOccurs="0"/>
                    <xs:element name="PovrchVoda" type="xs:boolean" />
                    <xs:element name="PodzemniVoda" type="xs:boolean" />
                    <xs:element name="Vodovod" type="xs:boolean" />
                    <xs:element name="MistoOdberu">
                      <xs:complexType>
                        <xs:all>
                          <xs:element name="Znecistovatel" type="xs:string" minOccurs="0"/>
                          <xs:element name="ZdrojZnecisteni" type="xs:string" minOccurs="0"/>
                          <xs:element name="MistoOdberu" type="xs:string" minOccurs="0"/>
                          <xs:element name="Obec" type="xs:string" minOccurs="0"/>
                          <xs:element name="Kraj" type="xs:string" minOccurs="0"/>
                          <xs:element name="KatastrVypust" type="xs:string" minOccurs="0"/>
                          <xs:element name="Tok" type="xs:string" minOccurs="0"/>
                          <xs:element name="RicniKM" type="xs:int" minOccurs="0"/>
                          <xs:element name="HydroPoradi" type="xs:string" minOccurs="0"/>
                        </xs:all>
                      </xs:complexType>
                    </xs:element>
                    <xs:element name="PovoleniVypuste">
                      <xs:complexType>
                        <xs:sequence>
                          <xs:element minOccurs="0" maxOccurs="unbounded" name="Povoleni" type="PovoleniVypustTyp" />
                        </xs:sequence>
                      </xs:complexType>
                    </xs:element>
                    <xs:element name="Koncentrace">
                      <xs:complexType>
                        <xs:sequence>
                          <xs:element name="Koncentrace1" type="KoncentracePrum" />
                          <xs:element name="Koncentrace2" type="KoncentracePrum" />
                          <xs:element name="Koncentrace3" type="KoncentracePrum" />
                          <xs:element name="Koncentrace4" type="KoncentracePrum" />
                          <xs:element name="Koncentrace5" type="KoncentracePrum" />
                          <xs:element name="Koncentrace6" type="KoncentracePrum" />
                          <xs:element name="Koncentrace7" type="KoncentracePrum" />
                          <xs:element name="Koncentrace8" type="KoncentracePrum" />
                        </xs:sequence>
                      </xs:complexType>
                    </xs:element>
                    <xs:element name="Objem" type="xs:string" minOccurs="0" />
                  </xs:all>
                </xs:complexType>
              </xs:element>
            </xs:sequence>
          </xs:complexType>
        </xs:element>

      </xs:sequence>
    </xs:complexType>
  </xs:element>

  <xs:complexType name="Koncentrace">
    <xs:all>
      <xs:element name="mgNaL" type="xs:decimal" minOccurs="0" />
      <xs:element name="kgZaRok" type="xs:decimal" minOccurs="0" />
      <xs:element name="predchozRokSkutec" type="xs:decimal" minOccurs="0" />
      <xs:element name="snizeniProtiLonsku" type="xs:decimal" minOccurs="0" />
      <xs:element name="snizeniPoplatku" type="xs:decimal" minOccurs="0" />
    </xs:all>
  </xs:complexType>

  <xs:complexType name="Poplatek">
    <xs:all>
      <xs:element name="BeznyRok" type="xs:decimal" minOccurs="0" />
      <xs:element name="VeVode" type="xs:decimal" minOccurs="0" />
      <xs:element name="Snizeni" type="xs:decimal" minOccurs="0" />
      <xs:element name="ZpoplatneneMnozstvi" type="xs:decimal" minOccurs="0" />
      <xs:element name="Sazba" type="xs:decimal" minOccurs="0" />
      <xs:element name="KC" type="xs:decimal" minOccurs="0" />
    </xs:all>
  </xs:complexType>

  <xs:complexType name="PovoleniVypustTyp">
    <xs:all>
      <xs:element name="Vydal" type="xs:string" minOccurs="0"/>
      <xs:element name="CJ" type="xs:string" minOccurs="0"/>
      <xs:element name="Datum" type="xs:date" minOccurs="0"/>
    </xs:all>
  </xs:complexType>

  <xs:complexType name="KoncentracePrum">
    <xs:all>
      <xs:element name="mgZaL" type="xs:decimal" minOccurs="0"/>
      <xs:element name="kgZaR" type="xs:decimal" minOccurs="0"/>
    </xs:all>
  </xs:complexType>
  
  <xs:complexType name="MetaInfoType">
    <xs:sequence>
      <xs:element name="version" type="xs:nonNegativeInteger" fixed="2010" />
      <xs:element name="revision" type="xs:nonNegativeInteger" fixed="1" />

      <xs:element name="user-agent" type="NotEmptyString" />
      <xs:element name="user-agent-version" type="NotEmptyString" />

      <xs:any namespace="##other" minOccurs="0" maxOccurs="unbounded" />
    </xs:sequence>
  </xs:complexType>
  
  <xs:simpleType name="NotEmptyStringType">
    <xs:restriction base="xs:string">
      <xs:minLength value="1"/>
    </xs:restriction>
  </xs:simpleType>
  
  <xs:simpleType name="PscType">
    <xs:restriction base="xs:nonNegativeInteger">
        <xs:pattern value="\d{5}" />
    </xs:restriction>
  </xs:simpleType>
  
  <xs:simpleType name="ICType">
    <xs:restriction base="xs:string">
        <xs:pattern value="\d{8}" />
    </xs:restriction>
  </xs:simpleType>
  
</xs:schema>