<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified">
  <xs:element name="malzenstwa">
    <xs:annotation>
       <xs:documentation>Formularz DN1</xs:documentation>
       <xs:documentation>Karta statystyczna zawieranych małżeństw</xs:documentation>
       <xs:documentation>Urząd Statystyczny w Olsztynie</xs:documentation>
    </xs:annotation>
    <xs:complexType>
      <xs:sequence>
        <xs:element name="zapis" maxOccurs="unbounded">
          <xs:complexType>
            <xs:sequence>
              <xs:element name="nrf">
                <xs:annotation>
                  <xs:documentation>Numer formularza (idusc+dz+rk+nr)</xs:documentation>
                </xs:annotation>
                <xs:complexType>
                   <xs:sequence>
                      <xs:element name="idusc">
                         <xs:annotation>
                             <xs:documentation>Identyfikator USC</xs:documentation>
                         </xs:annotation>
                         <xs:simpleType>
                            <xs:restriction base="xs:string">
                                <xs:maxLength value="10"/>
                            </xs:restriction>
                         </xs:simpleType>
                      </xs:element>
                      <xs:element name="dz">
                         <xs:annotation>
                             <xs:documentation>Dzielnica</xs:documentation>
                         </xs:annotation>
                         <xs:simpleType>
                            <xs:restriction base="xs:string">
                                <xs:maxLength value="20"/>
                            </xs:restriction>
                         </xs:simpleType>
                      </xs:element>
                      <xs:element name="rk" type="xs:integer">
                         <xs:annotation>
                             <xs:documentation>Rocznik księgi</xs:documentation>
                         </xs:annotation>
                      </xs:element>
                      <xs:element name="nr" type="xs:integer">
                         <xs:annotation>
                             <xs:documentation>Numer aktu</xs:documentation>
                         </xs:annotation>
                      </xs:element>
                   </xs:sequence>
                 </xs:complexType>
              </xs:element>
              <xs:element name="usc" type="wzor_symbol_terytorialny">
                <xs:annotation>
                  <xs:documentation>Symbol terytorialny USC</xs:documentation>
                </xs:annotation>
              </xs:element>
              <xs:element name="data_mal">
                <xs:annotation>
                  <xs:documentation>Data zawarcia małżeństwa</xs:documentation>
                </xs:annotation>
                <xs:simpleType>
                  <xs:restriction base="xs:date"/>
                </xs:simpleType>
              </xs:element>
              <xs:element name="wyznanie">
                <xs:annotation>
                  <xs:documentation>Rodzaj ślubu</xs:documentation>
                </xs:annotation>
                <xs:simpleType>
                  <xs:restriction base="xs:string">
                    <xs:length value="3"/>
                    <xs:enumeration value="100"/>
                    <xs:enumeration value="201"/>
                    <xs:enumeration value="202"/>
                    <xs:enumeration value="203"/>
                    <xs:enumeration value="204"/>
                    <xs:enumeration value="205"/>
                    <xs:enumeration value="206"/>
                    <xs:enumeration value="207"/>
                    <xs:enumeration value="208"/>
                    <xs:enumeration value="209"/>
                    <xs:enumeration value="210"/>
                    <xs:enumeration value="211"/>
                    <xs:enumeration value="299"/>
                    <xs:enumeration value="nnn"/>
                  </xs:restriction>
                </xs:simpleType>
              </xs:element>
              <xs:element name="mezczyzna">
                <xs:annotation>
                  <xs:documentation>Dane mężczyzny</xs:documentation>
                </xs:annotation>
                <xs:complexType>
                  <xs:sequence>
                    <xs:element name="m1">
                      <xs:annotation>
                        <xs:documentation>Nr ewidencyjny PESEL</xs:documentation>
                      </xs:annotation>
                      <xs:simpleType>
                        <xs:restriction base="xs:string">
                          <xs:length value="11"/>
                          <xs:pattern value="[0-9]{11}|nnnnnnnnnnn|zzzzzzzzzzz"/>
                        </xs:restriction>
                      </xs:simpleType>
                    </xs:element>
                    <xs:element name="m4">
                      <xs:annotation>
                        <xs:documentation>Data urodzenia</xs:documentation>
                      </xs:annotation>
                      <xs:simpleType>
                        <xs:restriction base="xs:date"/>
                      </xs:simpleType>
                    </xs:element>
                    <xs:element name="m5">
                      <xs:annotation>
                        <xs:documentation>Stan cywilny</xs:documentation>
                      </xs:annotation>
                      <xs:simpleType>
                        <xs:restriction base="xs:string">
                          <xs:length value="1"/>
                          <xs:enumeration value="1"/>
                          <xs:enumeration value="2"/>
                          <xs:enumeration value="3"/>
                          <xs:enumeration value="n"/>
                        </xs:restriction>
                      </xs:simpleType>
                    </xs:element>
                    <xs:element name="m6">
                      <xs:annotation>
                        <xs:documentation>Rok ustania poprzedniego małżeństwa</xs:documentation>
                      </xs:annotation>
                      <xs:simpleType>
                        <xs:restriction base="xs:string">
                          <xs:length value="4"/>
                          <xs:pattern value="[0-9]{4}|nnnn"/>
                        </xs:restriction>
                      </xs:simpleType>
                    </xs:element>
                    <xs:element name="m7">
                      <xs:annotation>
                        <xs:documentation>Po raz który zawiera małżeństwo</xs:documentation>
                      </xs:annotation>
                      <xs:simpleType>
                        <xs:restriction base="xs:string">
                          <xs:length value="2"/>
                          <xs:pattern value="[0-9]{2}|nn"/>
                        </xs:restriction>
                      </xs:simpleType>
                    </xs:element>
                    <xs:element name="m9">
                      <xs:annotation>
                        <xs:documentation>Wykształcenie</xs:documentation>
                      </xs:annotation>
                      <xs:simpleType>
                        <xs:restriction base="xs:string">
                          <xs:length value="1"/>
                          <xs:enumeration value="1"/>
                          <xs:enumeration value="2"/>
                          <xs:enumeration value="3"/>
                          <xs:enumeration value="4"/>
                          <xs:enumeration value="5"/>
                          <xs:enumeration value="6"/>
                          <xs:enumeration value="7"/>
                          <xs:enumeration value="n"/>
                        </xs:restriction>
                      </xs:simpleType>
                    </xs:element>
                    <xs:element name="m10">
                      <xs:annotation>
                        <xs:documentation>Źródło utrzymania</xs:documentation>
                      </xs:annotation>
                      <xs:simpleType>
                        <xs:restriction base="xs:string">
                          <xs:length value="2"/>
                          <xs:pattern value="a[1-4n]"/>
                          <xs:pattern value="b0"/>
                          <xs:pattern value="c[5-7n]"/>
                          <xs:pattern value="d[1-7abcx]"/>
                          <xs:pattern value="nn"/>
                        </xs:restriction>
                      </xs:simpleType>
                    </xs:element>
                    <xs:element name="m_zamieszkania">
                      <xs:annotation>
                        <xs:documentation>Miejsce zamieszkania przed zawarciem małżeństwa</xs:documentation>
                      </xs:annotation>
                      <xs:complexType>
                        <xs:sequence>
                          <xs:element name="m11a">
                            <xs:annotation>
                              <xs:documentation>Miasto / wieś</xs:documentation>
                            </xs:annotation>
                            <xs:simpleType>
                              <xs:restriction base="xs:string">
                                <xs:length value="1"/>
                                <xs:enumeration value="1"/>
                                <xs:enumeration value="2"/>
                                <xs:enumeration value="3"/>
                                <xs:enumeration value="n"/>
                              </xs:restriction>
                            </xs:simpleType>
                          </xs:element>
                          <xs:choice>
                             <xs:element name="m11b" type="wzor_symbol_terytorialny">
                               <xs:annotation>
                                 <xs:documentation>Symbol terytorialny</xs:documentation>
                               </xs:annotation>
                             </xs:element>
                             <xs:element name="m11z">
                               <xs:annotation>
                                 <xs:documentation>Symbol kraju z Wykazu Krajów (dla zamieszkałych za granicą)</xs:documentation>
                               </xs:annotation>
                               <xs:simpleType>
                                 <xs:restriction base="xs:string">
                                   <xs:length value="3"/>
                                   <xs:pattern value="[0-9]{3}"/>
                                 </xs:restriction>
                               </xs:simpleType>
                             </xs:element>
                          </xs:choice>
                        </xs:sequence>
                      </xs:complexType>
                    </xs:element>
                    <xs:element name="mobyw">
                      <xs:annotation>
                        <xs:documentation>Obywatelstwo polskie / niepolskie</xs:documentation>
                      </xs:annotation>
                      <xs:simpleType>
                        <xs:restriction base="xs:string">
                          <xs:length value="1"/>
                          <xs:enumeration value="1"/>
                          <xs:enumeration value="2"/>
                          <xs:enumeration value="n"/>
                        </xs:restriction>
                      </xs:simpleType>
                    </xs:element>
                    <xs:element name="mobce">
                      <xs:annotation>
                        <xs:documentation>Symbol obywatelstwa obcego</xs:documentation>
                      </xs:annotation>
                      <xs:simpleType>
                        <xs:restriction base="xs:string">
                          <xs:length value="3"/>
                          <xs:pattern value="[0-9]{3}|nnn"/>
                        </xs:restriction>
                      </xs:simpleType>
                    </xs:element>
                  </xs:sequence>
                </xs:complexType>
              </xs:element>
              <xs:element name="kobieta">
                <xs:annotation>
                  <xs:documentation>Dane kobiety</xs:documentation>
                </xs:annotation>
                <xs:complexType>
                  <xs:sequence>
                    <xs:element name="k1">
                      <xs:annotation>
                        <xs:documentation>Nr ewidencyjny PESEL</xs:documentation>
                      </xs:annotation>
                      <xs:simpleType>
                        <xs:restriction base="xs:string">
                          <xs:length value="11"/>
                          <xs:pattern value="[0-9]{11}|nnnnnnnnnnn|zzzzzzzzzzz"/>
                        </xs:restriction>
                      </xs:simpleType>
                    </xs:element>
                    <xs:element name="k4">
                      <xs:annotation>
                        <xs:documentation>Data urodzenia</xs:documentation>
                      </xs:annotation>
                      <xs:simpleType>
                        <xs:restriction base="xs:date"/>
                      </xs:simpleType>
                    </xs:element>
                    <xs:element name="k5">
                      <xs:annotation>
                        <xs:documentation>Stan cywilny</xs:documentation>
                      </xs:annotation>
                      <xs:simpleType>
                        <xs:restriction base="xs:string">
                          <xs:length value="1"/>
                          <xs:enumeration value="1"/>
                          <xs:enumeration value="2"/>
                          <xs:enumeration value="3"/>
                          <xs:enumeration value="n"/>
                        </xs:restriction>
                      </xs:simpleType>
                    </xs:element>
                    <xs:element name="k6">
                      <xs:annotation>
                        <xs:documentation>Rok ustania poprzedniego małżeństwa</xs:documentation>
                      </xs:annotation>
                      <xs:simpleType>
                        <xs:restriction base="xs:string">
                          <xs:length value="4"/>
                          <xs:pattern value="[0-9]{4}|nnnn"/>
                        </xs:restriction>
                      </xs:simpleType>
                    </xs:element>
                    <xs:element name="k7">
                      <xs:annotation>
                        <xs:documentation>Po raz który zawiera małżeństwo</xs:documentation>
                      </xs:annotation>
                      <xs:simpleType>
                        <xs:restriction base="xs:string">
                          <xs:length value="2"/>
                          <xs:pattern value="[0-9]{2}|nn"/>
                        </xs:restriction>
                      </xs:simpleType>
                    </xs:element>
                    <xs:element name="k9">
                      <xs:annotation>
                        <xs:documentation>Wyksztacenie</xs:documentation>
                      </xs:annotation>
                      <xs:simpleType>
                        <xs:restriction base="xs:string">
                          <xs:length value="1"/>
                          <xs:enumeration value="1"/>
                          <xs:enumeration value="2"/>
                          <xs:enumeration value="3"/>
                          <xs:enumeration value="4"/>
                          <xs:enumeration value="5"/>
                          <xs:enumeration value="6"/>
                          <xs:enumeration value="7"/>
                          <xs:enumeration value="n"/>
                        </xs:restriction>
                      </xs:simpleType>
                    </xs:element>
                    <xs:element name="k10">
                      <xs:annotation>
                        <xs:documentation>Źródło utrzymania</xs:documentation>
                      </xs:annotation>
                      <xs:simpleType>
                        <xs:restriction base="xs:string">
                          <xs:length value="2"/>
                          <xs:pattern value="a[1-4n]"/>
                          <xs:pattern value="b0"/>
                          <xs:pattern value="c[5-7n]"/>
                          <xs:pattern value="d[1-7abcx]"/>
                          <xs:pattern value="nn"/>
                        </xs:restriction>
                      </xs:simpleType>
                    </xs:element>
                    <xs:element name="m_zamieszkania">
                      <xs:annotation>
                        <xs:documentation>Miejsce zamieszkania przed zawarciem małżeństwa</xs:documentation>
                      </xs:annotation>
                      <xs:complexType>
                        <xs:sequence>
                          <xs:element name="k11a">
                            <xs:annotation>
                              <xs:documentation>Miasto / wieś</xs:documentation>
                            </xs:annotation>
                            <xs:simpleType>
                              <xs:restriction base="xs:string">
                                <xs:length value="1"/>
                                <xs:enumeration value="1"/>
                                <xs:enumeration value="2"/>
                                <xs:enumeration value="3"/>
                                <xs:enumeration value="n"/>
                              </xs:restriction>
                            </xs:simpleType>
                          </xs:element>
                          <xs:choice>
                             <xs:element name="k11b" type="wzor_symbol_terytorialny">
                               <xs:annotation>
                                 <xs:documentation>Symbol terytorialny</xs:documentation>
                               </xs:annotation>
                             </xs:element>
                             <xs:element name="k11z">
                               <xs:annotation>
                                 <xs:documentation>Symbol kraju z Wykazu Krajów (dla zamieszkałych za granicą)</xs:documentation>
                               </xs:annotation>
                               <xs:simpleType>
                                 <xs:restriction base="xs:string">
                                   <xs:length value="3"/>
                                   <xs:pattern value="[0-9]{3}"/>
                                 </xs:restriction>
                               </xs:simpleType>
                             </xs:element>
                          </xs:choice>
                        </xs:sequence>
                      </xs:complexType>
                    </xs:element>
                    <xs:element name="kobyw">
                      <xs:annotation>
                        <xs:documentation>Obywatelstwo polskie / niepolskie</xs:documentation>
                      </xs:annotation>
                      <xs:simpleType>
                        <xs:restriction base="xs:string">
                          <xs:length value="1"/>
                          <xs:enumeration value="1"/>
                          <xs:enumeration value="2"/>
                          <xs:enumeration value="n"/>
                        </xs:restriction>
                      </xs:simpleType>
                    </xs:element>
                    <xs:element name="kobce">
                      <xs:annotation>
                        <xs:documentation>Symbol obywatelstwa obcego</xs:documentation>
                      </xs:annotation>
                      <xs:simpleType>
                        <xs:restriction base="xs:string">
                          <xs:length value="3"/>
                          <xs:pattern value="[0-9]{3}|nnn"/>
                        </xs:restriction>
                      </xs:simpleType>
                    </xs:element>
                  </xs:sequence>
                </xs:complexType>
              </xs:element>
            </xs:sequence>
          </xs:complexType>
        </xs:element>
      </xs:sequence>
      <xs:attribute ref="kod_dost"/>
      <xs:attribute ref="wersja"/>
      <xs:attribute ref="blad_uz"/>
      <xs:attribute ref="idmr_kto"/>
      <xs:attribute ref="idmr_kiedys"/>
      <xs:attribute ref="krajmz"/>
      <xs:attribute ref="rezerwa"/>
    </xs:complexType>
  </xs:element>

  <xs:attribute name="kod_dost">
    <xs:annotation>
      <xs:documentation>Kod dostawcy systemu</xs:documentation>
    </xs:annotation>
    <xs:simpleType>
        <xs:restriction base="xs:string">
            <xs:maxLength value="20"/>
        </xs:restriction>
    </xs:simpleType>
  </xs:attribute>
  <xs:attribute name="wersja" type="xs:integer">
    <xs:annotation>
      <xs:documentation>Numer wersji schematu</xs:documentation>
    </xs:annotation>
  </xs:attribute>
  <xs:attribute name="blad_uz">
    <xs:annotation>
      <xs:documentation>Wskaźnik błędu uznaniowego</xs:documentation>
    </xs:annotation>
    <xs:simpleType>
        <xs:restriction base="xs:string">
            <xs:length value="1"/>
            <xs:enumeration value="0"/>
            <xs:enumeration value="1"/>
        </xs:restriction>
    </xs:simpleType>
  </xs:attribute>
  <xs:attribute name="idmr_kto">
    <xs:annotation>
      <xs:documentation>Kod operatora (dopisującego lub aktualizującego rekord)</xs:documentation>
    </xs:annotation>
    <xs:simpleType>
      <xs:restriction base="xs:string">
        <xs:maxLength value="20"/>
      </xs:restriction>
    </xs:simpleType>
  </xs:attribute>
  <xs:attribute name="idmr_kiedys">
    <xs:annotation>
      <xs:documentation>Data i czas modyfikacji rekordu</xs:documentation>
    </xs:annotation>
    <xs:simpleType>
      <xs:restriction base="xs:string">
        <xs:maxLength value="20"/>
      </xs:restriction>
    </xs:simpleType>
  </xs:attribute>
  <xs:attribute name="krajmz">
    <xs:annotation>
      <xs:documentation>Kraj miejsca zdarzenia</xs:documentation>
    </xs:annotation>
    <xs:simpleType>
        <xs:restriction base="xs:string">
            <xs:length value="3"/>
            <xs:pattern value="[0-9]{3}"/>
        </xs:restriction>
    </xs:simpleType>
  </xs:attribute>
  <xs:attribute name="rezerwa">
    <xs:annotation>
      <xs:documentation>Pole rezerwowe</xs:documentation>
    </xs:annotation>
    <xs:simpleType>
        <xs:restriction base="xs:string">
            <xs:minLength value="0"/>
            <xs:maxLength value="20"/>
        </xs:restriction>
    </xs:simpleType>
  </xs:attribute>

  <xs:complexType name="wzor_symbol_terytorialny">
     <xs:simpleContent>
        <xs:extension base="symbol_terytorialny">
           <xs:attribute name="id_miejsc" type="xs:integer"/>
        </xs:extension>
     </xs:simpleContent>
  </xs:complexType>

  <xs:simpleType name="symbol_terytorialny">
     <xs:annotation>
        <xs:documentation>Symbol terytorialny (TERYT)</xs:documentation>
     </xs:annotation>
     <xs:restriction base="xs:string">
        <xs:length value="7"/>
        <xs:pattern value="[0-9]{7}|nnnnnnn"/>
     </xs:restriction>
  </xs:simpleType>
  
</xs:schema>





