﻿<?xml version="1.0" encoding="utf-8"?>
<xs:schema xmlns="http://www.fundaciontripartita.es/schemas" xmlns:xs="http://www.w3.org/2001/XMLSchema" targetNamespace="http://www.fundaciontripartita.es/schemas" elementFormDefault="qualified">
	<!-- TIPOS SIMPLES -->
	<xs:annotation>
		<xs:documentation>Esquema XML para la finalización masiva de grupos de una empresa bonificada.</xs:documentation>
	</xs:annotation>
	<xs:simpleType name="t_idAccion">
		<xs:restriction base="xs:string">
			<xs:maxLength value="5"/>
			<xs:minLength value="1"/>
			<xs:whiteSpace value="collapse"/>
			<xs:pattern value="[0-9]{1,5}"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="t_nif">
		<xs:restriction base="xs:string">
			<xs:length value="9"/>
			<xs:pattern value="([XxYyZzKkLlMm]|[0-9])[0-9]{7}([a-z]|[A-Z])"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="t_cif">
		<xs:restriction base="xs:string">
			<xs:length value="9"/>
			<xs:pattern value="[AaBbCcDdEeFfGgHhKkLlMmNnPpQqSsJjUuVvWwRr][0-9]{7}[AaBbCcDdEeFfGgHhIiJj0123456789]"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="t_cif_nif">
		<xs:union memberTypes="t_cif t_nif"/>
	</xs:simpleType>
	<xs:simpleType name="t_niss">
		<xs:restriction base="xs:string">
			<xs:pattern value="\d{12}"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="t_ctaCotiz">
		<xs:restriction base="xs:string">
			<xs:pattern value="[0-9]{1,20}"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="t_fecha">
		<xs:restriction base="xs:string">
			<xs:pattern value="(((0?[1-9]|[12][0-9]|3[01])(/)(0?[13578]|10|12)(/)(\d{4}))|(([0]?[1-9]|[12][0-9]|30)(/)(0?[469]|11)(/)(\d{4}))|((0?[1-9]|1[0-9]|2[0-8])(/)(0?2)(/)(\d{4}))|((29)(\.|-|/)(0?2)(/)([02468][048]00))|((29)(/)(0?2)(/)([13579][26]00))|((29)(/)(0?2)(/)([0-9][0-9][0][48]))|((29)(/)(0?2)(/)([0-9][0-9][2468][048]))|((29)(/)(0?2)(/)([0-9][0-9][13579][26])))"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="t_sexo">
		<xs:restriction base="xs:string">
			<xs:enumeration value="M"/>
			<xs:enumeration value="F"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="t_decimal">
		<xs:restriction base="xs:decimal">
			<xs:minInclusive value="0"/>
			<xs:pattern value="[0-9]{0,7}([.][0-9]{0,2}){0,1}"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="t_categoriaprofesional">
		<xs:restriction base="xs:int">
			<xs:minInclusive value="1"/>
			<xs:maxInclusive value="5"/>
			<xs:totalDigits value="1"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="t_grupocotizacion">
		<xs:restriction base="xs:int">
			<xs:minInclusive value="1"/>
			<xs:maxInclusive value="11"/>
			<xs:totalDigits value="2"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="t_nivelestudios">
		<xs:restriction base="xs:int">
			<xs:minInclusive value="1"/>
			<xs:maxInclusive value="10"/>
			<xs:totalDigits value="2"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="t_idGrupo">
		<xs:restriction base="xs:string">
			<xs:maxLength value="5"/>
			<xs:minLength value="1"/>
			<xs:whiteSpace value="collapse"/>
			<xs:pattern value="[0-9]{1,11}"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="t_cadena50">
		<xs:restriction base="xs:string">
			<xs:maxLength value="50"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="t_cadena30">
		<xs:restriction base="xs:string">
			<xs:maxLength value="30"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="t_email">
		<xs:restriction base="xs:string">
			<xs:pattern value="[A-Za-z0-9_]+([-+.'][A-Za-z0-9_]+)*@[A-Za-z0-9_]+([-.][A-Za-z0-9_]+)*\.[A-Za-z0-9_]+([-.][A-Za-z0-9_]+)*"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="t_telefono">
		<xs:restriction base="xs:string">
			<xs:pattern value="[0-9]{9,12}"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="t_id">
		<xs:restriction base="xs:int">
			<xs:minExclusive value="0"/>
			<xs:maxExclusive value="100"/>
			<xs:totalDigits value="2"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="t_mes">
		<xs:restriction base="xs:int">
			<xs:minInclusive value="1"/>
			<xs:maxInclusive value="12"/>
			<xs:totalDigits value="2"/>
		</xs:restriction>
	</xs:simpleType>
	<!--El tipo de documento será opcional en el ejercicio 2010. En sucesivos ejercicios
  será obligatorio. Los posibles valores son 10 - NIF y 60 - NIE-->
	<xs:simpleType name="t_tipo_documento">
		<xs:restriction base="xs:int">
			<xs:pattern value="[16]{1}[0]{1}"/>
		</xs:restriction>
	</xs:simpleType>
	<!-- TIPOS COMPLEJOS -->
	<xs:complexType name="t_participante">
		<xs:sequence>
			<xs:element name="nif" type="t_nif"/>
			<xs:element name="N_TIPO_DOCUMENTO" type="t_tipo_documento"/>
			<xs:element name="nombre" type="t_cadena50"/>
			<xs:element name="primerApellido" type="t_cadena30"/>
			<xs:element name="segundoApellido" type="t_cadena30"/>
			<xs:element name="niss" type="t_niss"/>
			<xs:element name="cifEmpresa" type="t_cif_nif"/>
			<xs:element name="ctaCotizacion" type="t_ctaCotiz"/>
			<xs:element name="fechaNacimiento" type="t_fecha"/>
			<xs:element name="sexo" type="t_sexo"/>
			<xs:element name="email" type="t_email"/>
			<xs:element name="telefono" type="t_telefono"/>
			<xs:element name="discapacidad" type="xs:boolean"/>
			<xs:element name="afectadosTerrorismo" type="xs:boolean"/>
			<xs:element name="afectadosViolenciaGenero" type="xs:boolean"/>
			<xs:element name="categoriaprofesional" type="t_categoriaprofesional"/>
			<xs:element name="grupocotizacion" type="t_grupocotizacion"/>
			<xs:element name="nivelestudios" type="t_nivelestudios"/>
			<xs:element name="fechaInicioTeleformacion" type="t_fecha" maxOccurs="1" minOccurs="0"/>
			<xs:element name="fechaFinTeleformacion" type="t_fecha" maxOccurs="1" minOccurs="0"/>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="t_coste">
		<xs:sequence>
			<xs:element name="directos" type="t_decimal"/>
			<xs:element name="indirectos" type="t_decimal"/>
			<xs:element name="salariales" type="t_decimal"/>
			<xs:element name="periodos" type="t_periodos" minOccurs="0"/>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="t_periodo">
		<xs:sequence>
			<xs:element name="mes" type="t_mes"/>
			<xs:element name="importe" type="t_decimal"/>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="t_periodos">
		<xs:sequence>
			<xs:element name="periodo" type="t_periodo" maxOccurs="unbounded"/>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="t_costes">
		<xs:sequence>
			<xs:element name="coste" type="t_coste" maxOccurs="unbounded"/>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="t_participantes">
		<xs:sequence>
			<xs:element name="participante" type="t_participante" maxOccurs="unbounded"/>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="t_grupo">
		<xs:sequence>
			<xs:element name="idAccion" type="t_idAccion"/>
			<xs:element name="idGrupo" type="t_idGrupo"/>
			<xs:element name="participantes" type="t_participantes"/>
			<xs:element name="costes" type="t_costes"/>
		</xs:sequence>
	</xs:complexType>
	<!-- ESQUEMA -->
  <xs:element name="grupos">
    <xs:complexType>
      <xs:sequence>
        <xs:element name="grupo" type="t_grupo" maxOccurs="unbounded"/>
      </xs:sequence>
    </xs:complexType>
  </xs:element>
</xs:schema>
