<?xml version="1.0" encoding="UTF-8" ?>
<!-- Oznámenie o účtoch používaných na podnikanie platiteľa podľa § 6 a § 85kk zákona č.222/2004 Z.z. o dani z pridanej hodnoty v znení neskorších predpisov -->
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">
	<xs:annotation>
		<xs:documentation>OZN6DPHv21</xs:documentation>
	</xs:annotation>
	<!--  prazdny retazec  -->
	<xs:simpleType name="emptyStrType">
		<xs:restriction base="xs:string">
			<xs:enumeration value=""/>
		</xs:restriction>
	</xs:simpleType>
	<!--  povinny datum v tvare: (d)d.(m)m.rrrr  -->
	<xs:simpleType name="oneFieldDateType">
		<xs:restriction base="xs:string">
			<xs:pattern value="\d?\d\.\d?\d\.\d\d\d\d"/>
		</xs:restriction>
	</xs:simpleType>
	<!--  nepovinny datum v tvare: (d)d.(m)m.rrrr  -->
	<xs:simpleType name="optOneFieldDateType">
		<xs:union memberTypes="oneFieldDateType emptyStrType"/>
	</xs:simpleType>
	<!--  povinny den/mesiac v tvare: (d)d/(m)m  -->
	<xs:simpleType name="dayMonthType">
		<xs:restriction base="xs:decimal">
			<xs:pattern value="\d?\d"/>
		</xs:restriction>
	</xs:simpleType>
	<!--  nepovinny den/mesiac v tvare: (d)d/(m)m  -->
	<xs:simpleType name="optDayMonthType">
		<xs:union memberTypes="dayMonthType emptyStrType"/>
	</xs:simpleType>
	<!--  povinny rok  -->
	<!-- nepovinny checkbox -->
	<xs:simpleType name="only_0_1">
		<xs:restriction base="xs:decimal">
			<xs:totalDigits value="1"/>
			<xs:pattern value="[0-1]"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="yearType">
		<xs:restriction base="xs:decimal">
			<xs:pattern value="\d\d\d\d"/>
		</xs:restriction>
	</xs:simpleType>
	<!--  nepovinny rok  -->
	<xs:simpleType name="optYearType">
		<xs:union memberTypes="yearType emptyStrType"/>
	</xs:simpleType>
	<!--  nepovinne realne cislo  -->
	<xs:simpleType name="optDouble">
		<xs:union memberTypes="xs:double emptyStrType"/>
	</xs:simpleType>
	<!-- nepovinne desatinne cislo -->
	<xs:simpleType name="optDec">
		<xs:union memberTypes="decimalWithTwoDec emptyStrType"/>
	</xs:simpleType>
	<!-- cislo tvaru N (12.2) -->
	<xs:simpleType name="decimalWithTwoDec">
		<xs:restriction base="xs:decimal">
			<xs:totalDigits value="12"/>
			<xs:fractionDigits value="2"/>
		</xs:restriction>
	</xs:simpleType>
	<!--  nepovinne icdph  -->
	<xs:complexType name="identifikacneCisloDphType">
		<xs:sequence>
			<xs:element name="kodStatu" type="xs:string"/>
			<xs:element name="cislo" type="xs:string"/>
		</xs:sequence>
	</xs:complexType>
	<!--  povinne ico  -->
	<xs:simpleType name="identifikacneType">
		<xs:restriction base="xs:string">
			<xs:pattern value="\d{10}"/>
		</xs:restriction>
	</xs:simpleType>
	<!--  nepovinne ico  -->
	<xs:simpleType name="identifikacneCisloType">
		<xs:union memberTypes="identifikacneType emptyStrType"/>
	</xs:simpleType>
	<!--  povinne ico  -->
	<xs:simpleType name="icoType">
		<xs:restriction base="xs:string">
			<xs:pattern value="\d{8,12}"/>
		</xs:restriction>
	</xs:simpleType>
	<!--  nepovinne ico  -->
	<xs:simpleType name="optIcoType">
		<xs:union memberTypes="icoType emptyStrType"/>
	</xs:simpleType>
	<!--  nepovinne decimal cislo  -->
	<xs:simpleType name="optDecimal">
		<xs:union memberTypes="xs:decimal emptyStrType"/>
	</xs:simpleType>
	<!-- nepovinne stvorciferne cislo -->
	<xs:simpleType name="optInt4">
		<xs:union memberTypes="cislo4 emptyStrType"/>
	</xs:simpleType>
	<!-- cele stvorciferne cislo -->
	<xs:simpleType name="cislo4">
		<xs:restriction base="xs:integer">
			<xs:totalDigits value="4"/>
		</xs:restriction>
	</xs:simpleType>
	<!-- nepovinne patciferne cislo -->
	<xs:simpleType name="optInt5">
		<xs:union memberTypes="cislo5 emptyStrType"/>
	</xs:simpleType>
	<!-- cele patciferne cislo -->
	<xs:simpleType name="cislo5">
		<xs:restriction base="xs:integer">
			<xs:totalDigits value="5"/>
		</xs:restriction>
	</xs:simpleType>
	<!-- nepovinne trinastciferne cislo -->
	<xs:simpleType name="optInt13">
		<xs:union memberTypes="cislo13 emptyStrType"/>
	</xs:simpleType>
	<!-- cele  trinastciferne cislo -->
	<xs:simpleType name="cislo13">
		<xs:restriction base="xs:integer">
			<xs:totalDigits value="13"/>
		</xs:restriction>
	</xs:simpleType>
	<!--  retazec na max. 6 znakov  -->
	<xs:simpleType name="string6">
		<xs:restriction base="xs:string">
			<xs:maxLength value="6"/>
		</xs:restriction>
	</xs:simpleType>
	<!--  retazec na max. 4 znaky  -->
	<xs:simpleType name="string4">
		<xs:restriction base="xs:string">
			<xs:maxLength value="4"/>
		</xs:restriction>
	</xs:simpleType>
	<!--  za obdobie  -->
	<xs:complexType name="zaObdobieType">
		<xs:sequence>
			<xs:element name="mesiac" type="optDayMonthType"/>
			<xs:element name="rok" type="optYearType"/>
		</xs:sequence>
	</xs:complexType>
	<!--  korenovy element  -->
	<xs:element name="dokument">
		<xs:complexType>
			<xs:sequence>
				<xs:element name="hlavicka" type="hlavicka"/>
				<xs:element name="telo" type="telo"/>
			</xs:sequence>
		</xs:complexType>
	</xs:element>
	<!--  hlavicka  -->
	<xs:complexType name="hlavicka">
		<xs:sequence>
			<xs:element name="icdph" type="identifikacneCisloDphType"/>
			<xs:element name="fo" type="foType"/>
			<xs:element name="po" type="poType"/>
			<xs:element name="adresa" type="adresaType"/>
		</xs:sequence>
	</xs:complexType>
	<!--  fo  -->
	<xs:complexType name="foType">
		<xs:sequence>
			<xs:element name="priezvisko" type="xs:string"/>
			<xs:element name="meno" type="xs:string"/>
			<xs:element name="titulPred" type="xs:string"/>
			<xs:element name="titulZa" type="xs:string"/>
		</xs:sequence>
	</xs:complexType>
	<!--  po  -->
	<xs:complexType name="poType">
		<xs:sequence>
			<xs:element name="nazov" type="xs:string"/>
		</xs:sequence>
	</xs:complexType>
	<!--  obchodne meno  -->
	<xs:complexType name="obchodneMenoType">
		<xs:sequence>
			<xs:element name="riadok" type="xs:string" minOccurs="1" maxOccurs="1"/>
		</xs:sequence>
	</xs:complexType>
	<!--  adresa  -->
	<xs:complexType name="adresaType">
		<xs:sequence>
			<xs:element name="ulica" type="xs:string"/>
			<xs:element name="supisneCislo" type="xs:string"/>
			<xs:element name="orientacneCislo" type="xs:string"/>
			<xs:element name="obec" type="xs:string"/>
			<xs:element name="psc" type="xs:string"/>
			<xs:element name="stat" type="xs:string"/>
		</xs:sequence>
	</xs:complexType>
	<!--  telo  -->
	<xs:complexType name="telo">
		<xs:sequence>
			<xs:element name="uctyTuzmeskyPoskytovatel" type="uctyTuzmeskyPoskytovatelType"/>
			<xs:element name="uctyZahranicnyPoskytovatel" type="uctyZahranicnyPoskytovatelType"/>
		</xs:sequence>
	</xs:complexType>
	<!-- ucty tuzmeskeho poskytovatela -->
	<xs:complexType name="uctyTuzmeskyPoskytovatelType">
		<xs:sequence>
			<xs:element name="ucetTuzemsky" type="ucetTuzemskyType" minOccurs="0" maxOccurs="unbounded"/>
		</xs:sequence>
	</xs:complexType>
	<!-- tuzmesky ucet -->
	<xs:complexType name="ucetTuzemskyType">
		<xs:sequence>
			<xs:element name="iban" type="xs:string"/>
			<xs:element name="vlastnyUcet" type="only_0_1"/>
			<xs:element name="ucetInejOsoby" type="only_0_1"/>
			<xs:element name="zacatiePouzivania" type="zacatiePouzivaniaType"/>
			<xs:element name="koniecPouzivania" type="koniecPouzivaniaType"/>
			<xs:element name="majitelFo" type="foType"/>
			<xs:element name="majitelPo" type="poType"/>
		</xs:sequence>
	</xs:complexType>
	<!-- ucty zahranicneho poskytovatela -->
	<xs:complexType name="uctyZahranicnyPoskytovatelType">
		<xs:sequence>
			<xs:element name="ucetZahranicny" type="ucetZahranicnyType" minOccurs="0" maxOccurs="unbounded"/>
		</xs:sequence>
	</xs:complexType>
	<!-- zahranicny ucet -->
	<xs:complexType name="ucetZahranicnyType">
		<xs:sequence>
			<xs:element name="iban" type="xs:string"/>
			<xs:element name="oban" type="xs:string"/>
			<xs:element name="vlastnyUcet" type="only_0_1"/>
			<xs:element name="ucetInejOsoby" type="only_0_1"/>
			<xs:element name="stat" type="xs:string"/>
			<xs:element name="nazovUctu" type="xs:string"/>
			<xs:element name="bicSwift" type="xs:string"/>
			<xs:element name="nazovAdresaBanky" type="xs:string"/>			
			<xs:element name="zacatiePouzivania" type="zacatiePouzivaniaType"/>
			<xs:element name="koniecPouzivania" type="koniecPouzivaniaType"/>
			<xs:element name="majitelFo" type="foType"/>
			<xs:element name="majitelPo" type="poType"/>
		</xs:sequence>
	</xs:complexType>
	<!--  zacatie pouzivania: A/N, datum -->
	<xs:complexType name="zacatiePouzivaniaType">
		<xs:sequence>
			<xs:element name="zacatie" type="only_0_1"/>
			<xs:element name="datum" type="optOneFieldDateType"/>
		</xs:sequence>
	</xs:complexType>
	<!--  koniec pouzivania: A/N, datum -->
	<xs:complexType name="koniecPouzivaniaType">
		<xs:sequence>
			<xs:element name="koniec" type="only_0_1"/>
			<xs:element name="datum" type="optOneFieldDateType"/>
		</xs:sequence>
	</xs:complexType>
	<!--  identifikacne cislo  -->
	<xs:complexType name="identifCisloPredavajucehoType">
		<xs:sequence>
			<xs:element name="kodStatu" type="xs:string"/>
			<xs:element name="cislo" type="identifikacneCisloType"/>
		</xs:sequence>
	</xs:complexType>
</xs:schema>
