<?xml version="1.0" encoding="UTF-8"?>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" version="2014">
	<xsd:annotation>
		<xsd:appinfo>
			Schema pre vytvorenie elektronickeho dokumentu pre Sprievodny list Kontrolneho vykazu k dani z pridanej hodnoty pre rok 2014 (dalej len SL_KVDPH_2014)
			Autor: Ditec, a.s.
			Platnost od: 1.2.2014
		</xsd:appinfo>
		<xsd:documentation>
			Root Element: SL_KVDPH
		</xsd:documentation>
	</xsd:annotation>
	
	<xsd:simpleType name="DecimalWith12Digits">
		<xsd:annotation>
			<xsd:documentation>
				Cislo tvaru N (12)
			</xsd:documentation>
		</xsd:annotation>
		<xsd:restriction base="xsd:decimal">
			<xsd:totalDigits value="12"/>
		</xsd:restriction>
	</xsd:simpleType>
	
	<xsd:simpleType name="DruhKvType">
		<xsd:annotation>
			<xsd:documentation>
				Druh kontrolneho vykazu
				Platitel dane vyznaci, aky druh kontrolneho vykazu podava
				
				Povolene hodnoty: R, O, D
				R: Riadny KVDPH
				O: Opravny KVDPH
				D: Dodatocny KVDPH
			</xsd:documentation>
		</xsd:annotation>
		<xsd:restriction base="xsd:string">
			<xsd:enumeration value="R"/>
			<xsd:enumeration value="O"/>
			<xsd:enumeration value="D"/>
		</xsd:restriction>
	</xsd:simpleType>
	
	<xsd:simpleType name="IcDphSkType">
		<xsd:annotation>
			<xsd:documentation>
				Identifikacne cislo platitela dane z pridanej hodnoty v tuzemsku.
				Vyzaduje sa format  SK##########
			</xsd:documentation>
		</xsd:annotation>
		<xsd:restriction base="xsd:string">
			<xsd:pattern value="SK\d{10}"/>
		</xsd:restriction>
	</xsd:simpleType>
		
	<xsd:complexType name="ObdobieVykazuType">
		<xsd:annotation>
			<xsd:documentation>
				Obdobie moze byt: Rok a Mesiac alebo Rok a Stvrtrok
				Rok sa zada vzdy
				Platitel dane podavajuci kontrolny vykaz za kalendarny mesiac uvedie prislusny mesiac cislom 1 – 12
				(platitel dane neuvedie kalendarny stvrtrok)
				
				Platitel dane podavajuci kontrolny vykaz za kalendarny stvrtrok uvedie prislusny stvrtrok cislom 1 – 4
				(platitel dane neuvedie kalendarny mesiac)
			</xsd:documentation>
		</xsd:annotation>
		<xsd:sequence>
			<xsd:element name="Rok" minOccurs="1" maxOccurs="1">
				<xsd:simpleType>
					<xsd:restriction base="xsd:integer">
						<xsd:minInclusive value="2014"/>
					</xsd:restriction>
				</xsd:simpleType>
			</xsd:element>
				<xsd:choice>
					<xsd:element name="Mesiac">
						<xsd:simpleType>
							<xsd:restriction base="xsd:integer">
								<xsd:minInclusive value="1"/>
								<xsd:maxInclusive value="12"/>
							</xsd:restriction>
						</xsd:simpleType>
					</xsd:element>
					<xsd:element name="Stvrtrok">
						<xsd:simpleType>
							<xsd:restriction base="xsd:integer">
								<xsd:minInclusive value="1"/>
								<xsd:maxInclusive value="4"/>
							</xsd:restriction>
						</xsd:simpleType>
					</xsd:element>
				</xsd:choice>
		</xsd:sequence>
	</xsd:complexType>
	
	<xsd:complexType name="IdentifikaciaType">
		<xsd:annotation>
			<xsd:documentation>
				Typ Identifikacia sluzi na uvedenie udajov, ktore identifikuju konkretny KVDPH platitela
				Atributy:
				IcDphPlatitela: IC DPH platitela dane registrovaneho podla § 4, § 5 alebo § 6 zakona o DPH, ktory podava KVDPH
				Druh: druh kontrolného vykazu
					Uvadzaju sa hodnoty R, O, D
					R: Riadny KVDPH
					O: Opravny KVDPH
					D: Dodatocny KVDPH
				Obdobie: obdobie KVDPH, Rok a Mesiac alebo Rok a Stvrtrok
				Nazov: nazov alebo obchodne meno pravnickej osoby alebo meno a priezvisko fyzickej osoby
 				Stat, Obec, PSC, Ulica, Cislo, Tel, Email: adresa sidla alebo trvaleho pobytu, kontaktne udaje
				Povinne su Nazov, Stat, Obec
			</xsd:documentation>
		</xsd:annotation>
		<xsd:sequence>
			<xsd:element name="IcDphPlatitela" type="IcDphSkType" minOccurs="1" maxOccurs="1"/>
			<xsd:element name="Druh" type="DruhKvType" minOccurs="1" maxOccurs="1"/>
			<xsd:element name="Obdobie" type="ObdobieVykazuType" minOccurs="1" maxOccurs="1"/>
			<xsd:element name="Nazov" type="xsd:string" minOccurs="1" maxOccurs="1"/>
			<xsd:element name="Stat" type="xsd:string" minOccurs="1" maxOccurs="1"/>
			<xsd:element name="Obec" type="xsd:string" minOccurs="1" maxOccurs="1"/>
			<xsd:element name="PSC" type="xsd:string" minOccurs="0" maxOccurs="1"/>
			<xsd:element name="Ulica" type="xsd:string" minOccurs="0" maxOccurs="1"/>
			<xsd:element name="Cislo" type="xsd:string" minOccurs="0" maxOccurs="1"/>
			<xsd:element name="Tel" type="xsd:string" minOccurs="0" maxOccurs="1"/>
			<xsd:element name="Email" type="xsd:string" minOccurs="0" maxOccurs="1"/>
		</xsd:sequence>
	</xsd:complexType>
	
	<xsd:complexType name="SuborType">
		<xsd:annotation>
			<xsd:documentation>
				Typ Subor sluzi na uvedenie udajov prilozeneho suboru nadrozmerneho podania
				Atributy:
				NazovSuboru: nazov suboru nadrozmerneho podania
				VelkostSuboru: velkost suboru nadrozmerneho podania uvedena v Bajtoch
				HashSuboru: kontrolny sucet suboru nadrozmerneho podania
				Vsetky atributy su povinne
			</xsd:documentation>
		</xsd:annotation>
		<xsd:sequence>
			<xsd:element name="NazovSuboru" type="xsd:string" minOccurs="1" maxOccurs="1"/>
			<xsd:element name="VelkostSuboru" type="DecimalWith12Digits" minOccurs="1" maxOccurs="1"/>
			<xsd:element name="HashSuboru" type="xsd:string" minOccurs="1" maxOccurs="1"/>
		</xsd:sequence>
	</xsd:complexType>
	
	<xsd:complexType name="SuboryType">
		<xsd:annotation>
			<xsd:documentation>
				Typ Subory sluzi na vytvorenie kolekcie prilozenych suborov nadrozmerneho podania
			</xsd:documentation>
		</xsd:annotation>
		<xsd:sequence>
			<xsd:element name="Subor" type="SuborType" minOccurs="1" maxOccurs="unbounded"/>
		</xsd:sequence>
	</xsd:complexType>
	
	<xsd:element name="SL_KVDPH">
		<xsd:annotation>
			<xsd:documentation>
				Hlavny element dokumentu SL_KVDPH
			</xsd:documentation>
		</xsd:annotation>
		<xsd:complexType>
			<xsd:sequence>
				<xsd:element name="Identifikacia" type="IdentifikaciaType" minOccurs="1" maxOccurs="1"/>
				<xsd:element name="Subory" type="SuboryType" minOccurs="1" maxOccurs="1"/>
			</xsd:sequence>
		</xsd:complexType>
	</xsd:element>
</xsd:schema>