<?xml version="1.0" encoding="utf-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" attributeFormDefault="unqualified" elementFormDefault="qualified">
  <!--definicje typow-->
  <!--liczba kolejna-->
  <xs:simpleType name="typlpue">
    <xs:restriction base="xs:integer">
      <xs:minInclusive value="0"/>
      <xs:maxInclusive value="99999"/>
    </xs:restriction>
  </xs:simpleType>
  <!--wojewodztwo-->
  <xs:simpleType name="typwoj">
    <xs:restriction base="xs:string">
    <xs:pattern value="02|04|06|08|10|12|14|16|18|20|22|24|26|28|30|32"/>
    </xs:restriction>
  </xs:simpleType>
  <!-- powiat-->
  <xs:simpleType name="typpowiat">
    <xs:restriction base="xs:string">
      <xs:maxLength value="2"/>
      <xs:pattern value="[0-9]{2}"/>
    </xs:restriction>
  </xs:simpleType>
  <!--gmina-->
  <xs:simpleType name="typgmi">
    <xs:restriction base="xs:string">
      <xs:pattern value="[0-9]{2}"/>
    </xs:restriction>
  </xs:simpleType>
  <!-- rodzaj -->
  <xs:simpleType name="typrodz">
    <xs:restriction base="xs:string">
      <xs:enumeration value="1"/>
      <xs:enumeration value="2"/>
      <xs:enumeration value="4"/>
      <xs:enumeration value="5"/>
      <xs:enumeration value="8"/>
      <xs:enumeration value="9"/>
    </xs:restriction>
  </xs:simpleType>
  <!--nrspr-->
  <xs:simpleType name="typnrspr">
    <xs:restriction base="xs:string">
      <xs:enumeration value=""/>
        </xs:restriction>
  </xs:simpleType>
  <!--lp-->
  <!--plec-->
  <xs:simpleType name="typplec">
    <xs:restriction base="xs:integer">
      <xs:minInclusive value="1"/>
      <xs:maxInclusive value="2"/>
    </xs:restriction>
  </xs:simpleType>
  <!--data ur-->
  <xs:simpleType name="typdataur">
    <xs:restriction base="xs:string">
      <xs:pattern value="[0-3]{1}[0-9]{1}[01]{1}[0-9]{1}[12]{1}[890]{1}[0-9]{2}"/>
    </xs:restriction>
  </xs:simpleType>
  <!--typg-->
  <!--kr-->
  <xs:simpleType name="typkr">
    <xs:restriction base="xs:integer">
      <xs:totalDigits value="3"/>
    </xs:restriction>
  </xs:simpleType>
  <!--od do-->
  <xs:simpleType name="typoddo">
    <xs:restriction base="xs:string">
      <xs:pattern value="[01]{1}[0-9]{1}[2]{1}[01]{1}[0-9]{2}"/>
    </xs:restriction>
  </xs:simpleType>
  <!--wyksztalcenie-->
  <xs:simpleType name="typwyksz">
    <xs:restriction base="xs:byte">
      <xs:minInclusive value="1"/>
      <xs:maxInclusive value="9"/>
    </xs:restriction>
  </xs:simpleType>
  <!-- stan cywilny -->
  <xs:simpleType name="typstanc">
  <xs:restriction base="xs:byte">
  <xs:minInclusive value="0"/>
  <xs:maxInclusive value="4"/>
  </xs:restriction>
  </xs:simpleType>
  <!-- terytorialny stalego zameldowania -->
  <xs:simpleType name="typsterst">
  <xs:restriction base="xs:string">
  <xs:pattern value="[0-9]{7}"/>
  </xs:restriction>
  </xs:simpleType>
  <!-- typ gminy -->
  <xs:simpleType name="typtypg">
  <xs:restriction base="xs:integer">
  <xs:minInclusive value="0"/>
  <xs:maxInclusive value="2"/>
  </xs:restriction>
  </xs:simpleType>
    
  <xs:element name="dw2">
	  <xs:annotation>
		  <xs:documentation>zbiór danych dot. DW-2</xs:documentation>
	  </xs:annotation>
    <xs:complexType>
      <xs:sequence>
        <xs:element maxOccurs="unbounded" name="row">
			<xs:annotation>
				<xs:documentation>pojedynczy wiersz danych DW-2</xs:documentation>
			</xs:annotation>
          <xs:complexType>
            <xs:sequence>
				<xs:element name="lpue" type="typlpue">
					<xs:annotation>
						<xs:documentation>liczba porządkowa 1..n gdzie n-liczba osób w zbiorze</xs:documentation>
					</xs:annotation>								
				</xs:element>
				<xs:element name="woj" type="typwoj">
					<xs:annotation>
						<xs:documentation>dwuznakowy symbol województwa zgodny z wykazem symboli terytorialnych GUS</xs:documentation>
					</xs:annotation>			
				</xs:element>
				<xs:element name="powiat" type="typpowiat">
					<xs:annotation>
						<xs:documentation>dwuznakowy symbol powiatu zgodny z wykazem symboli terytorialnych GUS</xs:documentation>
					</xs:annotation>
				</xs:element>
				<xs:element name="gmi" type="typgmi">
					<xs:annotation>
						<xs:documentation>dwuznakowy symbol gminy składającej sprawozdanie zgodny z wykazem symboli terytorialnych GUS</xs:documentation>
					</xs:annotation>
				</xs:element>
				<xs:element name="rodz" type="typrodz">
					<xs:annotation>
						<xs:documentation>jednoznakowy symbol rodzaju gminy składającej sprawozdanie zgodny z wykazem symboli terytorialnych GUS</xs:documentation>
					</xs:annotation>
				</xs:element>
				<xs:element name="plec" type="typplec">
					<xs:annotation>
						<xs:documentation>jednoznakowa płeć osoby (1-męska/2-żeńska)</xs:documentation>
					</xs:annotation>
				</xs:element>
				<xs:element name="dataur" type="typdataur">
					<xs:annotation>
						<xs:documentation>data urodzenia (8 znaków) zapis cyfrowy: ddmmrrrr</xs:documentation>
					</xs:annotation>
				</xs:element>
				<xs:element name="stanc" type="typstanc">
					<xs:annotation>
						<xs:documentation>jednoznakowy stan cywilny (1-kawaler,panna/2-żonaty,zamężna/3-wdowiec,wdowa/4-rozwiedziony,rozwiedziona</xs:documentation>
					</xs:annotation>
				</xs:element>
				<xs:element name="wyksz" type="typwyksz">
					<xs:annotation>
						<xs:documentation>jednoznakowy poziom wykształcenia (1-wyższe/2-policealne/3-średnie/4-zasadnicze zawodowe/5-gimnazjalne/6-podstawowe/7-niepełne podstawowe lub nie podlega obowiązkowi szkolnemu (dzieci przed rozpoczęciem nauki w szkole)/9-brak informacji)</xs:documentation>
					</xs:annotation>
				</xs:element>
				<xs:element name="obyw" type="typkr">
					<xs:annotation>
						<xs:documentation>obywatelstwo (3 znaki), symbol kraju zgodny z wykazem symboli państw</xs:documentation>
					</xs:annotation>
				</xs:element>
				<xs:element name="od" type="typoddo">
					<xs:annotation>
						<xs:documentation>miesiąc i rok początku zamierzonego pobytu czasowego (6znaków w postaci: mmrrrr)</xs:documentation>
					</xs:annotation>
				</xs:element>
				<xs:element name="do" type="typoddo">
					<xs:annotation>
						<xs:documentation>miesiąc i rok końca zamierzonego pobytu czasowego (6znaków w postaci: mmrrrr)</xs:documentation>
					</xs:annotation>
				</xs:element>
				<xs:element name="typg" type="typtypg">
					<xs:annotation>
						<xs:documentation>jednoznakowy typ miasta/gminy pobytu stałego (1-gmina miejska/2-gmina wiejska/0-dla obcokrajowców z pobytem stałym zagranicznym)</xs:documentation>
					</xs:annotation>
				</xs:element>
				<xs:element name="sterst" type="typsterst">
					<xs:annotation>
						<xs:documentation>symbol terytorialny miejsca zameldowania na pobyt stały (7 znaków) zgodny z wykazem symboli terytorialnych GUS/w przypadku obcokrajowców z pobytem stałym zagranicznym 000+3znakowy symbol kraju pobytu stałego</xs:documentation>
					</xs:annotation>
				</xs:element>
            </xs:sequence>
          </xs:complexType>
        </xs:element>
      </xs:sequence>
    </xs:complexType>
    <xs:key name="klpue">
      <xs:selector xpath="row"/>
      <xs:field xpath="lpue"/>
    </xs:key>
  </xs:element>
</xs:schema>
