<?xml version="1.0" encoding="utf-8"?>
<!-- edited with XMLSpy v2007 (http://www.altova.com) by SGCC0214 (IGAE) -->
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns="http://www.pap.minhap.gob.es/ficherosxsd/IRIS_CuentaJustificativa.xsd" targetNamespace="http://www.pap.minhap.gob.es/ficherosxsd/IRIS_CuentaJustificativa.xsd" elementFormDefault="qualified">

    <xs:simpleType name="NIFType">
        <xs:annotation>
            <xs:documentation xml:lang="es">Tipo del NIF.</xs:documentation>
        </xs:annotation>
        <xs:restriction base="xs:string">
            <xs:minLength value="1"/>
            <xs:maxLength value="14"/>
            <xs:pattern value="\S(.*\S)?"/>
        </xs:restriction>
    </xs:simpleType>
    <xs:simpleType name="ImporteType">
        <xs:annotation>
            <xs:documentation xml:lang="es">Tipo de los Importes de las Líneas de la Factura.</xs:documentation>
        </xs:annotation>
        <xs:restriction base="xs:decimal">
            <xs:totalDigits value="19"/>
            <xs:fractionDigits value="2"/>
            <!-- <xs:minInclusive value="0"/> Cambio para admitir decimales negativos-->
        </xs:restriction>
    </xs:simpleType>
    <xs:complexType name="CuentaJustificativaType" abstract="true">
        <xs:annotation>
            <xs:documentation xml:lang="es">Tipo base para las Cuentas Justificativas.</xs:documentation>
        </xs:annotation>
        <xs:sequence>
            <xs:element name="Presentacion" type="xs:anyType">
                <xs:annotation>
                    <xs:documentation xml:lang="es">Contiene información que facilita la presentación de los datos para su firma. Esta información no se usa en la tramitación de la Cuenta.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element name="CodigoOrganismo">
                <xs:annotation>
                    <xs:documentation xml:lang="es">Código SIC del Organismo que genera la Cuenta Justificativa.</xs:documentation>
                </xs:annotation>
                <xs:simpleType>
                    <xs:restriction base="xs:string">
                        <xs:length value="5"/>
                    </xs:restriction>
                </xs:simpleType>
            </xs:element>
            <xs:element name="DesOrganismo"  minOccurs="0">
                <xs:annotation>
                    <xs:documentation xml:lang="es">Descripción del Organismo que genera la Cuenta Justificativa.</xs:documentation>
                </xs:annotation>
                <xs:simpleType>
                    <xs:restriction base="xs:string">
                        <xs:maxLength value="255"/>
                    </xs:restriction>
                </xs:simpleType>
            </xs:element>
            <xs:element name="NIFCajero" type="NIFType">
                <xs:annotation>
                    <xs:documentation xml:lang="es">NIF del Cajero que genera la Cuenta Justificativa.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element name="DesCajero"  minOccurs="0">
                <xs:annotation>
                    <xs:documentation xml:lang="es">Descripción del Cajero que genera la Cuenta Justificativa.</xs:documentation>
                </xs:annotation>
                <xs:simpleType>
                    <xs:restriction base="xs:string">
                        <xs:maxLength value="255"/>
                    </xs:restriction>
                </xs:simpleType>
            </xs:element>
            <xs:element name="Servicio"  minOccurs="0">
                <xs:annotation>
                    <xs:documentation xml:lang="es">Servicio que genera la Cuenta Justificativa.</xs:documentation>
                </xs:annotation>
                <xs:simpleType>
                    <xs:restriction base="xs:string">
                        <xs:maxLength value="255"/>
                    </xs:restriction>
                </xs:simpleType>
            </xs:element>
            <xs:element name="FirmaCajero" type="firmaType" minOccurs="0"/>
            <xs:element name="Firmas" type="firmasType" minOccurs="0"/>
            <xs:element name="DivisaCuenta" type="xs:string" minOccurs="0"/>
            <xs:element name="TipoCambioCuenta" type="xs:string" minOccurs="0"/>
            <xs:element name="FechaValor" type="xs:date" minOccurs="0"/>
            <xs:element name="ImporteSituadoDivisaCuenta" type="ImporteType" minOccurs="0"/>
            <xs:element name="DivisaLocal" type="xs:string" minOccurs="0"/>
            <xs:element name="TipoCambioDivisaLocal" type="xs:string" minOccurs="0"/>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="CuentaJustificativaACFType">
        <xs:annotation>
            <xs:documentation xml:lang="es">Tipo para las Cuentas Justificativas ACF.</xs:documentation>
        </xs:annotation>
        <xs:complexContent>
            <xs:extension base="CuentaJustificativaType">
                <xs:sequence>
                    <xs:element name="Ejercicio" type="xs:gYear">
                        <xs:annotation>
                            <xs:documentation xml:lang="es">Ejercicio de la Cuenta Justificativa ACF.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element name="NumeroCuenta" minOccurs="0">
                        <xs:annotation>
                            <xs:documentation xml:lang="es">Número de la Cuenta Justificativa ACF.</xs:documentation>
                        </xs:annotation>
                        <xs:simpleType>
                            <xs:restriction base="xs:string">
                                <xs:maxLength value="10"/>
                            </xs:restriction>
                        </xs:simpleType>
                    </xs:element>
                    <xs:element name="NumeroReposicion" type="xs:string" minOccurs="0"/>
                    <xs:element name="ReposicionxBruto" type="xs:string" minOccurs="0"/>
                    <xs:element name="InicioPeriodo" type="xs:date" minOccurs="0">
                        <xs:annotation>
                            <xs:documentation xml:lang="es">Fecha de inicio del periodo.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element name="FinPeriodo" type="xs:date" minOccurs="0">
                        <xs:annotation>
                            <xs:documentation xml:lang="es">Fecha de fin del periodo.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element ref="Justificantes"/>
                </xs:sequence>
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>
    <xs:complexType name="CuentaJustificativaPJType">
        <xs:annotation>
            <xs:documentation xml:lang="es">Tipo para las Cuentas Justificativas PJ.</xs:documentation>
        </xs:annotation>
        <xs:complexContent>
            <xs:extension base="CuentaJustificativaType">
                <xs:sequence>
                   <xs:element name="GastosElectorales" minOccurs="0" maxOccurs="1">
                    	<xs:complexType>
                        	<xs:sequence>
                    	    	<xs:element name="NumCuenta" type="xs:string" minOccurs="0"/>
                    	    	<xs:element name="FechaProcesoElectoral" type="xs:date" minOccurs="0"/>
                    			<xs:element name="DescripcionProcesoElectoral" type="xs:string" minOccurs="0"/>
                    		</xs:sequence>
                    	</xs:complexType>
                    </xs:element>				
                    <xs:element name="NumeroLibramiento" maxOccurs="unbounded">
                        <xs:annotation>
                            <xs:documentation xml:lang="es">Número del Libramiento de la Cuenta Justificativa PJ.</xs:documentation>
                        </xs:annotation>
                        <xs:simpleType>
                            <xs:restriction base="xs:string">
                                <xs:length value="17"/>
                            </xs:restriction>
                        </xs:simpleType>
                    </xs:element>
                    <xs:element name="ImporteJustificado" type="ImporteType" minOccurs="0"/>
                    <xs:element name="ImporteJustificadoDivisa" type="ImporteType" minOccurs="0"/>
                    <xs:element name="ImporteRemanenteDivisa" type="ImporteType" minOccurs="0"/>
                    <xs:element name="FechaJustificacion" type="xs:date">
                        <xs:annotation>
                            <xs:documentation xml:lang="es">Fecha de Justificación.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element name="FechaCobro" type="xs:date" minOccurs="0">
                        <xs:annotation>
                            <xs:documentation xml:lang="es">Fecha de Cobro.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element name="FechaProrroga" type="xs:date" minOccurs="0">
                        <xs:annotation>
                            <xs:documentation xml:lang="es">Fecha de Prórroga.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element name="FechaLimite" type="xs:date" minOccurs="0">
                        <xs:annotation>
                            <xs:documentation xml:lang="es">Fecha Límite.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element name="DivisaCuenta" type="xs:string" minOccurs="0">
                        <xs:annotation>
                            <xs:documentation xml:lang="es">Divisa.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element name="TipoCambioCuenta" type="xs:string" minOccurs="0">
                        <xs:annotation>
                            <xs:documentation xml:lang="es">Tipo de Cambio del libramiento.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element name="TipoCambioAnticipo" type="xs:string" minOccurs="0">
                        <xs:annotation>
                            <xs:documentation xml:lang="es">Tipo de Cambio del Anticipo.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element name="Asignaciones">
                        <xs:annotation>
                            <xs:documentation xml:lang="es">Contiene los datos de las Asignaciones presupuestarias, de los Justificantes en que se han empleado.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:element ref="Justificantes" minOccurs="0"/>
                                <xs:element name="Asignacion" type="AplicacionType" maxOccurs="unbounded"/>
                                <xs:element name="AsignacionImpuesto" type="ImpuestoType" minOccurs="0" maxOccurs="unbounded"/>
                                <xs:element name="AsignacionDescuento" type="DescuentoType" minOccurs="0" maxOccurs="unbounded"/>
                                <xs:element name="LibramientoRemanente" type="LibramientoRemanenteType" minOccurs="0" maxOccurs="unbounded"/>
                            </xs:sequence>
                        </xs:complexType>
                        <xs:key name="Asignacion">
                            <xs:selector xpath="Asignacion"/>
                            <xs:field xpath="Ejercicio"/>
                            <xs:field xpath="Organica"/>
                            <xs:field xpath="Funcional"/>
                            <xs:field xpath="Economica"/>
                        </xs:key>
                        <xs:keyref name="AsignacionAplicacion" refer="Asignacion">
                            <xs:selector xpath="Justificantes/Justificante/Aplicacion"/>
                            <xs:field xpath="Ejercicio"/>
                            <xs:field xpath="Organica"/>
                            <xs:field xpath="Funcional"/>
                            <xs:field xpath="Economica"/>
                        </xs:keyref>
                    </xs:element>
                    <xs:element name="Reintegros">
                        <xs:annotation>
                            <xs:documentation xml:lang="es">Reintegros y datos asociados.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:element name="Reintegro" minOccurs="0" maxOccurs="unbounded">
                                    <xs:annotation>
                                        <xs:documentation xml:lang="es">Datos de los Reintegros de la Cuenta Justificativa PJ.</xs:documentation>
                                    </xs:annotation>
                                    <xs:complexType>
                                        <xs:sequence>
                                            <xs:element name="Importe" type="ImporteType">
                                                <xs:annotation>
                                                    <xs:documentation xml:lang="es">Importe del Reintegro.</xs:documentation>
                                                </xs:annotation>
                                            </xs:element>
                                            <xs:element name="Fecha" type="xs:date">
                                                <xs:annotation>
                                                    <xs:documentation xml:lang="es">Fecha del Reintegro.</xs:documentation>
                                                </xs:annotation>
                                            </xs:element>
                                            <xs:element name="NumeroCartaPago">
                                                <xs:annotation>
                                                    <xs:documentation xml:lang="es">Número de la Carta de Pago - Número Operación</xs:documentation>
                                                </xs:annotation>
                                                <xs:simpleType>
                                                    <xs:restriction base="xs:string">
                                                        <xs:maxLength value="30"/>
                                                    </xs:restriction>
                                                </xs:simpleType>
                                            </xs:element>
                                            <xs:element name="ImporteDivisa" type="ImporteType" minOccurs="0"/>
                                            <xs:element name="TipoCambio" type="xs:string" minOccurs="0"/>
                                            <xs:element name="Documento" minOccurs="0" maxOccurs="unbounded">
                                                <xs:annotation>
                                                    <xs:documentation xml:lang="es">Datos de un Documento asociado al Justificante.</xs:documentation>
                                                </xs:annotation>
                                                <xs:complexType>
                                                    <xs:all>
                                                        <xs:element name="Path" type="xs:string">
                                                            <xs:annotation>
                                                                <xs:documentation xml:lang="es">Ruta del Documento en el Archivo de Ficheros de la Cuenta Justificativa.</xs:documentation>
                                                            </xs:annotation>
                                                        </xs:element>
                                                        <xs:element name="Descripcion" minOccurs="0">
                                                            <xs:annotation>
                                                                <xs:documentation xml:lang="es">Descripción del Documento.</xs:documentation>
                                                            </xs:annotation>
                                                            <xs:simpleType>
                                                                <xs:restriction base="xs:string">
                                                                    <xs:maxLength value="255"/>
                                                                </xs:restriction>
                                                            </xs:simpleType>
                                                        </xs:element>
                                                        <xs:element name="JustificacionElectronica" >
                                                            <xs:annotation>
                                                                <xs:documentation>Indica si el Justificante se procesa electrónicamente: toda su información asociada se incluye en el envío, por medios electrónicos de la Cuenta Justificativa.</xs:documentation>
                                                            </xs:annotation>
                                                            <xs:simpleType>
                                                                <xs:restriction base="xs:string">
                                                                    <xs:length value="1"/>
                                                                    <xs:pattern value="[SN]"/>
                                                                </xs:restriction>
                                                            </xs:simpleType>
                                                        </xs:element>
                                                        <xs:element name="IdDocSGIFE" type="xs:integer"  minOccurs="0">
                                                            <xs:annotation>
                                                                <xs:documentation xml:lang="es">Identificador del documento en SGIFE.</xs:documentation>
                                                            </xs:annotation>
                                                        </xs:element>
                                                        <xs:element name="LocSGIFE"  minOccurs="0">
                                                            <xs:annotation>
                                                                <xs:documentation xml:lang="es">Localizador del documento en SGIFE.</xs:documentation>
                                                            </xs:annotation>
                                                            <xs:simpleType>
                                                                <xs:restriction base="xs:string">
                                                                    <xs:maxLength value="32"/>
                                                                </xs:restriction>
                                                            </xs:simpleType>
                                                        </xs:element>
                                                        <xs:element name="IndResSGIFE"  minOccurs="0">
                                                            <xs:annotation>
                                                                <xs:documentation xml:lang="es">Idicador del resultado de almacenamiento en SGIFE.</xs:documentation>
                                                            </xs:annotation>
                                                            <xs:simpleType>
                                                                <xs:restriction base="xs:string">
                                                                    <xs:maxLength value="3"/>
                                                                </xs:restriction>
                                                            </xs:simpleType>
                                                        </xs:element>
                                                        <xs:element name="Hash"  minOccurs="0">
                                                            <xs:annotation>
                                                                <xs:documentation xml:lang="es">Hash del documento</xs:documentation>
                                                            </xs:annotation>
                                                            <xs:simpleType>
                                                                <xs:restriction base="xs:string">
                                                                    <xs:maxLength value="32"/>
                                                                </xs:restriction>
                                                            </xs:simpleType>
                                                        </xs:element>
                                                    </xs:all>
                                                </xs:complexType>
                                            </xs:element>
                                        </xs:sequence>
                                    </xs:complexType>
                                </xs:element>
                            </xs:sequence>
                        </xs:complexType>
                    </xs:element>
                    <xs:element name="Remanente" minOccurs="0" maxOccurs="1">
                    	<xs:complexType>
                        	<xs:sequence>
                    	    	<xs:element name="CuentaGestion" type="xs:boolean" minOccurs="1" maxOccurs="1"/>
                    	    	<xs:element name="FechaCuentaGestion" type="xs:date" minOccurs="0" maxOccurs="1"/>
                    			<xs:element name="Importe" type="ImporteType" minOccurs="1" maxOccurs="1"/>
                    			<xs:element name="ImporteDivisa" type="ImporteType" minOccurs="0">
					                <xs:annotation>
					                    <xs:documentation xml:lang="es">Importe asociado.</xs:documentation>
					                </xs:annotation>
					            </xs:element>
                    		</xs:sequence>
                    	</xs:complexType>
                    </xs:element>
                    <xs:element name="FirmaConforme" type="firmaType" minOccurs="0"/>
                </xs:sequence>
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>
    <xs:complexType name="AplicacionType">
        <xs:annotation>
            <xs:documentation xml:lang="es">Asocia una Aplicación con un Importe. Sirve para representar tanto Imputaciones como Asignaciones.</xs:documentation>
        </xs:annotation>
        <xs:all>
            <xs:element name="Ejercicio" type="xs:gYear">
                <xs:annotation>
                    <xs:documentation xml:lang="es">Ejercicio.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element name="Organica">
                <xs:annotation>
                    <xs:documentation xml:lang="es">Código Orgánico de la Aplicación.</xs:documentation>
                </xs:annotation>
                <xs:simpleType>
                    <xs:restriction base="xs:string">
                        <xs:maxLength value="6"/>
                        <xs:minLength value="1"/>
                    </xs:restriction>
                </xs:simpleType>
            </xs:element>
            <xs:element name="Funcional">
                <xs:annotation>
                    <xs:documentation xml:lang="es">Código Funcional de la Aplicación.</xs:documentation>
                </xs:annotation>
                <xs:simpleType>
                    <xs:restriction base="xs:string">
                        <xs:maxLength value="7"/>
                        <xs:minLength value="1"/>
                    </xs:restriction>
                </xs:simpleType>
            </xs:element>
            <xs:element name="Economica">
                <xs:annotation>
                    <xs:documentation xml:lang="es">Código Económico de la Aplicación.</xs:documentation>
                </xs:annotation>
                <xs:simpleType>
                    <xs:restriction base="xs:string">
                        <xs:maxLength value="7"/>
                        <xs:minLength value="1"/>
                    </xs:restriction>
                </xs:simpleType>
            </xs:element>
            <xs:element name="Importe" type="ImporteType"/>
            <xs:element name="ImporteDivisa" type="ImporteType" minOccurs="0">
                <xs:annotation>
                    <xs:documentation xml:lang="es">Importe asociado.</xs:documentation>
                </xs:annotation>
            </xs:element>
        </xs:all>
    </xs:complexType>
    <xs:element name="Justificantes">
        <xs:annotation>
            <xs:documentation xml:lang="es">Justificantes y datos asociados.</xs:documentation>
        </xs:annotation>
        <xs:complexType>
            <xs:sequence>
                <xs:element name="Justificante" maxOccurs="unbounded">
                    <xs:annotation>
                        <xs:documentation xml:lang="es">Datos del Justificante.</xs:documentation>
                    </xs:annotation>
                    <xs:complexType>
                        <xs:sequence>
                            <xs:element name="NumeroOrden" type="xs:string">
                                <xs:annotation>
                                    <xs:documentation xml:lang="es">Número de Orden en la cuenta.</xs:documentation>
                                </xs:annotation>
                            </xs:element>
                            <xs:element name="CodigoUTramitadora">
                                <xs:annotation>
                                    <xs:documentation xml:lang="es">Código de Unidad Tramitadora.</xs:documentation>
                                </xs:annotation>
                                <xs:simpleType>
                                    <xs:restriction base="xs:string">
                                        <xs:maxLength value="10"/>
                                    </xs:restriction>
                                </xs:simpleType>
                            </xs:element>
                            <xs:element name="NumeroJustificante">
                                <xs:annotation>
                                    <xs:documentation xml:lang="es">Número de Justificante.</xs:documentation>
                                </xs:annotation>
                                <xs:simpleType>
                                    <xs:restriction base="xs:string">
                                        <xs:maxLength value="13"/>
                                    </xs:restriction>
                                </xs:simpleType>
                            </xs:element>
                            <xs:element name="TipoJustificante">
                                <xs:annotation>
                                    <xs:documentation xml:lang="es">Tipo de Justificante.</xs:documentation>
                                </xs:annotation>
                                <xs:simpleType>
                                    <xs:restriction base="xs:string">
                                        <xs:maxLength value="1"/>
                                        <xs:pattern value="[CDG]"/>
                                    </xs:restriction>
                                </xs:simpleType>
                            </xs:element>
                            <xs:element name="FechaEmision" type="xs:date">
                                <xs:annotation>
                                    <xs:documentation xml:lang="es">Fecha de emisión.</xs:documentation>
                                </xs:annotation>
                            </xs:element>
                            <xs:element name="NIFProv" type="NIFType">
                                <xs:annotation>
                                    <xs:documentation xml:lang="es">NIF del Proveedor.</xs:documentation>
                                </xs:annotation>
                            </xs:element>
                            <xs:choice maxOccurs="unbounded">
                                <xs:element name="Aplicacion" type="AplicacionType">
                                    <xs:annotation>
                                        <xs:documentation xml:lang="es">Datos de una imputación del Justificante a una Aplicación.</xs:documentation>
                                    </xs:annotation>
                                </xs:element>
                                <xs:element name="Descuento" type="DescuentoType"/>
                                <xs:element name="Impuestos" type="ImpuestoType"/>
                            </xs:choice>
                            <xs:element name="Documento" minOccurs="0" maxOccurs="unbounded">
                                <xs:annotation>
                                    <xs:documentation xml:lang="es">Datos de un Documento asociado al Justificante.</xs:documentation>
                                </xs:annotation>
                                <xs:complexType>
                                    <xs:all>
                                        <xs:element name="Path" type="xs:string">
                                            <xs:annotation>
                                                <xs:documentation xml:lang="es">Ruta del Documento en el Archivo de Ficheros de la Cuenta Justificativa.</xs:documentation>
                                            </xs:annotation>
                                        </xs:element>
                                        <xs:element name="Descripcion" minOccurs="0">
                                            <xs:annotation>
                                                <xs:documentation xml:lang="es">Descripción del Documento.</xs:documentation>
                                            </xs:annotation>
                                            <xs:simpleType>
                                                <xs:restriction base="xs:string">
                                                    <xs:maxLength value="255"/>
                                                </xs:restriction>
                                            </xs:simpleType>
                                        </xs:element>
                                        <xs:element name="JustificacionElectronica" >
                                            <xs:annotation>
                                                <xs:documentation>Indica si el Justificante se procesa electrónicamente: toda su información asociada se incluye en el envío, por medios electrónicos de la Cuenta Justificativa.</xs:documentation>
                                            </xs:annotation>
                                            <xs:simpleType>
                                                <xs:restriction base="xs:string">
                                                    <xs:length value="1"/>
                                                    <xs:pattern value="[SN]"/>
                                                </xs:restriction>
                                            </xs:simpleType>
                                        </xs:element>
                                        <xs:element name="IdDocSGIFE" type="xs:integer"  minOccurs="0">
                                            <xs:annotation>
                                                <xs:documentation xml:lang="es">Identificador del documento en SGIFE.</xs:documentation>
                                            </xs:annotation>
                                        </xs:element>
                                        <xs:element name="LocSGIFE"  minOccurs="0">
                                            <xs:annotation>
                                                <xs:documentation xml:lang="es">Localizador del documento en SGIFE.</xs:documentation>
                                            </xs:annotation>
                                            <xs:simpleType>
                                                <xs:restriction base="xs:string">
                                                    <xs:maxLength value="32"/>
                                                </xs:restriction>
                                            </xs:simpleType>
                                        </xs:element>
                                        <xs:element name="IndResSGIFE"  minOccurs="0">
                                            <xs:annotation>
                                                <xs:documentation xml:lang="es">Idicador del resultado de almacenamiento en SGIFE.</xs:documentation>
                                            </xs:annotation>
                                            <xs:simpleType>
                                                <xs:restriction base="xs:string">
                                                    <xs:maxLength value="3"/>
                                                </xs:restriction>
                                            </xs:simpleType>
                                        </xs:element>
                                        <xs:element name="Hash"  minOccurs="0">
                                            <xs:annotation>
                                                <xs:documentation xml:lang="es">Hash del documento</xs:documentation>
                                            </xs:annotation>
                                            <xs:simpleType>
                                                <xs:restriction base="xs:string">
                                                    <xs:maxLength value="32"/>
                                                </xs:restriction>
                                            </xs:simpleType>
                                        </xs:element>
                                    </xs:all>
                                </xs:complexType>
                            </xs:element>
                        </xs:sequence>
                    </xs:complexType>
                </xs:element>
                <xs:element name="Proveedor" maxOccurs="unbounded">
                    <xs:annotation>
                        <xs:documentation xml:lang="es">Datos de un Proveedor referenciado en alguno de los Justificantes.</xs:documentation>
                    </xs:annotation>
                    <xs:complexType>
                        <xs:all>
                            <xs:element name="NIF" type="NIFType">
                                <xs:annotation>
                                    <xs:documentation xml:lang="es">NIF del Proveedor.</xs:documentation>
                                </xs:annotation>
                            </xs:element>
                            <xs:element name="Nombre" type="xs:string" minOccurs="0">
                                <xs:annotation>
                                    <xs:documentation xml:lang="es">Nombre del Proveedor.</xs:documentation>
                                </xs:annotation>
                            </xs:element>
                        </xs:all>
                    </xs:complexType>
                </xs:element>
            </xs:sequence>
        </xs:complexType>
        <xs:key name="Proveedor">
            <xs:selector xpath="Proveedor"/>
            <xs:field xpath="NIF"/>
        </xs:key>
        <xs:keyref name="ProveedorJustificante" refer="Proveedor">
            <xs:selector xpath="Justificante"/>
            <xs:field xpath="NIFProv"/>
        </xs:keyref>
    </xs:element>
    <xs:element name="CuentaJustificativaACF" type="CuentaJustificativaACFType"/>
    <xs:element name="CuentaJustificativaPJ" type="CuentaJustificativaPJType"/>
    <xs:element name="CuentaJustificativa">
        <xs:complexType>
            <xs:sequence>
                <xs:choice>
                    <xs:element ref="CuentaJustificativaPJ"/>
                    <xs:element ref="CuentaJustificativaACF"/>
                </xs:choice>
            </xs:sequence>
        </xs:complexType>
    </xs:element>
    <xs:complexType name="firmasType" >
        <xs:sequence>
            <xs:element name="firmaprop" type="firmaType" minOccurs="0"/>
            <xs:element name="firmainterv" type="firmaType" minOccurs="0"/>
            <xs:element name="firmaaut" type="firmaType" minOccurs="0"/>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="firmaType">
        <xs:sequence>
            <xs:element name="cargo" type="cargoType" minOccurs="0"/>
            <xs:element name="nombre" type="nombreType" minOccurs="0"/>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="nombreType">
        <xs:sequence>
            <xs:element name="linea1" type="xs:string" minOccurs="0"/>
            <xs:element name="linea2" type="xs:string" minOccurs="0"/>
            <xs:element name="linea3" type="xs:string" minOccurs="0"/>
            <xs:element name="linea4" type="xs:string" minOccurs="0"/>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="cargoType">
        <xs:sequence>
            <xs:element name="linea1" type="xs:string" minOccurs="0"/>
            <xs:element name="linea2" type="xs:string" minOccurs="0"/>
            <xs:element name="linea3" type="xs:string" minOccurs="0"/>
            <xs:element name="linea4" type="xs:string" minOccurs="0"/>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="ImpuestoType">
        <xs:annotation>
            <xs:documentation xml:lang="es">Tipo para representar impuestos</xs:documentation>
        </xs:annotation>
        <xs:all>
            <xs:element name="Organica" minOccurs="0">
            	<xs:annotation>
                	<xs:documentation xml:lang="es">Código Orgánico del Impuesto.</xs:documentation>
               	</xs:annotation>
               	<xs:simpleType>
                	<xs:restriction base="xs:string">
                    	<xs:maxLength value="6"/>
                       	<xs:minLength value="0"/>
                   	</xs:restriction>
               	</xs:simpleType>
			</xs:element>
            <xs:element name="Descuento">
               	<xs:annotation>
					<xs:documentation xml:lang="es">Código del Descuento Impuesto.</xs:documentation>
               	</xs:annotation>
               	<xs:simpleType>
                	<xs:restriction base="xs:string">
                    	<xs:maxLength value="6"/>
                       	<xs:minLength value="1"/>
                   	</xs:restriction>
               	</xs:simpleType>
           	</xs:element>
           	<xs:element name="Importe" type="ImporteType">
				<xs:annotation>
                	<xs:documentation xml:lang="es">Importe Impuestos.</xs:documentation>
               	</xs:annotation>
           	</xs:element>
			<xs:element name="ImporteDivisa" type="ImporteType" minOccurs="0">
	            <xs:annotation>
	                <xs:documentation xml:lang="es">Importe del Descuento en Divisa.</xs:documentation>
	            </xs:annotation>
	        </xs:element>
       	</xs:all>
    </xs:complexType>
    <xs:complexType name="DescuentoType">
        <xs:annotation>
            <xs:documentation xml:lang="es">Tipo para representar descuentos</xs:documentation>
        </xs:annotation>
        <xs:all>
	        <xs:element name="Organica" minOccurs="0">
	            <xs:annotation>
	                <xs:documentation xml:lang="es">Código Orgánico del Descuento.</xs:documentation>
	            </xs:annotation>
	            <xs:simpleType>
	                <xs:restriction base="xs:string">
	                    <xs:maxLength value="6"/>
	                    <xs:minLength value="0"/>
	                </xs:restriction>
	            </xs:simpleType>
	        </xs:element>
	        <xs:element name="Descuento">
	            <xs:annotation>
	                <xs:documentation xml:lang="es">Código del Descuento.</xs:documentation>
	            </xs:annotation>
	            <xs:simpleType>
	                <xs:restriction base="xs:string">
	                    <xs:maxLength value="6"/>
	                    <xs:minLength value="1"/>
	                </xs:restriction>
	            </xs:simpleType>
	        </xs:element>
	        <xs:element name="Importe" type="ImporteType">
	            <xs:annotation>
	                <xs:documentation xml:lang="es">Importe del Descuento.</xs:documentation>
	            </xs:annotation>
	        </xs:element>
	        <xs:element name="ImporteDivisa" type="ImporteType" minOccurs="0">
	            <xs:annotation>
	                <xs:documentation xml:lang="es">Importe del Descuento en Divisa.</xs:documentation>
	            </xs:annotation>
	        </xs:element>
        </xs:all>
    </xs:complexType>

	<xs:complexType name="LibramientoRemanenteType">
		<xs:sequence>
			<xs:element name="NumeroLibramiento" minOccurs="1" maxOccurs="1">
            	<xs:simpleType>
            	    <xs:restriction base="xs:string">
        	            <xs:length value="17"/>
    	            </xs:restriction>
	            </xs:simpleType>
        	</xs:element>
			<xs:element name="Asignacion" type="AplicacionType" maxOccurs="unbounded"/>
		</xs:sequence>
	</xs:complexType>    
</xs:schema>

