<?xml version="1.0" encoding="UTF-8"?>

<!-- 
XSD – knihy partnerství

Změny:
2024-11-07      Verze 1.1.0 - Minor verze
                            - Přidání povinnosti pro atribut zaznamid.
2024-05-20      Verze 1.0.1 – Minor patch.
                            – Úprava dokumentace pro kvalita údaje type. Úprava na korespondování s true/false.
                            – Zpřesnění dokumentace pro státní občanství dle současné zjištěné praxe.
                            - Přidání podmínky pro pořadové číslo dodatečného zápisu v intervalu 1 a vyšší.
                            - Upřesnění k vyplnění objektu typu adresa.
                            - Datum dodatečných záznamů a oprav je nyní definován jako datetype.   
2024-01-01      Verze 1.0   – Počáteční verze.
-->

<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">

    <xs:annotation>
        <xs:documentation xml:lang="cs">Ematrika – Schéma Národního standardu pro knihy partnerství.</xs:documentation>
    </xs:annotation>

    <xs:simpleType name="stringtype">
        <xs:restriction base="xs:string">
            <xs:minLength value="1" />
        </xs:restriction>
    </xs:simpleType>

    <xs:simpleType name="datetype">
        <xs:restriction base="xs:date" />
    </xs:simpleType>

    <xs:simpleType name="integerpositivetype">
        <xs:restriction base="xs:integer">
            <xs:minInclusive value="1" />
        </xs:restriction>
    </xs:simpleType>

    <xs:complexType name="kvalitaudajetype">
        <xs:simpleContent>
            <xs:extension base="stringtype">
                <xs:attribute name="platnost" type="xs:boolean" use="required">
                    <xs:annotation>
                        <xs:documentation xml:lang="cs"> Možnosti: true – platný; false – chybný
                            nebo nesprávný (oběcně neplatný). Např.: Obsah "1991-01-01" v atributu
                            jmeno je chybný nebo nesprávný, kdy má příznak platny = false. V další
                            verzi záznamu je pak tento údaj opraven.</xs:documentation>
                    </xs:annotation>
                </xs:attribute>
                <xs:attribute name="vecnost" type="xs:boolean" use="required">
                    <xs:annotation>
                        <xs:documentation xml:lang="cs"> Možnosti: true – věcný (faktický údaj);
                            false – speciální hodnota "nezjištěno". Např.: Obsah "Karel" v atributu
                            jmeno má příznak vecnost = true. </xs:documentation>
                    </xs:annotation>
                </xs:attribute>
            </xs:extension>
        </xs:simpleContent>
    </xs:complexType>

    <xs:complexType name="poznamkatype">
        <xs:simpleContent>
            <xs:extension base="kvalitaudajetype">
                <xs:attribute name="poznamka" type="xs:boolean" use="required">
                    <xs:annotation>
                        <xs:documentation xml:lang="cs"> Možnosti: true – jedná se poznámku, tedy o
                            opravu před podpisem, či dodatečný zápis či opravy, která se TISKNE do
                            dokumentu (např. oddací list), je typicky zkrácená; false – jedná se o
                            plnohodnotnou textaci, opravy před podpisem, či dodatečného zápisu. </xs:documentation>
                    </xs:annotation>
                </xs:attribute>
            </xs:extension>
        </xs:simpleContent>
    </xs:complexType>

    <xs:complexType name="adresatype">
        <xs:sequence>
            <xs:element name="celyText" type="kvalitaudajetype">
                <xs:annotation>
                    <xs:documentation xml:lang="cs">Spojený řetězec adresy (místa), např.: Jana
                        Masaryka 814, 25801 Vlašim; či Tábor, č. p. 1. Pokud je k dispozici adresa
                        pouze jako celý text bez atomických hodnot, tak atomické hodnoty jsou
                        vyplněny jako NULL. Např.: celyText je Praha, Hlaváčkova 1, ale pokud není
                        databázově uloženo/či nejde doplnit zmíněné město do elementu "obec", tak
                        element "obec" bude xsi:nil.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element name="obec" type="kvalitaudajetype" nillable="true">
                <xs:annotation>
                    <xs:documentation xml:lang="cs"> Název obce, vojenského újezdu apod. Např.
                        Praha, Pardubice. </xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element name="obvodPraha" type="kvalitaudajetype" nillable="true">
                <xs:annotation>
                    <xs:documentation xml:lang="cs"> Pražský obvod. Např.: Praha 2 </xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element name="castObce" type="kvalitaudajetype" nillable="true">
                <xs:annotation>
                    <xs:documentation xml:lang="cs"> Část obce. </xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element name="katastralniUzemi" type="kvalitaudajetype" nillable="true">
                <xs:annotation>
                    <xs:documentation xml:lang="cs"> Katastrálná území. </xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element name="cisloPopisneNeboEvidencni" type="kvalitaudajetype" nillable="true">
                <xs:annotation>
                    <xs:documentation xml:lang="cs"> Číslo popisné, respektive číslo evidenční. </xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element name="ulice" type="kvalitaudajetype" nillable="true">
                <xs:annotation>
                    <xs:documentation xml:lang="cs"> Ulice. </xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element name="cisloOrientacni" type="kvalitaudajetype" nillable="true">
                <xs:annotation>
                    <xs:documentation xml:lang="cs"> Číslo orientační. </xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element name="okres" type="kvalitaudajetype" nillable="true">
                <xs:annotation>
                    <xs:documentation xml:lang="cs"> Okres. </xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element name="blizsiUrceni" type="kvalitaudajetype" nillable="true">
                <xs:annotation>
                    <xs:documentation xml:lang="cs"> Textové bližší určení. Např.: V síni městského
                        úřadu. Či: Pod mostem. Nebo např.: suite 4a. </xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element name="stat" type="kvalitaudajetype" nillable="true">
                <xs:annotation>
                    <xs:documentation xml:lang="cs"> Stát. </xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element name="wgsX" type="kvalitaudajetype" nillable="true">
                <xs:annotation>
                    <xs:documentation xml:lang="cs"> Zeměpisná délka, GPS v souřadnicovém systému
                        EPSG:4326, ve formátu kladného (východ) či záporného (západ) desetinného
                        čísla, kdy oddělovačem desetinné čásati je tečka.. Např.:
                        12.345678910111213, -45.12.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element name="wgsY" type="kvalitaudajetype" nillable="true">
                <xs:annotation>
                    <xs:documentation xml:lang="cs"> Zeměpisná šířka, GPS v souřadnicovém systému
                        EPSG:4326, ve formátu kladného (sever) či záporného (jih) desetinného čísla,
                        kdy oddělovačem desetinné čásati je tečka. Např.: 12.345678910111213,
                        -45.12.</xs:documentation>
                </xs:annotation>
            </xs:element>
        </xs:sequence>
        <xs:attribute name="adresniMistoRuian" type="xs:string" use="optional">
            <xs:annotation>
                <xs:documentation xml:lang="cs"> RÚIAN kód adresního místa. </xs:documentation>
            </xs:annotation>
        </xs:attribute>
    </xs:complexType>

    <xs:simpleType name="matricniuradidtype">
        <xs:restriction base="xs:string">
            <xs:pattern value="[0-9]{5}"></xs:pattern>
        </xs:restriction>
    </xs:simpleType>

    <xs:simpleType name="druhtype">
        <xs:restriction base="xs:string">
            <xs:pattern value="Kniha partnerství"></xs:pattern>
        </xs:restriction>
    </xs:simpleType>

    <xs:simpleType name="zujidtype">
        <xs:restriction base="xs:string">
            <xs:pattern value="[0-9]{6}"></xs:pattern>
        </xs:restriction>
    </xs:simpleType>

    <xs:simpleType name="knihaidtype">
        <xs:restriction base="xs:string">
            <xs:pattern value="[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}" />
        </xs:restriction>
    </xs:simpleType>

    <xs:simpleType name="zaznamidtype">
        <xs:restriction base="xs:string">
            <xs:pattern value="[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}" />
        </xs:restriction>
    </xs:simpleType>

    <xs:simpleType name="cisloverzetype">
        <xs:restriction base="xs:integer">
        </xs:restriction>
    </xs:simpleType>

    <xs:complexType name="knihaidentifikacetype">
        <xs:sequence>
            <xs:element name="druh" type="druhtype">
                <xs:annotation>
                    <xs:documentation xml:lang="cs"> String s hodnotou "Kniha manželství". </xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element name="nazevMatricnihoUradu" type="stringtype">
                <xs:annotation>
                    <xs:documentation xml:lang="cs"> Název matričního úřadu, název shodný s hodnotou
                        záznamu na obálce matriční knihy. </xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element name="okres" type="stringtype" nillable="true">
                <xs:annotation>
                    <xs:documentation xml:lang="cs"> Okres na obálce matriční knihy. </xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element name="vedenaPro" type="stringtype">
                <xs:annotation>
                    <xs:documentation xml:lang="cs">Název obce, města, v hlavním městě Praze a
                        územně členěných statutárních městech i název městské části nebo městského
                        obvodu nebo označení vojenského újezdu, pro které se matriční kniha
                        vedeOkres na obálce matriční knihy.</xs:documentation>
                </xs:annotation>
            </xs:element>
        </xs:sequence>
        <xs:attribute name="zujid" type="zujidtype">
            <xs:annotation>
                <xs:documentation xml:lang="cs">ID základní územní jednotky (ZUJ) dle číselníku ČSÚ
                    https://apl.czso.cz/iSMS/cisdet.jsp?kodcis=51 spravující matriční knihy.</xs:documentation>
            </xs:annotation>
        </xs:attribute>
    </xs:complexType>


    <xs:complexType name="zaznamidentifikacetype">
        <xs:sequence>
            <xs:element name="cisloSvazku" type="stringtype">
                <xs:annotation>
                    <xs:documentation xml:lang="cs">Pořadové číslo svazku, vede-li matriční úřad
                        souběžně více než jeden svazek pro jeden druh matriční knihy pro jednu obec,
                        označí se římským číslem, počínaje číslem I lomeným arabským číslem svazku
                        (např. I/2); u zvláštní matriky se před číselnou řadou každého svazku uvede
                        "ZM".</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element name="rocnik" type="stringtype">
                <xs:annotation>
                    <xs:documentation xml:lang="cs">Rok prvozápisu do matriční knihy.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element name="list" type="stringtype">
                <xs:annotation>
                    <xs:documentation xml:lang="cs">Jedno číslo; po nabytí účinnosti zákona č.
                        301/2000 Sb., od 1. 7. 2001 platí, že svazek matriční knihy obsahuje max.
                        300 listů, před novým zákonem byly strany. Toto číslo v těchto nových
                        knihách odpovídá pořadovému číslu zápisu.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element name="poradoveCislo" type="stringtype">
                <xs:annotation>
                    <xs:documentation xml:lang="cs">Pořadové číslo zápisu. Zároveň, v případě kdy na
                        jedné straně (historicky) bylo vícero zápisů unikátně označuje daný zápis.</xs:documentation>
                </xs:annotation>
            </xs:element>
        </xs:sequence>
    </xs:complexType>

    <xs:complexType name="partner">
        <xs:sequence>
            <xs:element name="jmenoAJmena" type="kvalitaudajetype" nillable="true">
                <xs:annotation>
                    <xs:documentation xml:lang="cs">Jméno, případně jména. Např.: Alena Anna, nebo
                        Petr Karel.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element name="prijmeni" type="kvalitaudajetype">
                <xs:annotation>
                    <xs:documentation xml:lang="cs">Příjmení. Např.: Novák, Nováková.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element name="rodnePrijmeni" type="kvalitaudajetype" nillable="true">
                <xs:annotation>
                    <xs:documentation xml:lang="cs">Rodné příjmení, případně jména. Např.:
                        Skočdopole, Zelená.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element name="datumNarozeni" type="kvalitaudajetype">
                <xs:annotation>
                    <xs:documentation xml:lang="cs">Datum narození. Např.: 1991-08-13.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element name="mistoNarozeni" type="adresatype" nillable="true">
                <xs:annotation>
                    <xs:documentation xml:lang="cs">Místo narození.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element name="rodneCislo" type="kvalitaudajetype" nillable="true">
                <xs:annotation>
                    <xs:documentation xml:lang="cs">Rodné číslo. Např.: 9301079678, 530101123</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element name="osobniStav" type="kvalitaudajetype">
                <xs:annotation>
                    <xs:documentation xml:lang="cs">Osobní stav. Např.: rozvedený, vdaná.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element name="statniObcanstvi" type="kvalitaudajetype" nillable="true">
                <xs:annotation>
                    <xs:documentation xml:lang="cs">Státní občanství, optimálně dle
                        https://apl.czso.cz/iSMS/cisdet.jsp?kodcis=86 sloupec ZKRTEXT. Např.: Česko,
                        Francie. Za validní považujeme ale i Česká republika, ČR, FR; včetně možných
                        vícero hodnot odsazených čárkou s mezerou nebo středníkem tedy např.: Česko,
                        Francie. Či např.: Česko; Francie</xs:documentation>
                </xs:annotation>
            </xs:element>
        </xs:sequence>
    </xs:complexType>

    <xs:complexType name="rodictype">
        <xs:sequence>
            <xs:element name="jmenoAJmena" type="kvalitaudajetype" nillable="true">
                <xs:annotation>
                    <xs:documentation xml:lang="cs">Jméno, případně jména. Např.: Alena Anna, nebo
                        Petr Karel.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element name="prijmeni" type="kvalitaudajetype" nillable="true">
                <xs:annotation>
                    <xs:documentation xml:lang="cs">Příjmení. Např.: Novák, Nováková.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element name="rodnePrijmeni" type="kvalitaudajetype" nillable="true">
                <xs:annotation>
                    <xs:documentation xml:lang="cs">Rodné příjmení, případně jména. Např.:
                        Skočdopole, Zelená.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element name="datumNarozeni" type="kvalitaudajetype" nillable="true">
                <xs:annotation>
                    <xs:documentation xml:lang="cs">Datum narození. Např.: 1991-08-13.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element name="mistoNarozeni" type="adresatype" nillable="true">
                <xs:annotation>
                    <xs:documentation xml:lang="cs">Místo narození.</xs:documentation>
                </xs:annotation>
            </xs:element>
        </xs:sequence>
    </xs:complexType>

    <xs:complexType name="rodicetype">
        <xs:sequence>
            <xs:element name="otec" type="rodictype" nillable="true">
                <xs:annotation>
                    <xs:documentation xml:lang="cs">Otec</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element name="matka" type="rodictype" nillable="true">
                <xs:annotation>
                    <xs:documentation xml:lang="cs">Matka.</xs:documentation>
                </xs:annotation>
            </xs:element>
        </xs:sequence>
    </xs:complexType>

    <xs:complexType name="matrikartype">
        <xs:sequence>
            <xs:element name="jmenoAJmena" type="kvalitaudajetype">
                <xs:annotation>
                    <xs:documentation xml:lang="cs">Jméno, případně jména. Např.: Alena Anna, nebo
                        Petr Karel.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element name="prijmeni" type="kvalitaudajetype">
                <xs:annotation>
                    <xs:documentation xml:lang="cs">Příjmení. Např.: Novák, Nováková.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element name="identifikacniCisloUrednika" type="kvalitaudajetype" nillable="true">
                <xs:annotation>
                    <xs:documentation xml:lang="cs">Příjmení. Např.: Novák, Nováková.</xs:documentation>
                </xs:annotation>
            </xs:element>
        </xs:sequence>
    </xs:complexType>

    <xs:complexType name="dodatecnezaznamyaopravytype">
        <xs:sequence>
            <xs:element name="text" type="kvalitaudajetype">
                <xs:annotation>
                    <xs:documentation xml:lang="cs">Text dodatečného záznamu a opravy. </xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element name="datum" type="datetype">
                <xs:annotation>
                    <xs:documentation xml:lang="cs">Datum provedení. Např.: 1991-08-13.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element name="matrikar" type="matrikartype">
                <xs:annotation>
                    <xs:documentation xml:lang="cs">Informace o matrikáři.</xs:documentation>
                </xs:annotation>
            </xs:element>
        </xs:sequence>
        <xs:attribute name="poznamka" type="xs:boolean" use="required">
            <xs:annotation>
                <xs:documentation xml:lang="cs"> Možnosti: true – jedná se poznámku, tedy o opravu
                    před podpisem, či dodatečný zápis či opravy, která se TISKNE do dokumentu (např.
                    oddací list), poznámka je typicky zkrácená; false – jedná se o plnohodnotnou
                    textaci, opravy před podpisem, či dodatečného zápisu, tak jak je napsaná v
                    knize. </xs:documentation>
            </xs:annotation>
        </xs:attribute>
        <xs:attribute name="poradoveCislo" type="integerpositivetype" use="required">
            <xs:annotation>
                <xs:documentation xml:lang="cs">Pořadové číslo dodatečného záznamu a opravy dat.
                    Dodatečné opravy se vyskytují u verzí zápisů kumulativně. Tedy dodatečný zápis z
                    druhé verze záznamu, se následně objeví i ve verzích následujících. Pořadové
                    číslo tohoto záznamu se nemění. Číslování elementů dodatečného záznamu a opravy
                    dat začíná od čísla 1, krok délky jedna. Tedy např.: 1, 2, 3, ... Ve většině
                    běžných případů bude první verze matričního záznamu obsahovat prázdný dodatečný
                    záznam a oprava dat číslem 1 a objekt bude xsi:nil. </xs:documentation>
            </xs:annotation>
        </xs:attribute>
    </xs:complexType>

    <xs:complexType name="verzetype">
        <xs:sequence>
            <xs:element name="mistoUzavreniPartnerstvi" type="adresatype">
                <xs:annotation>
                    <xs:documentation xml:lang="cs"> Místo uzavření partnerství. Minimálně jako
                        jeden textový řetězec. Možno atomicky rozpadnout.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element name="datumUzavreniPatnerstvi" type="kvalitaudajetype">
                <xs:annotation>
                    <xs:documentation xml:lang="cs">Datum uzavření partnerství. Např.: 2021-05-25.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element name="partner1" type="partner">
                <xs:annotation>
                    <xs:documentation xml:lang="cs">Partner/ka (Partner1). V matriční knize
                        registrovaného partnerství se jedná o partnera/ku uvedeného v horní části
                        stránky.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element name="rodicePartnera1" type="rodicetype" nillable="true">
                <xs:annotation>
                    <xs:documentation xml:lang="cs">Rodiče Partnera1.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element name="partner2" type="partner">
                <xs:annotation>
                    <xs:documentation xml:lang="cs">Partner/ka (Partner2). V matriční knize
                        registrovaného partnerství se jedná o partnera/ku uvedeného ve spodní části
                        stránky.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element name="rodicePartnera2" type="rodicetype" nillable="true">
                <xs:annotation>
                    <xs:documentation xml:lang="cs">Rodiče Partnera2.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element name="zaznamyAOpravyPredPodpisem" type="poznamkatype" maxOccurs="2">
                <xs:annotation>
                    <xs:documentation xml:lang="cs">Záznamy a opravy před podpisem.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element name="datumProvedeniZapisu" type="datetype">
                <xs:annotation>
                    <xs:documentation xml:lang="cs">Datum provedení zápisu. Např.: 2022-01-17</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element name="matrikar" type="matrikartype">
                <xs:annotation>
                    <xs:documentation xml:lang="cs">Matrikář.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element name="dodatecneZaznamyAOpravy" type="dodatecnezaznamyaopravytype"
                nillable="true" maxOccurs="unbounded">
                <xs:annotation>
                    <xs:documentation xml:lang="cs">Dodatečné záznamy a opravy.</xs:documentation>
                </xs:annotation>
            </xs:element>
        </xs:sequence>
        <xs:attribute name="cisloVerze" type="cisloverzetype" use="required">
            <xs:annotation>
                <xs:documentation xml:lang="cs">Číslo verze zápisu. Např.: 1, 2, 3, ... 9.</xs:documentation>
            </xs:annotation>
        </xs:attribute>
    </xs:complexType>

    <xs:complexType name="zaznamtype">
        <xs:sequence>
            <xs:element name="zaznamIdentifikace" type="zaznamidentifikacetype">
                <xs:annotation>
                    <xs:documentation xml:lang="cs">Identifikace digitálního záznamu matričního
                        zápisu.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element name="verze" type="verzetype" maxOccurs="unbounded">
                <xs:annotation>
                    <xs:documentation xml:lang="cs">Pořadové číslo verze digitálního záznamu.</xs:documentation>
                </xs:annotation>
            </xs:element>
        </xs:sequence>
        <xs:attribute name="zaznamid" type="zaznamidtype" use="required">
            <xs:annotation>
                <xs:documentation xml:lang="cs">GUID digitálního záznamu.</xs:documentation>
            </xs:annotation>
        </xs:attribute>
    </xs:complexType>

    <xs:complexType name="knihapartnerstvitype">
        <xs:sequence>
            <xs:element name="knihaIdentifikace" type="knihaidentifikacetype">
                <xs:annotation>
                    <xs:documentation xml:lang="cs"> Položky základní identifikace matriční knihy. </xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element name="zaznam" type="zaznamtype" maxOccurs="unbounded">
                <xs:annotation>
                    <xs:documentation xml:lang="cs">Digitální záznam odpovídající jednomu fyzickému
                        zápisu do matriční knihy včetně všech dodatečných zánamů a oprav.</xs:documentation>
                </xs:annotation>
            </xs:element>
        </xs:sequence>
        <xs:attribute name="knihaid" type="knihaidtype" use="required">
            <xs:annotation>
                <xs:documentation xml:lang="cs">GUID matriční knihy.</xs:documentation>
            </xs:annotation>
        </xs:attribute>
    </xs:complexType>

    <xs:complexType name="knihypartnerstvitype">
        <xs:sequence>
            <xs:element name="knihaPartnerstvi" type="knihapartnerstvitype" maxOccurs="unbounded">
                <xs:annotation>
                    <xs:documentation xml:lang="cs">Seznam knih partnerství.</xs:documentation>
                </xs:annotation>
            </xs:element>
        </xs:sequence>
        <xs:attribute name="matricniuradid" type="matricniuradidtype" use="required">
            <xs:annotation>
                <xs:documentation xml:lang="cs">ID matričního úřadu spravujícího matriční knihy dle
                    číselníku, viz příloha kódy matričních úřadů. Dále viz ČSÚ
                    https://apl.czso.cz/iSMS/cisdata.jsp?kodcis=45.</xs:documentation>
            </xs:annotation>
        </xs:attribute>
    </xs:complexType>

    <xs:element name="knihyPartnerstvi" type="knihypartnerstvitype">
        <xs:annotation>
            <xs:documentation xml:lang="cs">Definice kořenového elementu XML souboru. Soubor
                obsahuje jednotlivé matriční knihy.</xs:documentation>
        </xs:annotation>
    </xs:element>

</xs:schema>