<?xml version="1.0" encoding="utf-8"?>
<xs:schema xmlns="http://schemas.gov.sk/form/00166073.MSSR_ORSR_Ziadost_o_rezervaciu_obchodneho_mena.sk/1.1"
    xmlns:xs="http://www.w3.org/2001/XMLSchema" targetNamespace="http://schemas.gov.sk/form/00166073.MSSR_ORSR_Ziadost_o_rezervaciu_obchodneho_mena.sk/1.1" elementFormDefault="qualified" attributeFormDefault="unqualified">
    <xs:annotation>
        <xs:documentation xml:lang="sk">Žiadosť o rezerváciu obchodného mena</xs:documentation>
    </xs:annotation>

    <xs:element name="ApplicationForCorporateBodyFullNameReservation">
        <xs:complexType>
            <xs:sequence>
                <xs:element name="Applicant" minOccurs="0">
                    <xs:annotation>
                        <xs:documentation>Údaje navrhovateľa</xs:documentation>
                    </xs:annotation>
                    <xs:complexType>
                        <xs:sequence>
                            <xs:element name="PersonData" type="ApplicantPersonDataCType"/>
                        </xs:sequence>
                    </xs:complexType>
                </xs:element>
                <xs:element name="CorporateBodyFullName" type="xs:string" minOccurs="0"/>
                <xs:element name="LegalForm" type="CodelistDataElementCType" minOccurs="0"/>
            </xs:sequence>
        </xs:complexType>
    </xs:element>

    <xs:element name="PersonData" type="ApplicantPersonDataCType"/>
    <xs:element name="CodelistDataElement" type="CodelistDataElementCType"/>

    <xs:complexType name="ApplicantPersonDataCType">
        <xs:annotation>
            <xs:documentation>D.1 Zložený dátový prvok pre rôzne informácie o osobe (navrhovateľ)</xs:documentation>
        </xs:annotation>
        <xs:sequence>
            <xs:sequence minOccurs="1">
                <xs:element name="PhysicalPerson" type="PhysicalPersonCType" minOccurs="0" maxOccurs="1"/>
                <xs:element name="CorporateBody" type="CorporateBodyCType" minOccurs="0" maxOccurs="1"/>
            </xs:sequence>
            <xs:element name="PhysicalAddress" type="PhysicalAddressCType" minOccurs="0" maxOccurs="1"/>
            <xs:element name="ID" type="IDCType" minOccurs="0" maxOccurs="unbounded"/>
        </xs:sequence>
    </xs:complexType>

    <xs:complexType name="PhysicalPersonCType">
        <xs:annotation>
            <xs:documentation>D.1.1 Fyzická osoba</xs:documentation>
        </xs:annotation>
        <xs:sequence>
            <xs:element name="PersonName" type="PersonNameCType" minOccurs="0" maxOccurs="1"/>
            <xs:element name="Birth" type="BirthCType" minOccurs="0" maxOccurs="1"/>
        </xs:sequence>
    </xs:complexType>

    <xs:complexType name="BirthCType">
        <xs:annotation>
            <xs:documentation>D.1.1.2 Údaje o narodení</xs:documentation>
        </xs:annotation>
        <xs:sequence>
            <xs:element name="DateOfBirth" type="xs:date" minOccurs="0"/>
        </xs:sequence>
    </xs:complexType>

    <xs:complexType name="PersonNameCType">
        <xs:annotation>
            <xs:documentation>D.1.1.1 Meno osoby</xs:documentation>
        </xs:annotation>
        <xs:sequence>
            <xs:element name="GivenName" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
            <xs:element name="FamilyName" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
            <xs:element name="Affix" type="AffixCType" minOccurs="0" maxOccurs="unbounded"/>
        </xs:sequence>
    </xs:complexType>

    <xs:complexType name="AffixCType">
        <xs:annotation>
            <xs:documentation>D.1.1.1.8 Titul pred/za menom</xs:documentation>
        </xs:annotation>
        <xs:complexContent>
            <xs:extension base="CodelistDataElementCType">
                <xs:attribute name="type" type="xs:string" use="required"/>
                <xs:attribute name="position" type="xs:string" use="required"/>
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>

    <xs:complexType name="CorporateBodyCType">
        <xs:annotation>
            <xs:documentation>D.1.2 Právnická osoba</xs:documentation>
        </xs:annotation>
        <xs:sequence>
            <xs:element name="CorporateBodyFullName" type="xs:string" minOccurs="0"/>
        </xs:sequence>
    </xs:complexType>

    <xs:complexType name="PhysicalAddressCType">
        <xs:annotation>
            <xs:documentation>D.1.3 Adresa</xs:documentation>
        </xs:annotation>
        <xs:sequence>
            <xs:element name="Country" type="CodelistDataElementCType" minOccurs="0"/>
            <xs:element name="Municipality" type="CodelistDataElementCType" minOccurs="0"/>
            <xs:element name="StreetName" type="xs:string" minOccurs="0"/>
            <xs:element name="BuildingNumber" type="xs:string" minOccurs="0"/>
            <xs:element name="PropertyRegistrationNumber" type="xs:string" minOccurs="0"/>
            <xs:element name="DeliveryAddress" type="DeliveryAddressCType" minOccurs="0"/>
        </xs:sequence>
    </xs:complexType>

    <xs:complexType name="DeliveryAddressCType">
        <xs:annotation>
            <xs:documentation>D.1.3.14 Doručovacia adresa</xs:documentation>
        </xs:annotation>
        <xs:sequence>
            <xs:element name="PostalCode" type="xs:string" minOccurs="0"/>
        </xs:sequence>
    </xs:complexType>

    <xs:complexType name="IDCType">
        <xs:annotation>
            <xs:documentation>D.1.6 Identifikátor osoby</xs:documentation>
        </xs:annotation>
        <xs:sequence>
            <xs:element name="IdentifierType" type="CodelistDataElementCType"/>
            <xs:element name="IdentifierValue" type="xs:string"/>
        </xs:sequence>
    </xs:complexType>

    <xs:complexType name="CodelistDataElementCType">
        <xs:annotation>
            <xs:documentation>Základný číselníkový dátový prvok</xs:documentation>
        </xs:annotation>
        <xs:choice>
            <xs:element name="Codelist" type="CodelistCType"/>
            <xs:element name="NonCodelistData" type="xs:string"/>
        </xs:choice>
    </xs:complexType>

    <xs:complexType name="CodelistCType">
        <xs:sequence>
            <xs:element name="CodelistCode" type="xs:string" minOccurs="0"/>
            <xs:element name="CodelistItem" type="CodelistItemCType" minOccurs="0"/>
        </xs:sequence>
    </xs:complexType>

    <xs:complexType name="CodelistItemCType">
        <xs:sequence>
            <xs:element name="ItemCode" type="xs:string" minOccurs="0"/>
            <xs:element name="ItemName" type="xs:string" minOccurs="0"/>
        </xs:sequence>
    </xs:complexType>

</xs:schema>
