<?xml version="1.0" encoding="UTF-8"?>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:mc="http://www.mc.gov.pl/standardy/mc" targetNamespace="http://www.mc.gov.pl/standardy/mc" elementFormDefault="qualified">
	<xsd:element name="dokumentacjaPracownicza">
		<xsd:complexType>
			<xsd:sequence>
				<xsd:element name="identyfikatorDokumentacji" type="xsd:string" minOccurs="1" maxOccurs="1"/>
				<xsd:element name="dataEksportu" type="xsd:date" minOccurs="1" maxOccurs="1"/>
				<!--data utworzenia elektronicznego zbioru dokumentów -->
				<xsd:element name="nazwaPracodawcy" type="xsd:string" minOccurs="1" maxOccurs="1"/>
				<xsd:element name="pracownik" type="mc:pracownik" minOccurs="1" maxOccurs="1"/>
				<xsd:choice>
					<xsd:element name="aktaOsobowe" type="mc:aktaOsobowe"/>
					<xsd:element name="dokumentStosunekPracy" type="mc:dokumentStosunekPracy"/>
				</xsd:choice>
			</xsd:sequence>
		</xsd:complexType>
	</xsd:element>
	<xsd:complexType name="pracownik">
		<xsd:sequence>
			<xsd:element name="nazwisko" type="xsd:string" minOccurs="0" maxOccurs="1"/>
			<!-- nazwiska rozdzielone znakiem - -->
			<xsd:element name="imie" type="xsd:string" minOccurs="1" maxOccurs="1"/>
			<!-- imiona rozdzielone spacją -->
			<xsd:choice>
                <xsd:element name="PESEL">
                   <xsd:simpleType>
                    <xsd:restriction base="xsd:string">
                      <xsd:minLength value="11"/>
                      <xsd:maxLength value="11"/>
                    </xsd:restriction>
                  </xsd:simpleType>
                </xsd:element>
                <xsd:element name="dokumentTozsamosci">
                    <xsd:complexType>
                        <xsd:sequence>
                          <xsd:element name="rodzaj" type="xsd:string" minOccurs="1" maxOccurs="1"/>
                          <xsd:element name="numer" type="xsd:string" minOccurs="1" maxOccurs="1"/>
                        </xsd:sequence>
                    </xsd:complexType>
                </xsd:element>
            </xsd:choice>
        </xsd:sequence>
    </xsd:complexType>
    
    <xsd:complexType name="dokument">
        <xsd:sequence>
            <xsd:element name="identyfikatorDokumentu" type="xsd:string" minOccurs="1" maxOccurs="1"/>                
            <xsd:element name="dataUtworzeniaDokumentu" type="xsd:date" minOccurs="1" maxOccurs="1"/>   
			<!--w przypadku gdy jest to dokument pierwotnie utrwalony w postaci papierowej - datę na dokumencie,- w przypadku gdy jest to dokument pierwotnie utrwalony w postaci elektronicznej - datę wskazaną w treści dokumentu lub, w przypadku gdy nie zawiera daty w treści, tylko w metadanych - datę utworzenia dokumentu-->
            <xsd:element name="dataPieczeci" type="xsd:date" minOccurs="0" maxOccurs="1"/> 
			<!--data opatrzenia odwzorowania cyfrowego kwalifikowaną pieczęcią elektroniczną pracodawcy albo kwalifikowanym podpisem elektronicznym pracodawcy, albo osoby upoważnionej przez pracodawcę – w przypadku, gdy jest to odwzorowanie cyfrowe dokumentu w postaci papierowej-->
            <xsd:element name="opisDokumentu" type="xsd:string" minOccurs="0" maxOccurs="1"/> 
			<!--opis dokumentu wskazujący czym jest dokument zgodnie z wykazem stosowanym u pracodawcy-->
        </xsd:sequence>
    </xsd:complexType>
    
    <xsd:complexType name="aktaOsobowe"> 
        <xsd:complexContent>       
            <xsd:extension base="mc:dokument">
                <xsd:sequence>                
                    <xsd:element name="rodzajDokumentu" type="mc:rodzajDokumentu" minOccurs="1" maxOccurs="1"/>                
                </xsd:sequence>
            </xsd:extension>
        </xsd:complexContent>
    </xsd:complexType>
    
    <xsd:complexType name="rodzajDokumentu">
        <xsd:choice>
            <xsd:element name="czescA" type="mc:rodzajModelA"/>
            <xsd:element name="czescB" type="mc:rodzajModelB"/>
            <xsd:element name="czescC" type="mc:rodzajModelC"/>
            <xsd:element name="czescD" type="mc:rodzajModelD"/>
