<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns="http://intermediacion.redsara.es/scsp/esquemas/datosespecificos" targetNamespace="http://intermediacion.redsara.es/scsp/esquemas/datosespecificos" elementFormDefault="qualified" attributeFormDefault="unqualified">
	<xs:element name="DatosEspecificos">
		<xs:complexType>
			<xs:choice>
				<xs:element ref="Consulta"/>
				<xs:element ref="Retorno"/>
			</xs:choice>
			<xs:attribute name="Id" type="xs:string" use="optional"/>
		</xs:complexType>
	</xs:element>
	<xs:element name="Consulta">
		<xs:annotation>
			<xs:documentation>Datos de consulta para el servicio</xs:documentation>
		</xs:annotation>
		<xs:complexType>
			<xs:all>
				<xs:element ref="NumeroSoporte"/>
			</xs:all>
		</xs:complexType>
	</xs:element>
	<!-- Consulta -->
	<xs:element name="NumeroSoporte">
		<xs:annotation>
			<xs:documentation>Número de soporte del documento del ciudadano extranjero a consultar</xs:documentation>
		</xs:annotation>
		<xs:simpleType>
			<xs:restriction base="xs:string">
				<xs:pattern value="[E|C]\d{8}"/>
			</xs:restriction>
		</xs:simpleType>
	</xs:element>
	<!-- Retorno -->
	<xs:element name="Retorno">
		<xs:annotation>
			<xs:documentation>Datos de retorno para el servicio</xs:documentation>
		</xs:annotation>
		<xs:complexType>
			<xs:all>
				<xs:element name="Estado">
					<xs:annotation>
						<xs:documentation>Estado de la respuesta</xs:documentation>
					</xs:annotation>
					<xs:complexType>
						<xs:all>
							<xs:element ref="CodigoEstado"/>
							<xs:element ref="CodigoEstadoSecundario" minOccurs="0"/>
							<xs:element ref="LiteralError"/>
						</xs:all>
					</xs:complexType>
				</xs:element>
				<xs:element ref="Filiaciones" minOccurs="0"/>
				<xs:element ref="Tarjetas" minOccurs="0"/>
				<xs:element ref="DNINacionalizado" minOccurs="0"/>
				<xs:element name="NIEUltimoSoporte" type="Documentacion" minOccurs="0"/>
			</xs:all>
		</xs:complexType>
	</xs:element>
	<xs:element name="CodigoEstado">
		<xs:annotation>
			<xs:documentation>Codigo de estado de la transmisión</xs:documentation>
		</xs:annotation>
		<xs:simpleType>
			<xs:restriction base="xs:string">
				<xs:maxLength value="4"/>
			</xs:restriction>
		</xs:simpleType>
	</xs:element>
	<xs:element name="CodigoEstadoSecundario">
		<xs:annotation>
			<xs:documentation>Codigo de estado secundario de la transmisión</xs:documentation>
		</xs:annotation>
		<xs:simpleType>
			<xs:restriction base="xs:string">
				<xs:minLength value="1"/>
				<xs:maxLength value="10"/>
			</xs:restriction>
		</xs:simpleType>
	</xs:element>
	<xs:element name="LiteralError">
		<xs:annotation>
			<xs:documentation>Descripcion del estado</xs:documentation>
		</xs:annotation>
		<xs:simpleType>
			<xs:restriction base="xs:string">
				<xs:minLength value="1"/>
				<xs:maxLength value="1024"/>
			</xs:restriction>
		</xs:simpleType>
	</xs:element>
	<xs:element name="Filiaciones">
		<xs:annotation>
			<xs:documentation>Lista de filiaciones</xs:documentation>
		</xs:annotation>
		<xs:complexType>
			<xs:sequence>
				<xs:element ref="Filiacion" minOccurs="1" maxOccurs="unbounded"/>
			</xs:sequence>
		</xs:complexType>
	</xs:element>
	<xs:element name="Filiacion">
		<xs:complexType>
			<xs:all>
				<xs:element name="TipoDocumentacion" type="TipoDocumentacion" minOccurs="0"/>
				<xs:element name="Documentacion" type="Documentacion" minOccurs="0"/>
				<xs:element name="Nombre" type="Nombre"/>
				<xs:element ref="Apellidos" minOccurs="0"/>
				<xs:element ref="Nacimiento"/>
				<xs:element name="Nacionalidad" type="Nacionalidad"/>
				<xs:element name="NombrePadre" type="Nombre" minOccurs="0"/>
				<xs:element name="NombreMadre" type="Nombre" minOccurs="0"/>
				<xs:element ref="Sexo" minOccurs="0"/>
				<xs:element ref="EstadoCivil" minOccurs="0"/>
			</xs:all>
		</xs:complexType>
	</xs:element>
	<xs:element name="Tarjetas">
		<xs:annotation>
			<xs:documentation>Lista de tarjetas</xs:documentation>
		</xs:annotation>
		<xs:complexType>
			<xs:sequence>
				<xs:element ref="Tarjeta" minOccurs="1" maxOccurs="unbounded"/>
			</xs:sequence>
		</xs:complexType>
	</xs:element>
	<xs:element name="Tarjeta">
		<xs:complexType>
			<xs:all>
				<xs:element name="TipoDocumentacion" type="TipoDocumentacion" minOccurs="0"/>
				<xs:element name="Documentacion" type="Documentacion" minOccurs="0"/>
				<xs:element ref="NumeroSoporte"/>
				<xs:element ref="EstadoActual"/>
				<xs:element ref="Estados" minOccurs="0"/>
			</xs:all>
		</xs:complexType>
	</xs:element>
	<xs:element name="Estados">
		<xs:annotation>
			<xs:documentation>Lista de estados</xs:documentation>
		</xs:annotation>
		<xs:complexType>
			<xs:sequence>
				<xs:element name="Estado" type="FechasEstado" minOccurs="1" maxOccurs="unbounded"/>
			</xs:sequence>
		</xs:complexType>
	</xs:element>
	<xs:element name="Nacimiento">
		<xs:complexType>
			<xs:all>
				<xs:element name="Fecha" type="Fecha"/>
				<xs:element name="Pais" type="PaisNacimiento"/>
				<xs:element ref="Lugar"/>
			</xs:all>
		</xs:complexType>
	</xs:element>
	<xs:complexType name="PaisNacimiento">
		<xs:all>
			<xs:element name="Codigo" type="CodigoPais" minOccurs="0"/>
			<xs:element name="Literal" type="LiteralPais"/>
		</xs:all>
	</xs:complexType>
	<xs:simpleType name="CodigoPais">
		<xs:restriction base="xs:integer">
			<xs:pattern value="\d{3}"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="LiteralPais">
		<xs:restriction base="xs:string">
			<xs:minLength value="1"/>
			<xs:maxLength value="75"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:complexType name="Nacionalidad">
		<xs:all>
			<xs:element name="Codigo" type="CodigoPais" minOccurs="0"/>
			<xs:element name="Literal" type="LiteralPais"/>
		</xs:all>
	</xs:complexType>
	<xs:element name="Lugar">
		<xs:simpleType>
			<xs:restriction base="xs:string">
				<xs:minLength value="1"/>
				<xs:maxLength value="60"/>
			</xs:restriction>
		</xs:simpleType>
	</xs:element>
	<xs:simpleType name="TipoDocumentacion">
		<xs:restriction base="xs:string">
			<xs:enumeration value="NIE"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="Documentacion">
		<xs:restriction base="xs:string">
			<xs:minLength value="1"/>
			<xs:maxLength value="9"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="Nombre">
		<xs:restriction base="xs:string">
			<xs:minLength value="1"/>
			<xs:maxLength value="75"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:element name="Apellidos">
		<xs:simpleType>
			<xs:restriction base="xs:string">
				<xs:minLength value="1"/>
				<xs:maxLength value="150"/>
			</xs:restriction>
		</xs:simpleType>
	</xs:element>
	<xs:element name="Sexo">
		<xs:simpleType>
			<xs:restriction base="xs:string">
				<xs:enumeration value="M"/>
				<xs:enumeration value="F"/>
				<xs:enumeration value="I"/>
			</xs:restriction>
		</xs:simpleType>
	</xs:element>
	<xs:element name="EstadoCivil">
		<xs:simpleType>
			<xs:restriction base="xs:string">
				<xs:minLength value="1"/>
				<xs:maxLength value="50"/>
			</xs:restriction>
		</xs:simpleType>
	</xs:element>
	<xs:element name="EstadoActual">
		<xs:annotation>
			<xs:documentation>Estado actual del documento</xs:documentation>
		</xs:annotation>
		<xs:complexType>
			<xs:all>
				<xs:element ref="Codigo">
					<xs:annotation>
						<xs:documentation>Código del estado actual del documento</xs:documentation>
					</xs:annotation>
				</xs:element>
				<xs:element ref="Literal" minOccurs="0">
					<xs:annotation>
						<xs:documentation>Estado actual del documento</xs:documentation>
					</xs:annotation>
				</xs:element>
			</xs:all>
		</xs:complexType>
	</xs:element>
	<xs:complexType name="FechasEstado">
		<xs:all>
			<xs:element ref="Codigo"/>
			<xs:element ref="Literal"/>
			<xs:element ref="Fecha"/>
		</xs:all>
	</xs:complexType>
	<xs:element name="Fecha">
		<xs:simpleType>
			<xs:restriction base="xs:date"/>
		</xs:simpleType>
	</xs:element>
	<xs:simpleType name="Fecha">
		<xs:union memberTypes="FechaNacimiento MesNacimiento AnioNacimiento"/>
	</xs:simpleType>
	<xs:simpleType name="FechaNacimiento">
		<xs:restriction base="xs:date"/>
	</xs:simpleType>
	<xs:simpleType name="MesNacimiento">
		<xs:restriction base="xs:gYearMonth"/>
	</xs:simpleType>
	<xs:simpleType name="AnioNacimiento">
		<xs:restriction base="xs:gYear"/>
	</xs:simpleType>
	<xs:element name="Codigo">
		<xs:simpleType>
			<xs:restriction base="xs:string">
				<xs:length value="1"/>
				<xs:whiteSpace value="collapse"/>
			</xs:restriction>
		</xs:simpleType>
	</xs:element>
	<xs:element name="Literal">
		<xs:simpleType>
			<xs:restriction base="xs:string">
				<xs:minLength value="1"/>
				<xs:maxLength value="30"/>
				<xs:whiteSpace value="collapse"/>
			</xs:restriction>
		</xs:simpleType>
	</xs:element>
	<xs:element name="DNINacionalizado">
		<xs:simpleType>
			<xs:restriction base="xs:string">
				<xs:whiteSpace value="collapse"/>
				<xs:pattern value="[0-9]{8}[A-Z]"/>
			</xs:restriction>
		</xs:simpleType>
	</xs:element>
</xs:schema>
