<?xml version="1.0" encoding="UTF-8"?>
<!-- Vseobecne podanie pre FS - uctovne jednotky, ver.2015 -->
<xs:schema elementFormDefault="qualified" attributeFormDefault="unqualified" xmlns:xs="http://www.w3.org/2001/XMLSchema">
  <!-- Retazec - lubovolny retazec -->
  <xs:simpleType name="ldt_Retazec">
    <xs:restriction base="xs:string"></xs:restriction>
  </xs:simpleType>
  
  <!-- RadioButton - hodnoty 0 a 1 -->
  <xs:simpleType name="ldt_RadioButton">
    <xs:restriction base="xs:string">
      <xs:pattern value="[01]" />
    </xs:restriction>
  </xs:simpleType>
  
  <!-- ICO -->
  <xs:simpleType name="ldt_ICO">
    <xs:restriction base="xs:string">
      <xs:pattern value="|\d{8}" />
      <xs:maxLength value="8" />
    </xs:restriction>
  </xs:simpleType>
  
  <!-- DIC -->
  <xs:simpleType name="ldt_DIC">
    <xs:restriction base="xs:string">
      <xs:pattern value="|\d{10}" />
      <xs:maxLength value="10" />
    </xs:restriction>
  </xs:simpleType>
  
  <!-- SID -->
  <xs:simpleType name="ldt_SID">
    <xs:restriction base="xs:string">
      <xs:pattern value="|\d{1,4}" />
      <xs:maxLength value="4" />
    </xs:restriction>
  </xs:simpleType>
  
  <!-- PSC -->
  <xs:simpleType name="ldt_PSC">
    <xs:restriction base="xs:string">
      <xs:maxLength value="10" />
    </xs:restriction>
  </xs:simpleType>
  
  <!-- Telefonne cislo -->
  <xs:simpleType name="ldt_Telefon">
    <xs:restriction base="xs:string">
      <xs:pattern value="|0\d{9}|0\d{10}|0\d{11}|0\d{12}|0\d{13}" />
      <xs:maxLength value="14" />
    </xs:restriction>
  </xs:simpleType>
  
  <!-- Email -->
  <xs:simpleType name="ldt_Email">
    <xs:restriction base="xs:string">
      <xs:pattern value="|.{0,64}@.{1,250}\..{2,4}" />
    </xs:restriction>
  </xs:simpleType>
  
  <!-- Cislo domu -->
  <xs:simpleType name="ldt_CisloDomu">
    <xs:restriction base="xs:string">
      <xs:maxLength value="8" />
    </xs:restriction>
  </xs:simpleType>
  
  <!-- Datum -->
  <xs:simpleType name="ldt_Datum">
    <xs:restriction base="xs:date"></xs:restriction>
  </xs:simpleType>
  
  <!-- Mesiac -->
  <xs:simpleType name="ldt_Mesiac">
    <xs:restriction base="xs:string">
      <xs:pattern value="|(([0])?[1-9])|([1][0-2])"/>
      <xs:maxLength value="2" />
    </xs:restriction>
  </xs:simpleType>
  
  <!-- Rok -->
  <xs:simpleType name="ldt_Rok">
    <xs:restriction base="xs:string">
      <xs:pattern value="|\d{4}" />
      <xs:maxLength value="4" />
    </xs:restriction>
  </xs:simpleType>
  
  <!-- CheckBox - hodnoty 0 a 1 -->
  <xs:simpleType name="ldt_Checkbox">
    <xs:restriction base="xs:boolean"></xs:restriction>
  </xs:simpleType>
  
  <!-- Evidencne cislo suvisiaceho dokumentu -->
  <xs:simpleType name="ldt_EvidencneCisloSuvisiacehoDokumentu">
    <xs:restriction base="xs:string">
      <xs:pattern value="|\d{8}" />
      <xs:maxLength value="8" />
    </xs:restriction>
  </xs:simpleType>
  
  <!-- LEI -->
  <xs:simpleType name="ldt_LEI">
    <xs:restriction base="xs:string">
      <xs:pattern value="|[0-9A-Z]{18}[0-9]{2}" />
      <xs:maxLength value="20" />
    </xs:restriction>
  </xs:simpleType>
  
  <!-- Typ uctovnej jednotky -->
  <xs:simpleType name="ldt_TypUJ">
    <xs:restriction base="xs:string">
      <xs:pattern value="|RUZ_[a-zA-Z].*" />
    </xs:restriction>
  </xs:simpleType>
  
  <!-- Typ prilohy uctovnej jednotky -->
  <xs:simpleType name="ldt_TypPrilohyUJ">
    <xs:restriction base="xs:string">
      <xs:pattern value="|UJ_[a-zA-Z].*" />
    </xs:restriction>
  </xs:simpleType>
  
  
  <xs:element name="dokument">
    <xs:complexType>
      <xs:sequence>
        <xs:element name="secNazov" minOccurs="0">
          <xs:complexType>
            <xs:sequence>
              <xs:element name="valNazov" type="ldt_Retazec" minOccurs="0" nillable="true"></xs:element>
            </xs:sequence>
          </xs:complexType>
        </xs:element>
        <xs:element name="secEvidencneCisloSuvisiacehoDOkumentu" minOccurs="0">
          <xs:complexType>
            <xs:sequence>
              <xs:element name="valEvidencneCisloSuvisiacehoDokumentu" type="ldt_EvidencneCisloSuvisiacehoDokumentu" minOccurs="0" nillable="true"></xs:element>
              <xs:element name="valECSDRok" type="ldt_Rok" minOccurs="0" nillable="true"></xs:element>
            </xs:sequence>
          </xs:complexType>
        </xs:element>
        <xs:element name="secAdresovanieVP" minOccurs="1">
          <xs:complexType>
            <xs:sequence>
              <xs:element name="valOrganFS" type="ldt_Retazec" minOccurs="1"></xs:element>
              <xs:element name="secAdresatDU" minOccurs="1">
                <xs:complexType>
                  <xs:sequence>
                    <xs:element name="valDanovyUrad" type="ldt_Retazec" minOccurs="1"></xs:element>
                    <xs:element name="valPracoviskoDU" type="ldt_Retazec" minOccurs="0" nillable="true"></xs:element>
                  </xs:sequence>
                </xs:complexType>
              </xs:element>
            </xs:sequence>
          </xs:complexType>
        </xs:element>
        <xs:element name="secOblastPodania" minOccurs="1">
          <xs:complexType>
            <xs:sequence>
              <xs:element name="valOblastPodania" type="ldt_Retazec" minOccurs="1"></xs:element>
            </xs:sequence>
          </xs:complexType>
        </xs:element>
        <xs:element name="secAgenda" minOccurs="1">
          <xs:complexType>
            <xs:sequence>
              <xs:element name="valAgenda" type="ldt_Retazec" minOccurs="1"></xs:element>
            </xs:sequence>
          </xs:complexType>
        </xs:element>
        <xs:element name="secTypUJ" minOccurs="0">
          <xs:complexType>
            <xs:sequence>
              <xs:element name="valTypUJ" type="ldt_TypUJ" minOccurs="1"></xs:element>
            </xs:sequence>
          </xs:complexType>
        </xs:element>
        <xs:element name="secUdajeUZ" minOccurs="1">
          <xs:complexType>
            <xs:sequence>
              <xs:element name="secTypUZ" minOccurs="0">
                <xs:complexType>
                  <xs:sequence>
                    <xs:element name="valTypUZ" type="ldt_RadioButton" minOccurs="0" nillable="true" >
                      <xs:annotation>
                        <xs:documentation>Hodnoty 0-individuálna, 1-konsolidovaná</xs:documentation>
                      </xs:annotation>
                    </xs:element>
                  </xs:sequence>
                </xs:complexType>
              </xs:element>
              <xs:element name="secZostavenaK" minOccurs="1">
                <xs:complexType>
                  <xs:sequence>
                    <xs:element name="valZostavenaK" type="ldt_Datum" minOccurs="1"></xs:element>
                  </xs:sequence>
                </xs:complexType>
              </xs:element>
              <xs:element name="secZaMesiaceRoka" minOccurs="0">
                <xs:complexType>
                  <xs:sequence>
                    <xs:element name="valZaMesiace" type="ldt_Mesiac" minOccurs="1"></xs:element>
                    <xs:element name="valZaRoka" type="ldt_Rok" minOccurs="1"></xs:element>
                  </xs:sequence>
                </xs:complexType>
              </xs:element>
              <xs:element name="secZaObdobieOd" minOccurs="0">
                <xs:complexType>
                  <xs:sequence>
                    <xs:element name="valObdobieMesiacOd" type="ldt_Retazec" minOccurs="0" nillable="true"></xs:element>
                    <xs:element name="valObdobieRokOd" type="ldt_Rok" minOccurs="0" nillable="true"></xs:element>
                  </xs:sequence>
                </xs:complexType>
              </xs:element>
              <xs:element name="secZaObdobieDo" minOccurs="0">
                <xs:complexType>
                  <xs:sequence>
                    <xs:element name="valObdobieMesiacDo" type="ldt_Retazec" minOccurs="0" nillable="true"></xs:element>
                    <xs:element name="valObdobieRokDo" type="ldt_Rok" minOccurs="0" nillable="true"></xs:element>
                  </xs:sequence>
                </xs:complexType>
              </xs:element>
              <xs:element name="secPredchadzajuceObdobieOd" minOccurs="0">
                <xs:complexType>
                  <xs:sequence>
                    <xs:element name="valPredchadzajuceMesiacOd" type="ldt_Retazec" minOccurs="0" nillable="true"></xs:element>
                    <xs:element name="valPredchadzajuceRokOd" type="ldt_Rok" minOccurs="0" nillable="true"></xs:element>
                  </xs:sequence>
                </xs:complexType>
              </xs:element>
              <xs:element name="secPredchadzajuceObdobieDo" minOccurs="0">
                <xs:complexType>
                  <xs:sequence>
                    <xs:element name="valPredchadzajuceMesiacDo" type="ldt_Retazec" minOccurs="0" nillable="true"></xs:element>
                    <xs:element name="valPredchadzajuceRokDo" type="ldt_Rok" minOccurs="0" nillable="true"></xs:element>
                  </xs:sequence>
                </xs:complexType>
              </xs:element>
              <xs:element name="secUctovnaZavierka" minOccurs="1">
                <xs:complexType>
                  <xs:sequence>
                    <xs:element name="secUctovnaZavierkaRMP" minOccurs="0">
                      <xs:complexType>
                        <xs:sequence>
                          <xs:element name="valUctovnaZavierkaRmpRiadna" type="ldt_Checkbox" minOccurs="0" nillable="true"></xs:element>
                          <xs:element name="valUctovnaZavierkaRmpMimoriadna" type="ldt_Checkbox" minOccurs="0" nillable="true"></xs:element>
                          <xs:element name="valUctovnaZavierkaRmpPriebezna" type="ldt_Checkbox" minOccurs="0" nillable="true"></xs:element>
                        </xs:sequence>
                      </xs:complexType>
                    </xs:element>
                    <xs:element name="secUctovnaZavierkaRM" minOccurs="0">
                      <xs:complexType>
                        <xs:sequence>
                          <xs:element name="valUctovnaZavierkaRmRiadna" type="ldt_Checkbox" minOccurs="0" nillable="true"></xs:element>
                          <xs:element name="valUctovnaZavierkaRmMimoriadna" type="ldt_Checkbox" minOccurs="0" nillable="true"></xs:element>
                        </xs:sequence>
                      </xs:complexType>
                    </xs:element>
                    <xs:element name="secUctovnaZavierkaZS" minOccurs="0">
                      <xs:complexType>
                        <xs:sequence>
                          <xs:element name="valUctovnaZavierkaZsZostavena" type="ldt_Checkbox" minOccurs="0" nillable="true"></xs:element>
                          <xs:element name="valUctovnaZavierkaZsSchvalena" type="ldt_Checkbox" minOccurs="0" nillable="true"></xs:element>
                        </xs:sequence>
                      </xs:complexType>
                    </xs:element>
                    <xs:element name="secUctovnaZavierkaZ" minOccurs="0">
                      <xs:complexType>
                        <xs:sequence>
                          <xs:element name="valUctovnaZavierkaZZostavena" type="ldt_Checkbox" minOccurs="0" nillable="true"></xs:element>
                        </xs:sequence>
                      </xs:complexType>
                    </xs:element>
                  </xs:sequence>
                </xs:complexType>
              </xs:element>
              <xs:element name="secDatumVznikuUJ" minOccurs="0">
                <xs:complexType>
                  <xs:sequence>
                    <xs:element name="valDatumVznikuUJ" type="ldt_Datum" minOccurs="0" nillable="true"></xs:element>
                  </xs:sequence>
                </xs:complexType>
              </xs:element>
              <xs:element name="secZostaveneDna" minOccurs="0">
                <xs:complexType>
                  <xs:sequence>
                    <xs:element name="valZostaveneDna" type="ldt_Datum" minOccurs="0" nillable="true"></xs:element>
                  </xs:sequence>
                </xs:complexType>
              </xs:element>
              <xs:element name="secSchvalenaDna" minOccurs="0">
                <xs:complexType>
                  <xs:sequence>
                    <xs:element name="valSchvaleneDna" type="ldt_Datum" minOccurs="0" nillable="true"></xs:element>
                  </xs:sequence>
                </xs:complexType>
              </xs:element>
              <xs:element name="secJazykPodania" minOccurs="0">
                <xs:complexType>
                  <xs:sequence>
                    <xs:element name="valJazykovaVerziaPodania" type="ldt_RadioButton" minOccurs="0" nillable="true" >
                      <xs:annotation>
                        <xs:documentation>Hodnoty 0-Slovenčina, 1-Iné</xs:documentation>
                      </xs:annotation>
                    </xs:element>
                  </xs:sequence>
                </xs:complexType>
              </xs:element>
            </xs:sequence>
          </xs:complexType>
        </xs:element>
        <xs:element name="secUctJednotka" minOccurs="1">
          <xs:complexType>
            <xs:sequence>
              <xs:element name="secIdUctJedn" minOccurs="0">
                <xs:complexType>
                  <xs:sequence>
                    <xs:element name="valLeiUj" type="ldt_LEI" minOccurs="0" nillable="true"></xs:element>
                    <xs:element name="secIcoUJ" minOccurs="0">
                      <xs:complexType>
                        <xs:sequence>
                          <xs:element name="valIcoUj" type="ldt_ICO" minOccurs="0" nillable="true"></xs:element>
                        </xs:sequence>
                      </xs:complexType>
                    </xs:element>
                    <xs:element name="secIcoSidUJ" minOccurs="0">
                      <xs:complexType>
                        <xs:sequence>
                          <xs:element name="valIcoSidUJ" type="ldt_ICO" minOccurs="0" nillable="true"></xs:element>
                          <xs:element name="valSidUJ" type="ldt_SID" minOccurs="0" nillable="true"></xs:element>
                        </xs:sequence>
                      </xs:complexType>
                    </xs:element>
                    <xs:element name="valDicUj" type="ldt_DIC" minOccurs="0" nillable="true"></xs:element>
                    <xs:element name="valKodSkNace" type="ldt_Retazec" minOccurs="0" nillable="true"></xs:element>
                    <xs:element name="valObchMenoUj" type="ldt_Retazec" minOccurs="1"></xs:element>
                    <xs:element name="valOznaObchRegACisObchSpol" type="ldt_Retazec" minOccurs="0" nillable="true"></xs:element>
                  </xs:sequence>
                </xs:complexType>
              </xs:element>
              <xs:element name="secIdSpravSpol" minOccurs="0">
                <xs:complexType>
                  <xs:sequence>
                    <xs:element name="valSpravSpolIco" type="ldt_ICO" minOccurs="0" nillable="true"></xs:element>
                    <xs:element name="valSpravSpolDic" type="ldt_DIC" minOccurs="0" nillable="true"></xs:element>
                    <xs:element name="valNazovSpravSpol" type="ldt_Retazec" minOccurs="0" nillable="true"></xs:element>
                    <xs:element name="valNazovSpravFondu" type="ldt_Retazec" minOccurs="0" nillable="true"></xs:element>
                  </xs:sequence>
                </xs:complexType>
              </xs:element>
            </xs:sequence>
          </xs:complexType>
        </xs:element>
        <xs:element name="secSidlo" minOccurs="1">
          <xs:complexType>
            <xs:sequence>
              <xs:element name="valUlica" type="ldt_Retazec" minOccurs="0" nillable="true"></xs:element>
              <xs:element name="valCislo" type="ldt_CisloDomu" minOccurs="1"></xs:element>
              <xs:element name="valPsc" type="ldt_PSC" minOccurs="1"></xs:element>
              <xs:element name="valObec" type="ldt_Retazec" minOccurs="1"></xs:element>
              <xs:element name="valTelefon" type="ldt_Telefon" minOccurs="0" nillable="true"></xs:element>
              <xs:element name="valFax" type="ldt_Telefon" minOccurs="0" nillable="true"></xs:element>
              <xs:element name="valEmail" type="ldt_Email" minOccurs="0" nillable="true"></xs:element>
            </xs:sequence>
          </xs:complexType>
        </xs:element>
        <xs:element name="secPrilohy" minOccurs="1">
          <xs:complexType>
            <xs:sequence>
              <xs:element name="secPrilohaUJ" minOccurs="1">
                <xs:complexType>
                  <xs:sequence>
                    <xs:element name="valTypPrilohyUJ" type="ldt_TypPrilohyUJ" minOccurs="1"></xs:element>
                    <xs:element name="valSdUJ" type="ldt_Retazec" minOccurs="1"></xs:element>
                    <xs:element name="valPopisPrilohyUJ" type="ldt_Retazec" minOccurs="0" nillable="true"></xs:element>
                  </xs:sequence>
                </xs:complexType>
              </xs:element>
            </xs:sequence>
          </xs:complexType>
        </xs:element>
        <xs:element name="secDatumPodania" minOccurs="0">
          <xs:complexType>
            <xs:sequence>
              <xs:element name="valDatumPodania" type="ldt_Datum" minOccurs="1"></xs:element>
            </xs:sequence>
          </xs:complexType>
        </xs:element>
      </xs:sequence>
    </xs:complexType>
  </xs:element>
</xs:schema>