﻿<?xml version="1.0" encoding="utf-8"?>
<xs:schema attributeFormDefault="unqualified" elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema">
  <xs:element name="ImportAzienda">
    <xs:complexType>
      <xs:sequence>
        <xs:element maxOccurs="unbounded" name="Dipendente">
          <xs:complexType>
            <xs:sequence>
              <xs:element name="MatricolaInps">
                <xs:simpleType>
                  <xs:restriction base="xs:string">
                    <xs:length value="10"/>
                  </xs:restriction>
                </xs:simpleType>
              </xs:element>
              <xs:element name="CodiceFiscale">
                <xs:simpleType>
                  <xs:restriction base="xs:string">
                    <xs:length value="16"/>
                  </xs:restriction>
                </xs:simpleType>
              </xs:element>
              <xs:element name="Nome">
                <xs:simpleType>
                  <xs:restriction base="xs:string">
                    <xs:minLength value="2"/>
                    <xs:maxLength value="100"/>
					          <xs:pattern value="[a-zA-Z '-]*"/>
                  </xs:restriction>
                </xs:simpleType>
              </xs:element>
              <xs:element name="Cognome">
                <xs:simpleType>
                  <xs:restriction base="xs:string">
                    <xs:minLength value="2"/>
                    <xs:maxLength value="100"/>
					          <xs:pattern value="[a-zA-Z '-]*"/>
                  </xs:restriction>
                </xs:simpleType>
              </xs:element>
              <xs:element name="Sesso">
                <xs:simpleType>
                  <xs:restriction base="xs:string">
                    <xs:length value="1"/>
                    <xs:pattern value="[MF]{1}"/>
                  </xs:restriction>
                </xs:simpleType>
              </xs:element>
              <xs:element name="DataNascita" type="xs:date" />
              <xs:element name="ComuneNascita">
                <xs:simpleType>
                  <xs:restriction base="xs:string">
                    <xs:length value="4"/>
                    <xs:pattern value="[A-Za-z]{1}[0-9]{3}"/>
                  </xs:restriction>
                </xs:simpleType>
              </xs:element>
              <xs:element name="ResidenzaIndirizzo">
                <xs:simpleType>
                  <xs:restriction base="xs:string">
                    <xs:minLength value="2"/>
                    <xs:maxLength value="100"/>
					          <xs:pattern value="([,-9]|[a-z]|[A-Z]|[' /\\])*"/>
                  </xs:restriction>
                </xs:simpleType>
              </xs:element>
              <xs:element name="ResidenzaCAP">
                <xs:simpleType>
                  <xs:restriction base="xs:string">
                    <xs:pattern value="[0-9]{5}"/>
                  </xs:restriction>
                </xs:simpleType>
              </xs:element>
              <xs:element name="ResidenzaComune">
                <xs:simpleType>
                  <xs:restriction base="xs:string">
                    <xs:length value="4"/>
                    <xs:pattern value="[A-Za-z]{1}[0-9]{3}"/>
                  </xs:restriction>
                </xs:simpleType>
              </xs:element>
	      <xs:element name="PianoSanitario">
                <xs:simpleType>
                  <xs:restriction base="xs:string">
                    <xs:enumeration value="Lavoratore Base Trimestrale"/>
		    </xs:restriction>
                </xs:simpleType>
              </xs:element>              
	      <xs:element name="CCNL">
                <xs:simpleType>
                  <xs:restriction base="xs:string">
                    <xs:enumeration value="C01"/>
		    <xs:enumeration value="C02"/>
                  </xs:restriction>
                </xs:simpleType>
              </xs:element>              
              <xs:element name="RegimeOrario">
                <xs:simpleType>
                  <xs:restriction base="xs:string">
                    <xs:enumeration value="PT"/>
                    <xs:enumeration value="FT"/>
                  </xs:restriction>
                </xs:simpleType>
              </xs:element>
              <xs:element name="DataAssunzione" type="xs:date" />
              <xs:element name="DataCessazione" type="xs:date"  minOccurs="0"/>
	      <xs:element name="IBAN" minOccurs="0">
                <xs:simpleType>
                  <xs:restriction base="xs:string">
                    <xs:length value="27"/>
                    <xs:pattern value="(?i)(IT|SM)\d{2}[A-Z]\d{10}[A-Z0-9]{12}"/>
                  </xs:restriction>
                </xs:simpleType>
              </xs:element>
              <xs:element name="Telefono" minOccurs="0">
                <xs:simpleType>
                  <xs:restriction base="xs:string">
                    <xs:maxLength value="20"/>
                    <xs:pattern value="(\+)?\d*"/>
                  </xs:restriction>
                </xs:simpleType>
              </xs:element>
              <xs:element name="Cellulare" minOccurs="0">
                <xs:simpleType>
                  <xs:restriction base="xs:string">
                    <xs:maxLength value="20"/>
                    <xs:pattern value="(\+)?\d*"/>
                  </xs:restriction>
                </xs:simpleType>
              </xs:element>
              <xs:element name="Email" minOccurs="0">
                <xs:simpleType>
                  <xs:restriction base="xs:string">
                    <xs:pattern value="\w+[\w-\.]*\@(?:[A-Za-z0-9-]+\.)+[A-Za-z]{2,4}"/>
                  </xs:restriction>
                </xs:simpleType>
              </xs:element>     
            </xs:sequence>
          </xs:complexType>
        </xs:element>
      </xs:sequence>
    </xs:complexType>
  </xs:element>
</xs:schema>