<xsd:element name="czescE" type="mc:rodzajModelE"/>  
        </xsd:choice>
    </xsd:complexType> 
    
    <xsd:complexType name="dokumentStosunekPracy"> 
        <xsd:complexContent>       
            <xsd:extension base="mc:dokument">
                <xsd:choice>                
                    <xsd:element name="stosunekPracyPodstawowy" type="mc:stosunekPracyPodstawowy" minOccurs="1" maxOccurs="1"/>  
                    <xsd:element name="stosunekPracyRozszerzony" type="mc:stosunekPracyRozszerzony" minOccurs="1" maxOccurs="1"/>              
                </xsd:choice>
            </xsd:extension>
        </xsd:complexContent>
    </xsd:complexType>
    
    <xsd:complexType name="rodzajAtrybut">
      <xsd:simpleContent>
        <xsd:extension base="xsd:string">
          <xsd:attribute name="rodzaj" use="optional">
            <xsd:simpleType>
              <xsd:restriction base="xsd:string">
                <xsd:pattern value="[a-zA-Z]{1}"/>
              </xsd:restriction>
            </xsd:simpleType>
          </xsd:attribute>
        </xsd:extension>
      </xsd:simpleContent>
    </xsd:complexType>
    
    <xsd:simpleType name="rodzajModelA">
      <xsd:restriction base="xsd:string">
        <xsd:pattern value="[aA]\d{0,2}"/>
      </xsd:restriction>
    </xsd:simpleType>
    
    <xsd:complexType name="rodzajModelB">
      <xsd:simpleContent>
        <xsd:restriction base="mc:rodzajAtrybut">
          <xsd:pattern value="[bB]\d{0,2}[a-zA-Z]{1}"/> 
        </xsd:restriction>
      </xsd:simpleContent>
    </xsd:complexType>
    
    <xsd:complexType name="rodzajModelC">
      <xsd:simpleContent>
        <xsd:restriction base="mc:rodzajAtrybut">
          <xsd:pattern value="[cC]\d{0,2}[a-zA-Z]{1}"/> 
        </xsd:restriction>
      </xsd:simpleContent>
    </xsd:complexType>
    
    <xsd:simpleType name="rodzajModelD">
      <xsd:restriction base="xsd:string">
        <xsd:pattern value="[dD]\d{1,2}"/>
      </xsd:restriction>
    </xsd:simpleType>

	<xsd:complexType name="rodzajModelE">
      <xsd:simpleContent>
        <xsd:restriction base="mc:rodzajAtrybut">
          <xsd:pattern value="[eE]\d{1,2}[a-zA-Z]{1}"/>
        </xsd:restriction>
      </xsd:simpleContent>
    </xsd:complexType>

    
    <xsd:simpleType name="stosunekPracyPodstawowy">       
        <xsd:restriction base="xsd:string">
          <xsd:pattern value="6pkt[234]"/>
        </xsd:restriction>     
    </xsd:simpleType>
    
    <xsd:simpleType name="stosunekPracy">       
        <xsd:restriction base="xsd:string">
          <xsd:pattern value="6pkt1[a-dA-D]{1}"/> 
        </xsd:restriction>     
    </xsd:simpleType> 
      
    <xsd:complexType name="stosunekPracyRozszerzony">
      <xsd:simpleContent>
        <xsd:extension base="mc:stosunekPracy">
          <xsd:attribute name="rodzaj" use="optional">
            <xsd:simpleType>
              <xsd:restriction base="xsd:string">
                <xsd:pattern value="[a-dA-D]{1}"/> 
              </xsd:restriction>
            </xsd:simpleType>
          </xsd:attribute>
        </xsd:extension>
      </xsd:simpleContent>
    </xsd:complexType>      
            
</xsd:schema>

