<?xml version="1.0" encoding="UTF-8" ?>
<!-- V2Pv25_1 - Vyhlasenie o poukazani podielu zaplatenej dane z prijmov fyzickej osoby podla par. 50 a par. 50aa, ktorej bolo vykonane rocne zuctovanie preddavkov na dan - 2025-->
<!-- V2Pv25_P - Potvrdenie o zaplateni dane z prijmov zo zavislej cinnosti na ucely vyhlasenia o poukazani 2 alebo 3 percent zaplatenej dane FO 2025 -->
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">
	<xs:annotation>
		<xs:documentation>V2Pv25 vyhlasenie a potvrdenie</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  -->
	<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>
	<!-- 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>
	<!--  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>
	<!--  korenovy element  -->
	<xs:element name="dokument">
		<xs:complexType>
			<xs:sequence>
				<xs:element name="hlavicka" type="hlavicka"/>
				<xs:element name="potvrdenie" type="potvrdenieType" minOccurs="0"/>
			</xs:sequence>
		</xs:complexType>
	</xs:element>
	<!--  hlavicka  -->
	<xs:complexType name="hlavicka">
		<xs:sequence>
			<xs:element name="rodneCislo" type="rodneCisloType"/>
			<xs:element name="datumNarodenia" type="optOneFieldDateType"/>
			<xs:element name="zaRok" type="yearType"/>
			<xs:element name="vyhlasenieZDovoduOpravy" type="only_0_1"/>
			<xs:element name="danovnik" type="danovnikType"/>
			<xs:element name="prijimatel" type="prijimatelType"/>
			<xs:element name="rodic" type="udajeRodicaType"/>
			<xs:element name="datumVyhlasenia" type="optOneFieldDateType"/>
			<xs:element name="podpis" type="only_0_1"/>
		</xs:sequence>
	</xs:complexType>
	<!--  danovnik  -->
	<xs:complexType name="danovnikType">
		<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:element name="adresa" type="adresaType"/>
			<xs:element name="telefon" type="xs:string"/>
		</xs:sequence>
	</xs:complexType>
	<!--  prijimatel -->
	<xs:complexType name="prijimatelType">
		<xs:sequence>
			<xs:element name="neuplatnujemOds50" type="only_0_1"/>
			<xs:element name="zaplatenaDan" type="optDec"/>
			<xs:element name="sumaZDane" type="optDec"/>
			<xs:element name="datumZaplatenia" type="optOneFieldDateType"/>
			<xs:element name="splnam3perc" type="only_0_1"/>
			<xs:element name="suhlasSoZaslanim" type="only_0_1"/>
			<xs:element name="ico" type="optIcoStrType12"/>
			<xs:element name="obchodneMeno" type="obchodneMenoType"/>
		</xs:sequence>
	</xs:complexType>
	<!--  sidlo  -->
	<xs:complexType name="adresaType">
		<xs:sequence>
			<xs:element name="ulica" type="xs:string"/>
			<xs:element name="supisneOrientacneCislo" type="xs:string"/>
			<xs:element name="psc" type="xs:string"/>
			<xs:element name="obec" type="xs:string"/>
			<xs:element name="stat" type="xs:string"/>
		</xs:sequence>
	</xs:complexType>
	<!--  povinne dic  -->
	<xs:complexType name="udajeRodicaType">
		<xs:sequence>
			<xs:element name="neuplatnujemPar50aa" type="only_0_1"/>
			<xs:element name="rodicA" type="rodicType"/>
			<xs:element name="rodicB" type="rodicType"/>
			<xs:element name="bolZverenyDoStarostlivosti" type="only_0_1"/>
		</xs:sequence>
	</xs:complexType>
	<!--  rodic  -->
	<xs:complexType name="rodicType">
		<xs:sequence>
			<xs:element name="rodneCislo" type="rodneCisloType"/>
			<xs:element name="priezvisko" type="xs:string"/>
			<xs:element name="meno" type="xs:string"/>
		</xs:sequence>
	</xs:complexType>
	<xs:simpleType name="dicType">
		<xs:restriction base="xs:decimal">
			<xs:pattern value="\d{10}"/>
		</xs:restriction>
	</xs:simpleType>
	<!--  nepovinne dic  -->
	<xs:simpleType name="optDicType">
		<xs:union memberTypes="dicType emptyStrType"/>
	</xs:simpleType>
	<!--  povinne ico  -->
	<xs:simpleType name="icoType">
		<xs:restriction base="xs:string">
			<xs:pattern value="\d{8}"/>
		</xs:restriction>
	</xs:simpleType>
	<!--  nepovinne ico  -->
	<xs:simpleType name="optIcoType">
		<xs:union memberTypes="icoType emptyStrType"/>
	</xs:simpleType>
	<!--  nepovinne ico  max. na 12 -->
	<xs:simpleType name="optIcoStrType12">
		<xs:restriction base="xs:string">
			<xs:maxLength value="12"/>
		</xs:restriction>
	</xs:simpleType>
	<!--  nepovinne decimal cislo  na 2 desat.miesta -->
	<xs:simpleType name="optDec">
		<xs:union memberTypes="suma13 emptyStrType"/>
	</xs:simpleType>
	<!-- suma 13.2 -->
	<xs:simpleType name="suma13">
		<xs:restriction base="xs:decimal">
			<xs:totalDigits value="13"/>
			<xs:fractionDigits value="2"/>
		</xs:restriction>
	</xs:simpleType>
	<!--  obchodne meno  -->
	<xs:complexType name="obchodneMenoType">
		<xs:sequence>
			<xs:element name="riadok" type="xs:string" maxOccurs="2"/>
		</xs:sequence>
	</xs:complexType>
	<!--  obchodne meno  1 r. -->
	<xs:complexType name="obchodneMenoType1">
		<xs:sequence> </xs:sequence>
	</xs:complexType>
	<!--  sidlo  -->
	<xs:complexType name="sidloType">
		<xs:sequence>
			<xs:element name="ulica" type="xs:string"/>
			<xs:element name="supisneOrientacneCislo" type="xs:string"/>
			<xs:element name="psc" type="xs:string"/>
			<xs:element name="obec" type="xs:string"/>
		</xs:sequence>
	</xs:complexType>
	<!--  rodne cislo na 2 casti  -->
	<xs:complexType name="rodneCisloType">
		<xs:sequence>
			<xs:element name="rcPredLom" type="string6"/>
			<xs:element name="rcZaLom" type="string4"/>
		</xs:sequence>
	</xs:complexType>
	<!--  potvrdenie  -->
	<xs:complexType name="potvrdenieType">
		<xs:sequence>
			<xs:element name="rodneCislo" type="rodneCisloType"/>
			<xs:element name="datumNarodenia" type="optOneFieldDateType"/>
			<xs:element name="zaRok" type="yearType"/>
			<xs:element name="zamestnanec" type="zamestnanecType"/>
			<xs:element name="zamestnavatel" type="zamestnavatelType"/>
			<xs:element name="udajeOZaplateni" type="udajeOZaplateniType"/>
			<xs:element name="vypracoval" type="vypracovalType"/>
		</xs:sequence>
	</xs:complexType>
	<!--  zamestnanec-->
	<xs:complexType name="zamestnanecType">
		<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:element name="adresa" type="adresaType"/>
			<xs:element name="postupPodlaPar50aaOds12" type="only_0_1"/>
			<xs:element name="niejePrislusnikSISaMOSR" type="only_0_1"/>
			<xs:element name="datumSISaMOSR" type="optOneFieldDateType"/>
		</xs:sequence>
	</xs:complexType>
	<!--  zamestnavatel-->
	<xs:complexType name="zamestnavatelType">
		<xs:sequence>
			<xs:element name="dic" type="optDicType"/>
			<xs:element name="fyzickaOsoba" type="fyzickaOsobaType"/>
			<xs:element name="obchodneMeno" type="xs:string"/>
			<xs:element name="trvalyPobyt" type="adresaType"/>
		</xs:sequence>
	</xs:complexType>
	<!--  udajeOZaplateni -->
	<xs:complexType name="udajeOZaplateniType">
		<xs:sequence>
			<xs:element name="danPar15" type="optDec"/>
			<xs:element name="danZnizena" type="optDec"/>
			<xs:element name="danNaUhradu" type="optDec"/>
			<xs:element name="danZaplatena" type="optDec"/>
			<xs:element name="datumZaplatenia" type="optOneFieldDateType"/>
		</xs:sequence>
	</xs:complexType>
	<!--  fyzicka osoba  -->
	<xs:complexType name="fyzickaOsobaType">
		<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>
	<!--  vypracoval  -->
	<xs:complexType name="vypracovalType">
		<xs:sequence>
			<xs:element name="vypr" type="xs:string"/>
			<xs:element name="dna" type="optOneFieldDateType"/>
			<xs:element name="podpis" type="only_0_1"/>
		</xs:sequence>
	</xs:complexType>
</xs:schema>
