<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified"
	attributeFormDefault="unqualified">

	<xs:element name="RelacionConvenios">
		<xs:annotation>
			<xs:documentation>Relación Anual de Convenios de las Entidades Locales.
			</xs:documentation>
		</xs:annotation>
		<xs:complexType>
			<xs:sequence>
				<xs:element name="NIF" type="TipoNIF" maxOccurs="1"
					minOccurs="1">
					<xs:annotation>
						<xs:documentation>NIF de la Entidad que comunica el convenio
						</xs:documentation>
					</xs:annotation>
				</xs:element>
				<xs:element name="TipoEntidad" type="TipoEntidad"
					minOccurs="1" maxOccurs="1">
					<xs:annotation>
						<xs:documentation>Tipo de Entidad de la Entidad que comunica el convenio
						</xs:documentation>
					</xs:annotation>
				</xs:element>
				<xs:element name="NomEntidad" type="TipoTexto" maxOccurs="1"
					minOccurs="1">
					<xs:annotation>
						<xs:documentation>Nombre de la Entidad que comunica el convenio
						</xs:documentation>
					</xs:annotation>
				</xs:element>
				<xs:element name="Ejercicio" type="TipoEjercicio"
					minOccurs="1" maxOccurs="1">
					<xs:annotation>
						<xs:documentation>Ejercicio de los convenios perteneciente a la
							relación anual de convenios.
						</xs:documentation>
					</xs:annotation>
				</xs:element>
				<xs:element name="Convenio" minOccurs="1" maxOccurs="unbounded">
					<xs:annotation>
						<xs:documentation>Información del convenio</xs:documentation>
					</xs:annotation>
					<xs:complexType>
						<xs:sequence>
							<xs:element name="Referencia" type="TipoReferencia"
								minOccurs="1" maxOccurs="1">
								<xs:annotation>
									<xs:documentation>Número de referencia del convenio
									</xs:documentation>
								</xs:annotation>
							</xs:element>
							<xs:element name="Objeto" type="TipoObjeto" maxOccurs="1" minOccurs="1">
								<xs:annotation>
									<xs:documentation>Objeto del convenio</xs:documentation>
								</xs:annotation>
							</xs:element>
							<xs:element name="CompromisosEconomicos" type="TipoInformativo" minOccurs="1" maxOccurs="1">
								<xs:annotation>
									<xs:documentation>Indicador de si hay compromisos económicos asumidos por las entidades firmantes
									</xs:documentation>
								</xs:annotation>
							</xs:element>
							<xs:element name="ImporteEntidadesFirmantes" type="TipoImporte" minOccurs="0" maxOccurs="1">
								<xs:annotation>
									<xs:documentation>Importe de los compromisos económicos asumidos por las entidades firmantes
									</xs:documentation>
								</xs:annotation>
							</xs:element>
							<xs:element name="CompromisosEconomicosEntidad" type="TipoInformativo" minOccurs="1" maxOccurs="1">
								<xs:annotation>
									<xs:documentation>Indicador de si hay compromisos económicos asumidos por la entidad local
									</xs:documentation>
								</xs:annotation>
							</xs:element>
							<xs:element name="ImporteEntidadLocal" type="TipoImporte" minOccurs="0" maxOccurs="1">
								<xs:annotation>
									<xs:documentation>Importe de los compromisos económicos asumidos por las entidad local
									</xs:documentation>
								</xs:annotation>
							</xs:element>
							<xs:element name="ValoracionImpacto" type="TipoInformativo" minOccurs="1" maxOccurs="1">
								<xs:annotation>
									<xs:documentation>Valoración del impacto económico que figura en la memoria
									</xs:documentation>
								</xs:annotation>
							</xs:element>
							<xs:element name="ImporteValoracionImpacto" type="TipoImporte" minOccurs="0" maxOccurs="1">
								<xs:annotation>
									<xs:documentation>Importe de la valoración del impacto económico que figura en la memoria
									</xs:documentation>
								</xs:annotation>
							</xs:element>
							<xs:element name="FechaFormalizacion" type="TipoFecha" minOccurs="1" maxOccurs="1" >
								<xs:annotation>
									<xs:documentation>Fecha de Formalizacion del convenio
									</xs:documentation>
								</xs:annotation>
							</xs:element>
							<xs:element name="PlazoVigencia" type="TipoTemporal" minOccurs="1" maxOccurs="1" >
								<xs:annotation>
									<xs:documentation>Plazo de vigencia en meses, puede estar indicado con decimales.
									</xs:documentation>
								</xs:annotation>
							</xs:element>
							<xs:element name="ClausulaProrroga" type="TipoInformativo" minOccurs="1" maxOccurs="1">
								<xs:annotation>
									<xs:documentation>Indicador de si el convenio tiene claúsula de prórroga o no.
									</xs:documentation>
								</xs:annotation>
							</xs:element>
							<xs:element name="PlazoProrroga" type="TipoTemporal" minOccurs="0" maxOccurs="1" >
								<xs:annotation>
									<xs:documentation>Tiempo de prórroga en meses, puede estar indicado con decimales.
									</xs:documentation>
								</xs:annotation>
							</xs:element>
							<xs:element name="ComisionSeguimiento" type="TipoInformativo" minOccurs="1" maxOccurs="1">
								<xs:annotation>
									<xs:documentation>Indicador de si tiene comisión de seguimiento el convenio
									</xs:documentation>
								</xs:annotation>
							</xs:element>
							<xs:element name="Observaciones" type="TipoObservaciones" minOccurs="0" maxOccurs="1">
								<xs:annotation>
									<xs:documentation>Observaciones del convenio.
									</xs:documentation>
								</xs:annotation>
							</xs:element>
							<xs:element name="EntidadFirmante" minOccurs="1" maxOccurs="unbounded">
								<xs:annotation>
										<xs:documentation>Entidades Firmantes del convenio</xs:documentation>
								</xs:annotation>
								<xs:complexType>
									<xs:sequence>
										<xs:element name="NIF" type="TipoNIF" maxOccurs="1" minOccurs="1">
											<xs:annotation>
												<xs:documentation>NIF del Contratista.</xs:documentation>
											</xs:annotation>
										</xs:element>
										<xs:element name="Denominacion" type="TipoDenominacion" minOccurs="1" maxOccurs="1">
											<xs:annotation>
												<xs:documentation>Adjudicatario del Contratista.
												</xs:documentation>
											</xs:annotation>
										</xs:element>
									</xs:sequence>
								</xs:complexType>
							</xs:element>
						</xs:sequence>
					</xs:complexType>
				</xs:element>
			</xs:sequence>
		</xs:complexType>
	</xs:element>
	
	<xs:simpleType name="TipoNIF">
		<xs:restriction base="xs:string">
			<xs:pattern
				value="[a-zA-Z_0-9]{8,20}" />
		</xs:restriction>
	</xs:simpleType>

	<xs:simpleType name="TipoEjercicio">
		<xs:restriction base="xs:string">
			<xs:pattern value="[0-9]{4}" />
		</xs:restriction>
	</xs:simpleType>

	<xs:simpleType name="TipoEntidad">
		<xs:annotation>
			<xs:documentation>
				Tipo de Entidad.
				Los valores posibles son:
				A - Ayuntamiento
				B - Cabildo
				C - Consorcio
				D - Diputación Provincial
				E - Entidad Local Menor
				G - Agrupación De Municipios
				H - Fundación
				I - Epe
				J - Consejo Insular
				M - Mancomunidad
				N - Otras Sin Ánimo De Lucro
				O - Organismo Autónomo
				P - Sociedad Mercantil
				R - Comarca
				T - Área Metropolitana
			</xs:documentation>
		</xs:annotation>
		<xs:restriction base="xs:string">
			<xs:enumeration value="A" />
			<xs:enumeration value="B" />
			<xs:enumeration value="C" />
			<xs:enumeration value="D" />
			<xs:enumeration value="E" />
			<xs:enumeration value="G" />
			<xs:enumeration value="H" />
			<xs:enumeration value="I" />
			<xs:enumeration value="J" />
			<xs:enumeration value="M" />
			<xs:enumeration value="N" />
			<xs:enumeration value="O" />
			<xs:enumeration value="P" />
			<xs:enumeration value="R" />
			<xs:enumeration value="T" />
		</xs:restriction>
	</xs:simpleType>

	<xs:simpleType name="TipoTexto">
		<xs:restriction base="xs:string">
			<xs:minLength value="1" />
			<xs:pattern
				value="[0-9a-zA-ZñáàéèíìóòúùÁÉÍÓÚÑü\s/çÇ¡!¿=\?%€@#,;:\.\-_'\*\+\(\) ÀÈÌÒÙÜ’´´`·äëïöÄËÏÖ“”’]+" />
		</xs:restriction>
	</xs:simpleType>

	<xs:simpleType name="TipoReferencia">
		<xs:restriction base="TipoTexto">
			<xs:minLength value="1" />
			<xs:maxLength value="50" />
		</xs:restriction>
	</xs:simpleType>

	<xs:simpleType name="TipoInformativo">
		<xs:annotation>
			<xs:documentation>
				Tipo Informativo.
				Los valores posibles son:
				1 - Sí.
				2 - No.
			</xs:documentation>
		</xs:annotation>
		<xs:restriction base="xs:string">
			<xs:enumeration value="1" />
			<xs:enumeration value="2" />
		</xs:restriction>
	</xs:simpleType>

	<xs:simpleType name="TipoObjeto">
		<xs:restriction base="TipoTexto">
			<xs:minLength value="1" />
			<xs:maxLength value="960" />
		</xs:restriction>
	</xs:simpleType>

	<xs:simpleType name="TipoNumeroDecimal">
		<xs:annotation>
			<xs:documentation>Tipo Importe (decimal)</xs:documentation>
		</xs:annotation>
		<xs:restriction base="xs:decimal"/>
	</xs:simpleType>
	
	<xs:simpleType name="TipoTemporal">
		<xs:annotation>
			<xs:documentation>Tipo de Plazo</xs:documentation>
		</xs:annotation>
		<xs:restriction base="TipoNumeroDecimal" >
			<xs:minInclusive value="0.01" />
			<xs:maxExclusive value="10000.00" />
			<xs:pattern value="[0-9]{1,4}[.][0-9]{1,2}"/>
		</xs:restriction>
	</xs:simpleType>
	
	<xs:simpleType name="TipoImporte">
		<xs:annotation>
			<xs:documentation>Tipo de importe</xs:documentation>
		</xs:annotation>
		<xs:restriction base="TipoNumeroDecimal" >
			<xs:minInclusive value="0" />
			<xs:maxExclusive value="10000000000000000.00" />
			<xs:pattern value="[0-9]{1,18}[.][0-9]{2}"/>
		</xs:restriction>
	</xs:simpleType>
	
	<xs:simpleType name="TipoFecha">
		<xs:annotation>
			<xs:documentation>Tipo Fecha (dd/mm/aaaa)</xs:documentation>
		</xs:annotation>
		<xs:union memberTypes="xs:date">
			<xs:simpleType>
				<xs:restriction base="xs:token">
					<xs:pattern value="[0-3]?[0-9]/[0-1]?[0-9]/[0-9]{4}" />
				</xs:restriction>
			</xs:simpleType>
		</xs:union>
	</xs:simpleType>

	<xs:simpleType name="TipoDenominacion">
		<xs:restriction base="TipoTexto">
			<xs:minLength value="1" />
			<xs:maxLength value="1000" />
		</xs:restriction>
	</xs:simpleType>


	<xs:simpleType name="TipoObservaciones">
		<xs:restriction base="TipoTexto">
			<xs:maxLength value="4000" />
		</xs:restriction>
	</xs:simpleType>
</xs:schema>