<?xml version="1.0" encoding="UTF-8"?>
<!-- edited with XML Spy v4.3 U (http://www.xmlspy.com) by LEGO (LEGO) -->
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified">
  
  <xs:complexType name="Predavajuci">
    <xs:sequence>
      <xs:element name='dod_nazov' type='xmlServString250'/>
      <xs:element name='dod_ulica' type='xmlServString50' minOccurs="0"/>
      <xs:element name='dod_popisneCislo' type='xmlServString20' minOccurs="0"/>
      <xs:element name='dod_cisloSupisne' type='xmlServString10' minOccurs="0"/> <!-- actual: 9 -->
      <xs:element name='dod_obec' type='xmlServString50'/>
      <xs:element name='dod_psc' type='xmlServString10'/>
      <xs:element name='dod_ico' type='xmlServString20'/> <!-- actual 14 -->
      <xs:element name='dod_dic' type='xmlServString20' minOccurs="0"/>
      <xs:element name='dod_icdph' type='xmlServString20' minOccurs="0"/> <!-- actual 12 -->
      <xs:element name='dod_bank_spoj1' type='xmlServString150' minOccurs="0"/> <!-- actual 107 -->
      <xs:element name='dod_bank_spoj2' type='xmlServString150' minOccurs="0"/> <!-- actual 107 -->
      <xs:element name='dod_bank_spoj3' type='xmlServString150' minOccurs="0"/> <!-- actual 107 -->
      <xs:element name='dod_znackaRegistracie' type='xmlServString150' minOccurs="0"/>
      <xs:element name='dod_telefon' type='xmlServString100' minOccurs="0"/>
      <xs:element name='dod_email' type='xmlServString100' minOccurs="0"/>
    </xs:sequence>
    <xs:attributeGroup ref='xmlServAttrGroup'/>
  </xs:complexType>
  
  <xs:complexType name="HlavickaFaktury">
    <xs:sequence>
      <xs:element name='cislo' type="xmlServString20"/> <!-- actual 16 -->
      <xs:element name='podaneDna' type="xmlServDate"/>
      <xs:element name='typFaktury' type="TypFaktury"/>
    </xs:sequence>
    <xs:attributeGroup ref='xmlServAttrGroup'/>
  </xs:complexType>
  
  <xs:complexType name="Kupujuci">
    <xs:sequence>
      <xs:element name='op_pomenovanie' type='xmlServString250'/>
      <xs:element name='op_nazov' type='xmlServString250' minOccurs="0"/>
      <xs:element name='op_titulPred' type='xmlServString20' minOccurs="0"/>
      <xs:element name='op_meno' type='xmlServString50' minOccurs="0"/>
      <xs:element name='op_priezvisko' type='xmlServString50' minOccurs="0"/>
      <xs:element name='op_titulZa' type='xmlServString20' minOccurs="0"/>

      <xs:element name='tp_ulica' type='xmlServString50' minOccurs="0"/>
      <xs:element name='tp_cisloSupisne' type='xmlServString10' minOccurs="0"/> <!-- actual 9 -->
      <xs:element name='tp_orientacne' type='xmlServString20' minOccurs="0"/>
      <xs:element name='tp_byt' type="xmlServShort" minOccurs="0"/>
      <xs:element name='tp_obec' type='xmlServString50'/>
      <xs:element name='tp_psc' type='xmlServString10'/>
      
      <xs:element name='doRuk' type='xmlServString250' minOccurs="0"/>
      
      <xs:element name='fa_ulica' type='xmlServString50' minOccurs="0"/>
      <xs:element name='fa_cisloSupisne' type='xmlServString10' minOccurs="0"/> <!-- actual 9 -->
      <xs:element name='fa_orientacne' type='xmlServString20' minOccurs="0"/>
      <xs:element name='fa_byt' type="xmlServShort" minOccurs="0"/>
      <xs:element name='fa_obec' type='xmlServString50'/>
      <xs:element name='fa_psc' type='xmlServString10'/>
      <xs:element name='fa_stat' type='xmlServString50'/>
      
      <xs:element name='op_ico' type='xmlServString20'/> <!-- actual 14 -->
      <xs:element name='op_dic' type='xmlServString20' minOccurs="0"/>
      <xs:element name='op_icdph' type='xmlServString20' minOccurs="0"/> <!-- actual 12 -->
      <xs:element name='op_evidCislo' type='xmlServString20'/>
      
      <xs:element name='cisloZmluvy' type='xmlServString50' minOccurs="0"/>
    </xs:sequence>
    <xs:attributeGroup ref='xmlServAttrGroup'/>
  </xs:complexType>

  <xs:complexType name="PlatobneUdaje">
    <xs:sequence>
      <xs:element name='datumVyhotovenia' type='xmlServDate'/>
      <xs:element name='datumOdoslania' type='xmlServDate'/>
      <xs:element name='datumSplatnosti' type='xmlServDate'/>
      <xs:element name='datumDodania' type='xmlServDate' minOccurs="0"/>
      <xs:element name='datumOd' type='xmlServDate'/>
      <xs:element name='datumDo' type='xmlServDate'/>
      <xs:element name='fa_poradoveCislo' type='xmlServString20'/> <!-- actual 16 -->
      <xs:element name='op_sposobUhradyPopis' type='xmlServString50'/>
      <xs:element name='zavod_iban' type='xmlServString50' minOccurs="0"/> <!-- actual 34 -->
      <xs:element name='varSymbol' type='xmlServString20'/> <!-- actual 16 -->
    </xs:sequence>
    <xs:attributeGroup ref='xmlServAttrGroup'/>
  </xs:complexType>
  
  <xs:complexType name="FinVysporiadanie">
    <xs:sequence>
      <xs:element name='fakturovane_spolu' type='xmlServBigDecimal2'/>
      <xs:element name='zmluvnaPokuta' type='xmlServBigDecimal2' minOccurs="0"/>
      <xs:element name='ciastka' type='xmlServBigDecimal2'/>
    </xs:sequence>
    <xs:attributeGroup ref='xmlServAttrGroup'/>
  </xs:complexType>
  
  <xs:complexType name="RozpisPlatieb">
    <xs:sequence>
      <xs:element name="item" minOccurs="0" maxOccurs="unbounded" type="RozpisPlatiebPolozka"/>
    </xs:sequence>
    <xs:attributeGroup ref='xmlServAttrGroup'/>
  </xs:complexType>
  
  <xs:complexType name="RozpisPlatiebPolozka">
    <xs:sequence>
      <xs:element name='datumSplatnosti' type='xmlServDate'/>
      <xs:element name='ciastka' type='xmlServBigDecimal2'/>
    </xs:sequence>
    <xs:attributeGroup ref='xmlServAttrGroup'/>
  </xs:complexType>
  
  <xs:complexType name="ZoznamZOZ">
    <xs:sequence>
      <xs:element name="item" maxOccurs="unbounded" type="ZOZ"/>
    </xs:sequence>
    <xs:attributeGroup ref='xmlServAttrGroup'/>
  </xs:complexType>
  
  <xs:complexType name="ZOZ">
    <xs:sequence>
      <xs:element name='udajeOM' type='UdajeOM'/>
      <xs:element name='zoznam_odpoctov' type='Odpocty' minOccurs="0"/>
      <xs:element name='zoznam_planVymeny' type="PlanovaneVymeny" minOccurs="0"/>
      <xs:element name='zoznam_podruzneOM' type="PodruzneOdberneMiesta" minOccurs="0"/>
      <xs:element name='zoznam_udajeOspotrebeF' type="SpotrebaF" minOccurs="0"/>
      <xs:element name='zoznam_udajeOspotrebeA' type="SpotrebaA" minOccurs="0"/>
      <xs:element name='zoznam_udajeOspotrebeS' type="SpotrebaS" minOccurs="0"/>
      <xs:element name='zuctovanieSpotreby' type="ZuctovanieSpotreby"/>
      <xs:element name='planZaloh_OM' type="PlanZaloh" minOccurs="0"/>      
    </xs:sequence>
    <xs:attributeGroup ref='xmlServAttrGroup'/>
  </xs:complexType>
  
  <xs:complexType name="UdajeOM">
    <xs:sequence>
      <xs:element name='kodZariadenia' type='xmlServString20'/>
      <xs:element name='obec' type='xmlServString50'/>
      <xs:element name='ulica' type='xmlServString50' minOccurs="0"/>
      <xs:element name='supisne' type='xmlServString10' minOccurs="0"/> <!-- actual 9 -->
      <xs:element name='orientacne' type='xmlServString20' minOccurs="0"/>
      <xs:element name='detailPolohy' type='xmlServString100' minOccurs="0"/>
    </xs:sequence>
    <xs:attributeGroup ref='xmlServAttrGroup'/>
  </xs:complexType>
  
  <xs:complexType name="Odpocty">
    <xs:sequence>
      <xs:element name="item" minOccurs="0" maxOccurs="unbounded" type="Odpocet"/>
    </xs:sequence>
    <xs:attributeGroup ref='xmlServAttrGroup'/>
  </xs:complexType>
  
  <xs:complexType name="Odpocet">
    <xs:sequence>
      <xs:element name='cisloMeradla' type='xmlServString70'/>
      <xs:element name='datumOd' type='xmlServDate'/>
      <xs:element name='datumDo' type='xmlServDate'/>
      <xs:element name='pociatocnyStav' type='xmlServBigDecimal6'/>
      <xs:element name='koncovyStav' type='xmlServBigDecimal6'/>
      <xs:element name='mnozstvo' type='xmlServBigDecimal6'/>
      <xs:element name='popis' type='xmlServString20'/> <!-- actual 11 -->
    </xs:sequence>
    <xs:attributeGroup ref='xmlServAttrGroup'/>
  </xs:complexType>
  
  <xs:complexType name="PlanovaneVymeny">
    <xs:sequence>
      <xs:element name="item" minOccurs="0" maxOccurs="unbounded" type="PlanovanaVymena"/>
    </xs:sequence>
    <xs:attributeGroup ref='xmlServAttrGroup'/>
  </xs:complexType>
  
  <xs:complexType name="PlanovanaVymena">
    <xs:sequence>
      <xs:element name='cislo' type='xmlServString70'/>
      <xs:element name='datumVymeny' type='xmlServDate'/>    
    </xs:sequence>
    <xs:attributeGroup ref='xmlServAttrGroup'/>
  </xs:complexType>
  
  <xs:complexType name="PodruzneOdberneMiesta">
    <xs:sequence>
      <xs:element name="item" minOccurs="0" maxOccurs="unbounded" type="PodruzneOM"/>
    </xs:sequence>
    <xs:attributeGroup ref='xmlServAttrGroup'/>
  </xs:complexType>
  
  <xs:complexType name="PodruzneOM">
    <xs:sequence>
      <xs:element name='kodZariadenia' type='xmlServString20'/>
      <xs:element name="zoznam_odpoctov_podruzneOM" type="OdpoctyPOM"/>
    </xs:sequence>
    <xs:attributeGroup ref='xmlServAttrGroup'/>
  </xs:complexType>
  
  <xs:complexType name="OdpoctyPOM">
    <xs:sequence>
      <xs:element name="item" minOccurs="1" maxOccurs="unbounded" type="Odpocet"/>
    </xs:sequence>
    <xs:attributeGroup ref='xmlServAttrGroup'/>
  </xs:complexType>
  
  <xs:complexType name="SpotrebaF">
    <xs:sequence>
      <xs:element name="item" minOccurs="0" maxOccurs="unbounded" type="SpotrebaFPolozka"/>
    </xs:sequence>
    <xs:attributeGroup ref='xmlServAttrGroup'/>
  </xs:complexType>
  
  <xs:complexType name="SpotrebaFPolozka">
    <xs:sequence>
      <xs:element name='datumOd' type='xmlServDate'/>
      <xs:element name='datumDo' type='xmlServDate'/>
      <xs:element name='druh' type='xmlServString100'/>
      <xs:element name='pocty' type="xmlServString50"/>
      <xs:element name='tarify' type='xmlServString500'/>
      <xs:element name='mnozstvo' type='xmlServBigDecimal6'/>
      <xs:element name='popis' type='xmlServString20'/>
    </xs:sequence>
    <xs:attributeGroup ref='xmlServAttrGroup'/>
  </xs:complexType>
  
  <xs:complexType name="SpotrebaA">
    <xs:sequence>
      <xs:element name="item" minOccurs="0" maxOccurs="unbounded" type="SpotrebaAPolozka"/>
    </xs:sequence>
    <xs:attributeGroup ref='xmlServAttrGroup'/>
  </xs:complexType>
  
  <xs:complexType name="SpotrebaAPolozka">
    <xs:sequence>
      <xs:element name='datumOd' type='xmlServDate'/>
      <xs:element name='datumDo' type='xmlServDate'/>
      <xs:element name='dohodnuteMnozstvo' type='xmlServBigDecimal6'/>
      <xs:element name='tarify' type='xmlServString500'/>
      <xs:element name='mnozstvo' type='xmlServBigDecimal6'/>
      <xs:element name='popis' type='xmlServString20'/>
    </xs:sequence>
    <xs:attributeGroup ref='xmlServAttrGroup'/>
  </xs:complexType>
  
  <xs:complexType name="SpotrebaS">
    <xs:sequence>
      <xs:element name="item" minOccurs="0" maxOccurs="unbounded" type="SpotrebaSPolozka"/>
    </xs:sequence>
    <xs:attributeGroup ref='xmlServAttrGroup'/>
  </xs:complexType>
  
  <xs:complexType name="SpotrebaSPolozka">
    <xs:sequence>
      <xs:element name='datumOd' type='xmlServDate'/>
      <xs:element name='datumDo' type='xmlServDate'/>
      <xs:element name='plochaA' type='xmlServBigDecimal6'/>
      <xs:element name='plochaB' type='xmlServBigDecimal6'/>
      <xs:element name='plochaC' type='xmlServBigDecimal6'/>
      <xs:element name='rocnyPriemer' type='xmlServBigDecimal0'/>
      <xs:element name='mnozstvo' type='xmlServBigDecimal6'/>
    </xs:sequence>
    <xs:attributeGroup ref='xmlServAttrGroup'/>
  </xs:complexType>
  
  <xs:complexType name="ZuctovanieSpotreby">
    <xs:sequence>
      <xs:element name='sumaCelkom' type='xmlServBigDecimal2'/>
      <xs:element name="zoznam_sekcia" type="ZuctovanieSpotrebySekcie"/>
    </xs:sequence>
    <xs:attributeGroup ref='xmlServAttrGroup'/>
  </xs:complexType>
  
  <xs:complexType name="ZuctovanieSpotrebySekcie">
    <xs:sequence>
      <xs:element name="item" minOccurs="1" maxOccurs="2" type="ZuctovanieSpotrebySekcia"/>
    </xs:sequence>
    <xs:attributeGroup ref='xmlServAttrGroup'/>
  </xs:complexType>
  
  <xs:complexType name="ZuctovanieSpotrebySekcia">
    <xs:sequence>
      <xs:element name='popis' type="xmlServString20"/>
      <xs:element name='datumOd' type='xmlServDate'/>
      <xs:element name='datumDo' type='xmlServDate'/>
      <xs:element name='mnozstvo' type='xmlServBigDecimal6'/>
      <xs:element name='suma' type='xmlServBigDecimal2'/>
      <xs:element name='zoznam_polozky' type='ZuctovanieSpotrebySekciaPolozky'/>      
    </xs:sequence>
    <xs:attributeGroup ref='xmlServAttrGroup'/>
  </xs:complexType>
  
  <xs:complexType name="ZuctovanieSpotrebySekciaPolozky">
    <xs:sequence>
      <xs:element name="item" minOccurs="1" maxOccurs="unbounded" type="ZuctovanieSpotrebySekciaPolozka"/>
    </xs:sequence>
    <xs:attributeGroup ref='xmlServAttrGroup'/>
  </xs:complexType>
  
  <xs:complexType name="ZuctovanieSpotrebySekciaPolozka">
    <xs:sequence>
      <xs:element name='nazov' type="xmlServString250"/>
      <xs:element name='datumOd' type='xmlServDate'/>
      <xs:element name='datumDo' type='xmlServDate'/>
      <xs:element name='jednotkovaCena' type='xmlServBigDecimal10' minOccurs="0"/>
      <xs:element name='mnozstvo' type='xmlServBigDecimal6'/>
      <xs:element name='ciastka' type='xmlServBigDecimal2' minOccurs="0"/>
    </xs:sequence>
    <xs:attributeGroup ref='xmlServAttrGroup'/>
  </xs:complexType>
  
  <xs:complexType name="PlanZaloh">
    <xs:sequence>
      <xs:element name='sumaPoloziekPZ' type='xmlServBigDecimal2'/>
      <xs:element name="zoznam_polozkyPZ" type="PlanZalohPolozky"/>
    </xs:sequence>
    <xs:attributeGroup ref='xmlServAttrGroup'/>
  </xs:complexType>
  
  <xs:complexType name="PlanZalohPolozky">
    <xs:sequence>
      <xs:element name="item" minOccurs="1" maxOccurs="unbounded" type="RozpisPlatiebPolozka"/>
    </xs:sequence>
    <xs:attributeGroup ref='xmlServAttrGroup'/>
  </xs:complexType>

  <xs:simpleType name="TypFaktury" final="restriction">
   	<xs:restriction base="xs:string">
  		<xs:enumeration value="RE" />
   		<xs:enumeration value="C1" />
   	</xs:restriction>
  </xs:simpleType>  

  <!-- SIMPLE TYPES --> 
  
  <xs:attributeGroup name="xmlServAttrGroup">
    <xs:attribute name="isNull" type="xs:boolean" use="optional"/>
    <xs:attribute name="class" type="xs:string" use="optional"/>
  </xs:attributeGroup>
  
  <xs:complexType name="xmlServByte">
    <xs:simpleContent>
      <xs:extension base="xs:byte">
        <xs:attributeGroup ref="xmlServAttrGroup"/>
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>
  <xs:complexType name="xmlServCharacter">
    <xs:simpleContent>
      <xs:extension base="xs:string">
        <xs:attributeGroup ref="xmlServAttrGroup"/>
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>
  <xs:complexType name="xmlServInteger">
    <xs:simpleContent>
      <xs:extension base="xs:integer">
        <xs:attributeGroup ref="xmlServAttrGroup"/>
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>
  <xs:complexType name="xmlServLong">
    <xs:simpleContent>
      <xs:extension base="xs:long">
        <xs:attributeGroup ref="xmlServAttrGroup"/>
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>
  <xs:complexType name="xmlServShort">
    <xs:simpleContent>
      <xs:extension base="xs:integer">
        <xs:attributeGroup ref="xmlServAttrGroup"/>
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>
  <xs:complexType name="xmlServDouble">
    <xs:simpleContent>
      <xs:extension base="xs:double">
        <xs:attributeGroup ref="xmlServAttrGroup"/>
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>
  <xs:complexType name="xmlServFloat">
    <xs:simpleContent>
      <xs:extension base="xs:float">
        <xs:attributeGroup ref="xmlServAttrGroup"/>
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>
  
  <xs:complexType name="xmlServBigDecimal">
    <xs:simpleContent>
      <xs:extension base="xs:decimal">
        <xs:attributeGroup ref="xmlServAttrGroup"/>
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>
  <xs:complexType name="xmlServBigDecimal0">
    <xs:simpleContent>
      <xs:restriction base="xmlServBigDecimal">
        <xs:fractionDigits value="0"/>
      </xs:restriction>
    </xs:simpleContent>
  </xs:complexType>
  <xs:complexType name="xmlServBigDecimal2">
    <xs:simpleContent>
      <xs:restriction base="xmlServBigDecimal">
        <xs:fractionDigits value="2"/>
      </xs:restriction>
    </xs:simpleContent>
  </xs:complexType>
  <xs:complexType name="xmlServBigDecimal6">
    <xs:simpleContent>
      <xs:restriction base="xmlServBigDecimal">
        <xs:fractionDigits value="6"/>
      </xs:restriction>
    </xs:simpleContent>
  </xs:complexType>
  <xs:complexType name="xmlServBigDecimal10">
    <xs:simpleContent>
      <xs:restriction base="xmlServBigDecimal">
        <xs:fractionDigits value="10"/>
      </xs:restriction>
    </xs:simpleContent>
  </xs:complexType>
  
  <xs:complexType name="xmlServTimestamp">
    <xs:simpleContent>
      <xs:extension base="xs:dateTime">
        <xs:attributeGroup ref="xmlServAttrGroup"/>
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>
  <xs:complexType name="xmlServTime">
    <xs:simpleContent>
      <xs:extension base="xs:time">
        <xs:attributeGroup ref="xmlServAttrGroup"/>
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>
  <xs:complexType name="xmlServDate">
    <xs:simpleContent>
      <xs:extension base="xs:date">
        <xs:attributeGroup ref="xmlServAttrGroup"/>
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>
  
  <xs:complexType name="xmlServString">
    <xs:simpleContent>
      <xs:extension base="xs:string">
        <xs:attributeGroup ref="xmlServAttrGroup"/>
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>
  <xs:complexType name="xmlServString500">
    <xs:simpleContent>
      <xs:restriction base="xmlServString">
        <xs:maxLength value="500"/>
      </xs:restriction>
    </xs:simpleContent>
  </xs:complexType>
  <xs:complexType name="xmlServString250">
    <xs:simpleContent>
      <xs:restriction base="xmlServString">
        <xs:maxLength value="250"/>
      </xs:restriction>
    </xs:simpleContent>
  </xs:complexType>
  <xs:complexType name="xmlServString150">
    <xs:simpleContent>
      <xs:restriction base="xmlServString">
        <xs:maxLength value="150"/>
      </xs:restriction>
    </xs:simpleContent>
  </xs:complexType>  
  <xs:complexType name="xmlServString100">
    <xs:simpleContent>
      <xs:restriction base="xmlServString">
        <xs:maxLength value="100"/>
      </xs:restriction>
    </xs:simpleContent>
  </xs:complexType>  
  <xs:complexType name="xmlServString70">
    <xs:simpleContent>
      <xs:restriction base="xmlServString">
        <xs:maxLength value="70"/>
      </xs:restriction>
    </xs:simpleContent>
  </xs:complexType>  
  <xs:complexType name="xmlServString50">
    <xs:simpleContent>
      <xs:restriction base="xmlServString">
        <xs:maxLength value="50"/>
      </xs:restriction>
    </xs:simpleContent>
  </xs:complexType>  
  <xs:complexType name="xmlServString20">
    <xs:simpleContent>
      <xs:restriction base="xmlServString">
        <xs:maxLength value="20"/>
      </xs:restriction>
    </xs:simpleContent>
  </xs:complexType>
  <xs:complexType name="xmlServString10">
    <xs:simpleContent>
      <xs:restriction base="xmlServString">
        <xs:maxLength value="10"/>
      </xs:restriction>
    </xs:simpleContent>
  </xs:complexType>
  
  <xs:complexType name="xmlServBoolean">
    <xs:simpleContent>
      <xs:extension base="xs:boolean">
        <xs:attributeGroup ref="xmlServAttrGroup"/>
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>

</xs:schema>