<?xml version="1.0" encoding="utf-8"?>
<xs:schema id="AnexoIIIB"
           elementFormDefault="qualified"
           attributeFormDefault="unqualified"
           xmlns:xs="http://www.w3.org/2001/XMLSchema"
           xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">

  <!-- Descarge el siguiente documento para consultar la definición de campos XSD de Anexos III -->
  <!-- http://www.hacienda.gob.es/Documentacion/Publico/DGCFEL/Fondos/Definici%C3%B3n%20campos%20XSD%20Anexos%20III.pdf -->

  <xs:element name="envio">
    <xs:complexType>
      <xs:sequence>
        <xs:element name="version">
          <xs:annotation>
            <xs:documentation xml:lang="es">
              Versión del esquema utilizado.
            </xs:documentation>
          </xs:annotation>
          <xs:simpleType>
            <xs:restriction base='xs:string'>
              <xs:enumeration value="1.2" />
            </xs:restriction>
          </xs:simpleType>
        </xs:element>
        <xs:element name="ambito">
          <xs:annotation>
            <xs:documentation xml:lang="es">
              Ámbito de los datos enviados. Para FFCCAA debe tomar el valor CCAA.
            </xs:documentation>
          </xs:annotation>
          <xs:simpleType>
            <xs:restriction base='xs:string'>
              <xs:enumeration value="CCAA" />
            </xs:restriction>
          </xs:simpleType>
        </xs:element>
        <xs:element name="aplicacion">
          <xs:annotation>
            <xs:documentation xml:lang="es">
              Nombre de la aplicación a la que pertenecen los datos. Para FFCCAA debe tomar el valor FFCCAA.
            </xs:documentation>
          </xs:annotation>
          <xs:simpleType>
            <xs:restriction base='xs:string'>
              <xs:enumeration value="SIGLA" />
            </xs:restriction>
          </xs:simpleType>
        </xs:element>
        <xs:element name="ejercicio">
          <xs:annotation>
            <xs:documentation xml:lang="es">
              Ejercicio de los vencimientos del envío.
            </xs:documentation>
          </xs:annotation>
          <xs:simpleType>
            <xs:restriction base="xs:int">
              <xs:totalDigits value="4"/>
              <xs:minInclusive value="2019"/>
            </xs:restriction>
          </xs:simpleType>
        </xs:element>
        <xs:element name="codigoComunidadAutonoma" type="cdcdad">
          <xs:annotation>
            <xs:documentation xml:lang="es">
              Código de comunidad de los vencimientos del envío.
            </xs:documentation>
          </xs:annotation>
        </xs:element>
        <xs:element name="periodo">
          <xs:annotation>
            <xs:documentation xml:lang="es">
              Periodo de los vencimientos del envío. 5 - Anual. 1 a 4 Para identificar el trimestre
            </xs:documentation>
          </xs:annotation>
          <xs:simpleType>
            <xs:restriction base="xs:int">
              <xs:totalDigits value="1"/>
              <xs:minInclusive value="1"/>
              <xs:maxInclusive value="5"/>
            </xs:restriction>
          </xs:simpleType>
        </xs:element>
        <xs:element name="fechaGeneracion" type="xs:dateTime">
          <xs:annotation>
            <xs:documentation xml:lang="es">
              Fecha de creación del XML.
            </xs:documentation>
          </xs:annotation>
        </xs:element>
        <xs:element name="softwareGeneracion" minOccurs="0">
          <xs:annotation>
            <xs:documentation xml:lang="es">
              Opcional. Descripción del software con el que se ha realizado el XML.
            </xs:documentation>
          </xs:annotation>
          <xs:simpleType>
            <xs:restriction base='xs:string'>
              <xs:maxLength  value='250'/>
            </xs:restriction>
          </xs:simpleType>
        </xs:element>

        <xs:element name="anexoIIIB" minOccurs="1" maxOccurs="unbounded" >
          <xs:complexType>
            <xs:sequence>
              <xs:element name="deudor"  >
                <xs:simpleType>
                  <xs:restriction base='xs:string'>
                    <xs:maxLength  value='100'/>
                  </xs:restriction>
                </xs:simpleType>
              </xs:element>
              <xs:element name="codigoIdentificacion" >
                <xs:simpleType>
                  <xs:restriction base='xs:string'>
                    <xs:maxLength  value='100'/>
                  </xs:restriction>
                </xs:simpleType>
              </xs:element>
              <xs:element name="idTipoInstrumento"  >
                <xs:simpleType>
                  <xs:restriction base="xs:int">
                    <xs:totalDigits value="2"/>
                    <xs:minInclusive value="1"/>
                    <xs:maxInclusive value="16"/>
                  </xs:restriction>
                </xs:simpleType>
              </xs:element>
              <xs:element name="fechaValorPagoEfectivo"  >
                <xs:simpleType>
                  <xs:restriction base="xs:date">
                  </xs:restriction>
                </xs:simpleType>
              </xs:element>
              <xs:element name="fechaVencimiento"  >
                <xs:simpleType>
                  <xs:restriction base="xs:date">
                  </xs:restriction>
                </xs:simpleType>
              </xs:element>
              <xs:element name="importeAmortizacionPrincipal">
                <xs:simpleType>
                  <xs:restriction base="xs:decimal">
                    <xs:totalDigits value="18"/>
                    <xs:fractionDigits value="2"/>
                    <xs:minInclusive value="0.01"/>
                    <xs:maxInclusive value="99999.99"/>
                  </xs:restriction>
                </xs:simpleType>
              </xs:element>
              <xs:element name="beneficiarioNombre"  >
                <xs:simpleType>
                  <xs:restriction base='xs:string'>
                    <xs:maxLength  value='100'/>
                  </xs:restriction>
                </xs:simpleType>
              </xs:element>
              <xs:element name="beneficiarioCodigoSWIFT" minOccurs="0" >
                <xs:simpleType>
                  <xs:restriction base='xs:string'>
                    <xs:maxLength  value='11'/>
                  </xs:restriction>
                </xs:simpleType>
              </xs:element>
              <xs:element name="beneficiarioCodigoIBAN" minOccurs="0" >
                <xs:simpleType>
                  <xs:restriction base='xs:string'>
                    <xs:maxLength  value='40'/>
                  </xs:restriction>
                </xs:simpleType>
              </xs:element>
              <xs:element name="referenciaIdentificacion"  >
                <xs:simpleType>
                  <xs:restriction base='xs:string'>
                    <xs:maxLength  value='100'/>
                  </xs:restriction>
                </xs:simpleType>
              </xs:element>
              <xs:element name="esPrestamoICO"  >
                <xs:simpleType>
                  <xs:restriction base="xs:int">
                    <xs:totalDigits value="1"/>
                    <xs:minInclusive value="0"/>
                    <xs:maxInclusive value="1"/>
                  </xs:restriction>
                </xs:simpleType>
              </xs:element>
            </xs:sequence>
          </xs:complexType>
        </xs:element>

      </xs:sequence>
    </xs:complexType>
  </xs:element>


  <xs:simpleType name="cdcdad">
    <xs:restriction base="xs:string">
      <xs:enumeration value="01" />
      <xs:enumeration value="02" />
      <xs:enumeration value="03" />
      <xs:enumeration value="04" />
      <xs:enumeration value="05" />
      <xs:enumeration value="06" />
      <xs:enumeration value="07" />
      <xs:enumeration value="08" />
      <xs:enumeration value="09" />
      <xs:enumeration value="10" />
      <xs:enumeration value="11" />
      <xs:enumeration value="12" />
      <xs:enumeration value="13" />
      <xs:enumeration value="14" />
      <xs:enumeration value="15" />
      <xs:enumeration value="16" />
      <xs:enumeration value="17" />
    </xs:restriction>
  </xs:simpleType>

</xs:schema>