<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:oso="http://crd.gov.pl/xml/schematy/osoba/2009/11/16/" xmlns:adr="http://crd.gov.pl/xml/schematy/adres/2009/11/09/" xmlns:inst="http://crd.gov.pl/xml/schematy/instytucja/2009/11/16/" xmlns:str="http://crd.gov.pl/xml/schematy/struktura/2009/11/16/" xmlns:ds="http://www.w3.org/2000/09/xmldsig#" xmlns:meta="http://crd.gov.pl/xml/schematy/meta/2009/11/16/" xmlns="http://pue.zus.pl/rd/ZUS-US-OPW-01/2/" targetNamespace="http://pue.zus.pl/rd/ZUS-US-OPW-01/2/" elementFormDefault="qualified" attributeFormDefault="unqualified">
    <xs:import namespace="http://crd.gov.pl/xml/schematy/adres/2009/11/09/" schemaLocation="http://crd.gov.pl/xml/schematy/adres/2009/11/09/adres.xsd"/>
    <xs:import namespace="http://crd.gov.pl/xml/schematy/osoba/2009/11/16/" schemaLocation="http://crd.gov.pl/xml/schematy/osoba/2009/11/16/osoba.xsd"/>
    <xs:import namespace="http://crd.gov.pl/xml/schematy/meta/2009/11/16/" schemaLocation="http://crd.gov.pl/xml/schematy/meta/2009/11/16/meta.xsd"/>
    <xs:import namespace="http://crd.gov.pl/xml/schematy/instytucja/2009/11/16/" schemaLocation="http://crd.gov.pl/xml/schematy/instytucja/2009/11/16/instytucja.xsd"/>
    <xs:import namespace="http://crd.gov.pl/xml/schematy/struktura/2009/11/16/" schemaLocation="http://crd.gov.pl/xml/schematy/struktura/2009/11/16/struktura.xsd"/>
    <xs:import namespace="http://www.w3.org/2000/09/xmldsig#" schemaLocation="http://www.w3.org/TR/xmldsig-core/xmldsig-core-schema.xsd"/>
    <xs:element name="Dokument" type="DokumentTyp"/>
    <xs:complexType name="DokumentTyp">
        <xs:sequence>
            <xs:element name="OpisDokumentu" type="str:OpisDokumentuTyp"/>
            <xs:element name="DaneDokumentu" type="str:DaneDokumentuTyp"/>
            <xs:element name="TrescDokumentu" type="TrescDokumentuTyp"/>
            <xs:element ref="ds:Signature" minOccurs="0"/>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="TrescDokumentuTyp">
        <xs:complexContent>
            <xs:extension base="str:TrescDokumentuTyp">
                <xs:sequence>
                    <xs:element name="OpcjaGlowna" type="OpcjaGlownaTyp" minOccurs="0"/>
                    <xs:element name="DaneIdentyfikacyjne" type="DaneIdentyfikacyjneTyp" minOccurs="0"/>
                    <xs:element name="Adres" type="AdresTyp" minOccurs="0"/>
                    <xs:element name="WspolnoscMajatkowa" type="TakNieTyp" minOccurs="0"/>
                    <xs:element name="SposobRegulacjiStosMajatkowychPowstanie" type="SposobRegulacjiStosMajatkowychTyp" minOccurs="0"/>
                    <xs:element name="SposobRegulacjiStosMajatkowychUstanie" type="SposobRegulacjiStosMajatkowychTyp" minOccurs="0"/>
                    <xs:element name="SposobRegulacjiStosMajatkowychInny" type="SposobRegulacjiStosMajatkowychTyp" minOccurs="0"/>
                    <xs:element name="Miejscowosc" type="MiejscowoscTyp" minOccurs="0"/>
                    <xs:element name="Data" type="xs:date" minOccurs="0"/>
                    <xs:element name="Zalaczniki" type="str:ZalacznikiTyp" minOccurs="0"/>
                </xs:sequence>
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>
    <xs:complexType name="TakNieTyp">
        <xs:sequence>
            <xs:element name="Tak" type="xs:boolean" minOccurs="0"/>
            <xs:element name="Nie" type="xs:boolean" minOccurs="0"/>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="OpcjaGlownaTyp">
        <xs:sequence>
            <xs:element name="OSWIADCZENIE" type="xs:boolean" minOccurs="0"/>
            <xs:element name="ZMIANA" type="xs:boolean" minOccurs="0"/>
        </xs:sequence>
    </xs:complexType>
    <xs:simpleType name="ZagranicznyKodPocztowyTyp">
        <xs:restriction base="xs:string">
            <xs:maxLength value="12"/>
        </xs:restriction>
    </xs:simpleType>
    <xs:simpleType name="RodzajDokumentuTyp">
        <xs:restriction base="xs:string">
            <xs:enumeration value="1"/>
            <xs:enumeration value="2"/>
        </xs:restriction>
    </xs:simpleType>
    <xs:simpleType name="NumerDomuTyp">
        <xs:restriction base="xs:string">
            <xs:maxLength value="10"/>
        </xs:restriction>
    </xs:simpleType>
    <xs:simpleType name="NazwiskoTyp">
        <xs:restriction base="xs:string">
            <xs:maxLength value="31"/>
        </xs:restriction>
    </xs:simpleType>
    <xs:simpleType name="ImieTyp">
        <xs:restriction base="xs:string">
            <xs:maxLength value="22"/>
        </xs:restriction>
    </xs:simpleType>
    <xs:simpleType name="NazwaPanstwaTyp">
        <xs:restriction base="xs:string">
            <xs:maxLength value="40"/>
        </xs:restriction>
    </xs:simpleType>
    <xs:simpleType name="NrDowoduTozsamosciTyp">
        <xs:restriction base="xs:string">
            <xs:maxLength value="15"/>
        </xs:restriction>
    </xs:simpleType>

    <xs:simpleType name="GminaTyp">
        <xs:restriction base="xs:string">
            <xs:maxLength value="26"/>
        </xs:restriction>
    </xs:simpleType>

    <xs:simpleType name="MiejscowoscTyp">
        <xs:restriction base="xs:string">
            <xs:maxLength value="26"/>
        </xs:restriction>
    </xs:simpleType>

    <xs:simpleType name="LokalTyp">
        <xs:restriction base="xs:string">
            <xs:maxLength value="10"/>
        </xs:restriction>
    </xs:simpleType>

    <xs:simpleType name="UlicaTyp">
        <xs:restriction base="xs:string">
            <xs:maxLength value="30"/>
        </xs:restriction>
    </xs:simpleType>

    <xs:simpleType name="PocztaTyp">
        <xs:restriction base="xs:string">
            <xs:maxLength value="26"/>
        </xs:restriction>
    </xs:simpleType>

    <xs:simpleType name="TelefonTyp">
        <xs:restriction base="xs:string">
            <xs:maxLength value="15"/>
        </xs:restriction>
    </xs:simpleType>

    <xs:simpleType name="EmailTyp">
        <xs:restriction base="xs:string">
            <xs:maxLength value="50"/>
			<xs:pattern value="[0-9a-zA-Z._\\/-]*[0-9a-zA-Z_-]+@([0-9a-zA-Z_\\/-]+[.])+[a-zA-Z]{2,6}"/>
        </xs:restriction>
    </xs:simpleType>

    <xs:simpleType name="KodPocztowyTyp">
        <xs:restriction base="xs:string">
            <xs:maxLength value="6"/>
            <xs:pattern value="[0-9]{2}-[0-9]{3}"/>
        </xs:restriction>
    </xs:simpleType>
    <xs:complexType name="SposobRegulacjiStosMajatkowychTyp">
         <xs:sequence>
			  <xs:element name="Istnienie" type="xs:boolean" minOccurs="0"/>
              <xs:element name="DataOd" type="xs:date" minOccurs="0"/>
         </xs:sequence>
    </xs:complexType>
    <xs:complexType name="DaneIdentyfikacyjneTyp">
        <xs:sequence>
            <xs:element name="Nazwisko" type="NazwiskoTyp" minOccurs="0"/>
            <xs:element name="Imie" type="ImieTyp" minOccurs="0"/>
            <xs:element name="ImieDrugie" type="ImieTyp" minOccurs="0"/>
            <xs:element name="DataUrodzenia" type="xs:date" minOccurs="0"/>
            <xs:element name="PESEL" type="oso:PESELTyp" minOccurs="0"/>
            <xs:element name="RodzajDokumentu" type="RodzajDokumentuTyp" minOccurs="0">
                <xs:annotation>
                    <xs:documentation>1-dowód osobisty; 2-paszport</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element name="SeriaINumerDokumentu" type="oso:NrDowoduTozsamosciTyp" minOccurs="0"/>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="AdresTyp">
        <xs:choice>
            <xs:sequence>
                <xs:element name="KodPocztowy" type="KodPocztowyTyp" minOccurs="0"/>
                <xs:element name="Poczta" type="PocztaTyp" minOccurs="0"/>
                <xs:element name="GminaDzielnica" type="GminaTyp" minOccurs="0"/>
                <xs:element name="Miejscowosc" type="MiejscowoscTyp" minOccurs="0"/>
                <xs:element name="Ulica" type="UlicaTyp" minOccurs="0"/>
                <xs:element name="NumerDomu" type="NumerDomuTyp" minOccurs="0"/>
                <xs:element name="NumerLokalu" type="LokalTyp" minOccurs="0"/>
                <xs:element name="NumerTelefonu" type="TelefonTyp" minOccurs="0"/>
                <xs:element name="SymbolPanstwa" type="adr:KrajTyp" minOccurs="0"/>
                <xs:element name="ZagranicznyKodPocztowy" type="ZagranicznyKodPocztowyTyp" minOccurs="0"/>
                <xs:element name="NazwaPanstwa" type="NazwaPanstwaTyp" minOccurs="0"/>
                <xs:element name="AdresPocztyElektronicznej" type="EmailTyp" minOccurs="0"/>
            </xs:sequence>
        </xs:choice>
    </xs:complexType>
</xs:schema>