<?xml version="1.0" encoding="UTF-8" ?>
<!-- OZNÁMENIE O POUŽITÍ OSOBNÉHO MOTOROVÉHO VOZIDLA NA PODNIKANIE, OZNMVv26 -->
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">
    <xsd:annotation>
        <xsd:documentation>OZNMVv26</xsd:documentation>
    </xsd:annotation>
    <!-- prazdny retazec -->
    <xsd:simpleType name="emptyStr">
        <xsd:restriction base="xsd:string">
            <xsd:enumeration value=""/>
        </xsd:restriction>
    </xsd:simpleType>
    <!-- povinna boolovska hodnota 0 alebo 1 -->
    <xsd:simpleType name="only_0_1">
        <xsd:restriction base="xsd:decimal">
            <xsd:totalDigits value="1"/>
            <xsd:pattern value="[0-1]"/>
        </xsd:restriction>
    </xsd:simpleType>
    <xsd:simpleType name="optInt">
        <xsd:union memberTypes="xsd:integer emptyStr"/>
    </xsd:simpleType>
    <xsd:simpleType name="decimalWithTwoDec">
        <xsd:restriction base="xsd:decimal">
            <xsd:totalDigits value="12"/>
            <xsd:fractionDigits value="2"/>
        </xsd:restriction>
    </xsd:simpleType>
    <!-- nepovinne cele cislo na 1 -->
    <xsd:simpleType name="optInt1">
        <xsd:union memberTypes="integerWithOneDigit emptyStr"/>
    </xsd:simpleType>
    <xsd:simpleType name="integerWithOneDigit">
        <xsd:restriction base="xsd:integer">
            <xsd:totalDigits value="1"/>
        </xsd:restriction>
    </xsd:simpleType>
    <!-- nepovinne cele cislo na 2 -->
    <xsd:simpleType name="optInt4">
        <xsd:union memberTypes="integerWithFourDigit emptyStr"/>
    </xsd:simpleType>
    <xsd:simpleType name="optIntQuarter">
        <xsd:union memberTypes="integerWithOneDigitQuarter emptyStr"/>
    </xsd:simpleType>
    <xsd:simpleType name="optIntMonth">
        <xsd:union memberTypes="integerWithTwoDigitsMonth emptyStr"/>
    </xsd:simpleType>
    <xsd:simpleType name="integerWithOneDigitQuarter">
        <xsd:restriction base="xsd:integer">
            <xsd:totalDigits value="1"/>
            <xsd:pattern value="[1-4]"/>
        </xsd:restriction>
    </xsd:simpleType>
    <xsd:simpleType name="integerWithFourDigit">
        <xsd:restriction base="xsd:integer">
            <xsd:totalDigits value="4"/>
        </xsd:restriction>
    </xsd:simpleType>
    <!-- cislo tvaru N (2) -->
    <xsd:simpleType name="integerWithTwoDigitsMonth">
        <xsd:restriction base="xsd:integer">
            <xsd:totalDigits value="2"/>
			<xsd:pattern value="(0?[1-9]|1[0-2])"/>
        </xsd:restriction>
    </xsd:simpleType>
    <!-- nepovinny datum -->
    <xsd:simpleType name="optDateLine">
        <xsd:union memberTypes="date emptyStr"/>
    </xsd:simpleType>
    <!-- povinny datum -->
    <xsd:simpleType name="date">
        <xsd:restriction base="xsd:string">
            <xsd:pattern
                value="(((([0])?[1-9])|([1-2][0-9])|([3][0]))[.]((([0])?[13-9])|([1][0-2]))[.]([0-9][0-9][0-9][0-9]))"/>
            <xsd:pattern value="([3][1][.]((([0])?[13578])|([1][02]))[.]([0-9][0-9][0-9][0-9]))"/>
            <xsd:pattern
                value="(((([0])?[1-9])|([1][0-9])|([2][0-8]))[.]([0])?[2][.]([0-9][0-9][0-9][0-9]))"/>
            <xsd:pattern value="([2][9][.]([0])?[2])[.][0-9][0-9][13579][26]"/>
            <xsd:pattern value="([2][9][.]([0])?[2])[.][0-9][0-9][02468][048]"/>
        </xsd:restriction>
    </xsd:simpleType>
    <!-- korenovy element -->
    <xsd:element name="dokument">
        <xsd:complexType>
            <xsd:sequence>
                <xsd:element name="hlavicka" type="hlavickaType"/>
                <xsd:element name="telo" type="teloType"/>
            </xsd:sequence>
        </xsd:complexType>
    </xsd:element>
    <xsd:complexType name="hlavickaType">
        <xsd:sequence>
            <xsd:element name="icdph" type="xsd:string"/>
            <xsd:element name="pocetOsobnychMV" type="pocetOsobnychMVType"/>
            <xsd:element name="oznamenieZDovoduDoplnenia" type="only_0_1"/>
            <xsd:element name="zdanovacieObdobie" type="zdanovacieObdobieType"/>
            <xsd:element name="datumPodaniaPredchOzn" type="optDateLine"/>
            <xsd:element name="priezvisko" type="xsd:string"/>
            <xsd:element name="meno" type="xsd:string"/>
            <xsd:element name="titul" type="xsd:string"/>
            <xsd:element name="titulZa" type="xsd:string"/>
            <xsd:element name="obchodneMeno" type="obchMenoType"/>
            <xsd:element name="adresaTrvPobytu" type="adresaTrvPobytuType"/>
            <xsd:element name="datumPodania" type="optDateLine"/>
            <xsd:element name="poznamky" type="xsd:string"/>
        </xsd:sequence>
    </xsd:complexType>
    <xsd:complexType name="teloType">
        <xsd:sequence>
            <xsd:element name="cast1" type="cast1Type"/>
            <xsd:element name="cast2" type="cast2Type"/>
            <xsd:element name="cast3" type="cast3Type"/>
        </xsd:sequence>
    </xsd:complexType>
    <xsd:complexType name="cast1Type">
        <xsd:sequence>
            <xsd:element name="ICDPH" type="xsd:string"/>
            <xsd:element maxOccurs="unbounded" minOccurs="1" name="udajeMVCast1"
                type="udajeMVCast1Type"/>
        </xsd:sequence>
    </xsd:complexType>
    <xsd:complexType name="cast2Type">
        <xsd:sequence>
            <xsd:element name="ICDPH" type="xsd:string"/>
            <xsd:element maxOccurs="unbounded" name="udajeMVCast2" type="udajeMVCast2Type"/>
        </xsd:sequence>
    </xsd:complexType>
    <xsd:complexType name="cast3Type">
        <xsd:sequence>
            <xsd:element name="ICDPH" type="xsd:string"/>
            <xsd:element maxOccurs="unbounded" name="udajeMVCast3" type="udajeMVCast3Type"/>
        </xsd:sequence>
    </xsd:complexType>
    <xsd:complexType name="udajeMVType">
        <xsd:sequence>
            <xsd:element name="VIN" type="xsd:string"/>
            <xsd:element name="evidencneCisloMV" type="xsd:string"/>
            <xsd:element name="nazovTypMV" type="nazovTypMVType"/>
            <xsd:element name="kategoriaMV" type="kategoriaMVType"/>
        </xsd:sequence>
    </xsd:complexType>
    <xsd:complexType name="udajeMVCast3Type">
        <xsd:sequence>
            <xsd:element name="poradoveCisloMVc3" type="xsd:string"/>
            <xsd:element name="vylucnePouzitie" type="vylucnePouzitieMVType"/>
            <xsd:element name="udajeMV" type="udajeMVType"/>
        </xsd:sequence>
    </xsd:complexType>
    <xsd:complexType name="udajeMVCast2Type">
        <xsd:sequence>
            <xsd:element name="poradoveCisloMVc2" type="xsd:string"/>
            <xsd:element name="zmeny" type="zmenyCast2Type"/>
            <xsd:element name="udajeMV" type="udajeMVType"/>
        </xsd:sequence>
    </xsd:complexType>
    <xsd:complexType name="zmenyCast2Type">
        <xsd:sequence>
            <xsd:element name="zmenaZOds4na5" type="only_0_1"/>
            <xsd:element name="zmenaZOds5na4" type="only_0_1"/>
            <xsd:element name="najomMVOds4aBod1" type="only_0_1"/>
            <xsd:element name="dopravaOsobTaxiOds4aBod2" type="only_0_1"/>
            <xsd:element name="prevadazkaAutoskolyOds4aBod3" type="only_0_1"/>
            <xsd:element name="prevadzkaTestovanieNahradneOds4b" type="only_0_1"/>
        </xsd:sequence>
    </xsd:complexType>
    <xsd:complexType name="vylucnePouzitieMVType">
        <xsd:sequence>
            <xsd:element name="odRoku" type="optInt4"/>
            <xsd:element name="podlaOds4" type="only_0_1"/>
            <xsd:element name="najomMVOds4aBod1" type="only_0_1"/>
            <xsd:element name="dopravaOsobTaxiOds4aBod2" type="only_0_1"/>
            <xsd:element name="prevadazkaAutoskolyOds4aBod3" type="only_0_1"/>
            <xsd:element name="prevadzkaTestovanieNahradneOds4b" type="only_0_1"/>
            <xsd:element name="podlaOds5" type="only_0_1"/>
        </xsd:sequence>
    </xsd:complexType>
    <xsd:complexType name="udajeMVCast1Type">
        <xsd:sequence>
            <xsd:element name="poradoveCisloMVc1" type="xsd:string"/>
            <xsd:element name="udajeMV" type="udajeMVType"/>
            <xsd:element name="osobneMVNaZakladeNajom" type="only_0_1"/>
            <xsd:element name="pouzitieOsobnehoMV" type="pouzitieOsobnehoMVType"/>
        </xsd:sequence>
    </xsd:complexType>
    <xsd:complexType name="kategoriaMVType">
        <xsd:sequence>
            <xsd:element name="M1" type="only_0_1"/>
            <xsd:element name="L1e" type="only_0_1"/>
            <xsd:element name="L3e" type="only_0_1"/>
        </xsd:sequence>
    </xsd:complexType>
    <xsd:complexType name="pouzitieOsobnehoMVType">
        <xsd:sequence>
            <xsd:element name="najomMVOds4aBod1" type="only_0_1"/>
            <xsd:element name="dopravaOsobTaxiOds4aBod2" type="only_0_1"/>
            <xsd:element name="prevadazkaAutoskolyOds4aBod3" type="only_0_1"/>
            <xsd:element name="prevadzkaTestovanieNahradneOds4b" type="only_0_1"/>
            <xsd:element name="podnikanieOds5" type="only_0_1"/>
        </xsd:sequence>
    </xsd:complexType>
    <xsd:complexType name="pocetOsobnychMVType">
        <xsd:sequence>
            <xsd:element name="cast1" type="optInt4"/>
            <xsd:element name="cast2" type="optInt4"/>
            <xsd:element name="cast4" type="optInt4"/>
        </xsd:sequence>
    </xsd:complexType>
    <xsd:complexType name="zdanovacieObdobieType">
        <xsd:sequence>
            <xsd:element name="mesiac" type="optIntMonth"/>
            <xsd:element name="stvrtrok" type="optIntQuarter"/>
            <xsd:element name="rok" type="optInt"/>
        </xsd:sequence>
    </xsd:complexType>
    <xsd:complexType name="adresaTrvPobytuType">
        <xsd:sequence>
            <xsd:element name="ulica" type="xsd:string"/>
            <xsd:element name="cislo" type="xsd:string"/>
            <xsd:element name="psc" type="xsd:string"/>
            <xsd:element name="obec" type="xsd:string"/>
            <xsd:element name="stat" type="xsd:string"/>
        </xsd:sequence>
    </xsd:complexType>
    <xsd:complexType name="obchMenoType">
        <xsd:sequence>
            <xsd:element name="riadok" type="xsd:string" minOccurs="1" maxOccurs="3"/>
        </xsd:sequence>
    </xsd:complexType>
    <xsd:complexType name="nazovTypMVType">
        <xsd:sequence>
            <xsd:element maxOccurs="2" name="riadok" type="xsd:string"/>
        </xsd:sequence>
    </xsd:complexType>
</xsd:schema>
