<?xml version="1.0" encoding="ISO-8859-1"?>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
    elementFormDefault="qualified" attributeFormDefault="unqualified">
    <xsd:simpleType name="tipoTrxType">
        <xsd:restriction base="xsd:string">
            <xsd:enumeration value="E" />
            <xsd:enumeration value="S" />
        </xsd:restriction>
    </xsd:simpleType>
    <xsd:simpleType name="tipoIdLocType">
        <xsd:restriction base="xsd:string">
            <xsd:enumeration value="C" />
            <xsd:enumeration value="R" />
            <xsd:enumeration value="E" />
            <xsd:enumeration value="N" />
        </xsd:restriction>
    </xsd:simpleType>
    <xsd:simpleType name="telfLocType">
        <xsd:restriction base="xsd:string">
            <xsd:minLength value="7" />
            <xsd:maxLength value="10" />
            <xsd:pattern value="[0-9]*" />
        </xsd:restriction>
    </xsd:simpleType>
    <xsd:simpleType name="tarjCredType">
        <xsd:restriction base="xsd:string">
            <xsd:length value="2" />
            <xsd:pattern value="[0-9]*" />
        </xsd:restriction>
    </xsd:simpleType>
    <xsd:simpleType name="revTrxType">
        <xsd:restriction base="xsd:string">
            <xsd:enumeration value="N" />
            <xsd:enumeration value="R" />
        </xsd:restriction>
    </xsd:simpleType>
    <xsd:simpleType name="regisBceType">
        <xsd:restriction base="xsd:string">
            <xsd:maxLength value="10" />
            <xsd:minLength value="1" />
        </xsd:restriction>
    </xsd:simpleType>
    <xsd:simpleType name="razSocialLocType">
        <xsd:restriction base="xsd:string">
            <xsd:maxLength value="150" />
            <xsd:minLength value="1" />
        </xsd:restriction>
    </xsd:simpleType>
    <xsd:simpleType name="provLocType">
        <xsd:restriction base="xsd:string">
            <xsd:length value="2" />
            <xsd:pattern value="[0-9]*" />
        </xsd:restriction>
    </xsd:simpleType>
    <xsd:simpleType name="paisType">
        <xsd:restriction base="xsd:string">
            <xsd:pattern value="[A-Z]{2}" />
            <xsd:pattern value="[^EC]" />
        </xsd:restriction>
    </xsd:simpleType>
    <xsd:simpleType name="numeroTrxType">
        <xsd:restriction base="xsd:string">
            <xsd:maxLength value="20" />
            <xsd:minLength value="1" />
        </xsd:restriction>
    </xsd:simpleType>
    <xsd:simpleType name="numIdLocType">
        <xsd:restriction base="xsd:string">
            <xsd:maxLength value="13" />
            <xsd:minLength value="1" />
            <xsd:pattern value="[A-Za-z0-9]*" />
        </xsd:restriction>
    </xsd:simpleType>
    <xsd:simpleType name="nomExtType">
        <xsd:restriction base="xsd:string">
            <xsd:maxLength value="150" />
            <xsd:minLength value="1" />
        </xsd:restriction>
    </xsd:simpleType>
    <xsd:simpleType name="motTrxType">
        <xsd:restriction base="xsd:string">
            <xsd:pattern value="[0-9][0-9][0-9]" />
        </xsd:restriction>
    </xsd:simpleType>
    <xsd:simpleType name="montoTrxType">
        <xsd:restriction base="xsd:decimal">
            <xsd:totalDigits value="18" />
            <xsd:fractionDigits value="2" />
            <xsd:minInclusive value="0.01" />
            <xsd:maxInclusive value="9999999999999999.99" />
        </xsd:restriction>
    </xsd:simpleType>
    <xsd:simpleType name="isdType">
        <xsd:restriction base="xsd:decimal">
            <xsd:totalDigits value="18" />
            <xsd:fractionDigits value="2" />
            <xsd:minInclusive value="0.01" />
            <xsd:maxInclusive value="9999999999999999.99" />
        </xsd:restriction>
    </xsd:simpleType>
    <xsd:simpleType name="formaTrxType">
        <xsd:restriction base="xsd:string">
            <xsd:length value="2" />
            <xsd:pattern value="[0-9]*" />
        </xsd:restriction>
    </xsd:simpleType>
    <xsd:simpleType name="fechaType">
        <xsd:restriction base="xsd:string">
            <xsd:pattern
                value="(0[1-9]|[12][0-9]|3[01])[/](0[1-9]|1[012])[/](19|20)\d\d" />
        </xsd:restriction>
    </xsd:simpleType>
    <xsd:simpleType name="exentType">
        <xsd:restriction base="xsd:string">
            <xsd:length value="2" />
            <xsd:pattern value="[0-9]*" />
        </xsd:restriction>
    </xsd:simpleType>
    <xsd:simpleType name="entidadTrxType">
        <xsd:restriction base="xsd:string">
            <xsd:enumeration value="D" />
            <xsd:enumeration value="T" />
            <xsd:enumeration value="M" />
        </xsd:restriction>
    </xsd:simpleType>
    <xsd:simpleType name="emisorType">
        <xsd:restriction base="xsd:string">
            <xsd:length value="4" />
            <xsd:pattern value="[0-9]*" />
        </xsd:restriction>
    </xsd:simpleType>
    <xsd:simpleType name="dirLocType">
        <xsd:restriction base="xsd:string">
            <xsd:maxLength value="150" />
            <xsd:minLength value="1" />
        </xsd:restriction>
    </xsd:simpleType>
    <xsd:simpleType name="contReasType">
        <xsd:restriction base="xsd:string">
            <xsd:maxLength value="20" />
            <xsd:minLength value="1" />
        </xsd:restriction>
    </xsd:simpleType>
    <xsd:simpleType name="codigoBICType">
        <xsd:restriction base="xsd:string">
            <xsd:maxLength value="11" />
            <xsd:minLength value="1" />
        </xsd:restriction>
    </xsd:simpleType>
    <xsd:simpleType name="codigoABAType">
        <xsd:restriction base="xsd:string">
            <xsd:maxLength value="21" />
            <xsd:minLength value="1" />
        </xsd:restriction>
    </xsd:simpleType>
    <xsd:simpleType name="codMonTrxType">
        <xsd:restriction base="xsd:string">
            <xsd:pattern value="[A-Z]{3}" />
        </xsd:restriction>
    </xsd:simpleType>
    <xsd:simpleType name="claseTarjCredType">
        <xsd:restriction base="xsd:string">
            <xsd:enumeration value="II" />
            <xsd:enumeration value="IC" />
        </xsd:restriction>
    </xsd:simpleType>
    <xsd:simpleType name="cantLocType">
        <xsd:restriction base="xsd:string">
            <xsd:length value="2" />
            <xsd:pattern value="[0-9]*" />
        </xsd:restriction>
    </xsd:simpleType>
    <xsd:simpleType name="trxImpType">
        <xsd:restriction base="xsd:string">
            <xsd:enumeration value="AI" />
            <xsd:enumeration value="NI" />
        </xsd:restriction>
    </xsd:simpleType>
    <xsd:simpleType name="rucType">
        <xsd:restriction base="xsd:string">
            <xsd:length value="13" />
            <xsd:pattern value="[0-9]{10}001" />
        </xsd:restriction>
    </xsd:simpleType>
    <xsd:simpleType name="montoType">
        <xsd:restriction base="xsd:decimal">
            <xsd:totalDigits value="19" />
            <xsd:fractionDigits value="2" />
            <xsd:minInclusive value="0" />
            <xsd:maxInclusive value="9999999999999999.99" />
        </xsd:restriction>
    </xsd:simpleType>
    <xsd:simpleType name="numTotalRegType">
        <xsd:restriction base="xsd:integer">
            <xsd:minInclusive value="0" />
            <xsd:maxInclusive value="99999999" />
        </xsd:restriction>
    </xsd:simpleType>
    <xsd:simpleType name="montoRevType">
        <xsd:restriction base="xsd:decimal">
            <xsd:totalDigits value="19" />
            <xsd:fractionDigits value="2" />
            <xsd:minInclusive value="0.00" />
            <xsd:maxInclusive value="9999999999999999.99" />
        </xsd:restriction>
    </xsd:simpleType>
    <xsd:simpleType name="codIfiType">
        <xsd:restriction base="xsd:string">
            <xsd:length value="4" />
            <xsd:pattern value="[0-9]*" />
        </xsd:restriction>
    </xsd:simpleType>
    <xsd:simpleType name="codEstrucType">
        <xsd:restriction base="xsd:string">
            <xsd:length value="3" />
            <xsd:pattern value="[A-Za-z0-9]*" />
        </xsd:restriction>
    </xsd:simpleType>
    <xsd:simpleType name="numDauType">
        <xsd:restriction base="xsd:string">
            <xsd:pattern value="[0-9]{17}" />
        </xsd:restriction>
    </xsd:simpleType>
    <xsd:simpleType name="numExeType">
        <xsd:restriction base="xsd:string">
            <xsd:pattern value="[0-9A-Z]{15}" />
        </xsd:restriction>
    </xsd:simpleType>
    <xsd:simpleType name="nomEntType">
        <xsd:restriction base="xsd:string">
            <xsd:pattern value="[\w\s\W]{3,150}" />
        </xsd:restriction>
    </xsd:simpleType>
    <xsd:complexType name="ifiType">
        <xsd:sequence>
            <xsd:element name="codEstruc" type="codEstrucType"
                minOccurs="0" />
            <xsd:element name="codIfi" type="codIfiType" />
            <xsd:element name="rucIfi" type="rucType" />
            <xsd:element name="periodoFiscal" type="fechaType" />
            <xsd:element name="numTotalReg" type="numTotalRegType" />
            <xsd:element name="transacionesFinales" type="transacionesFinalesType" minOccurs="0" />
            <xsd:element name="reversos" type="reversosType" minOccurs="0" />
        </xsd:sequence>
    </xsd:complexType>
    <xsd:complexType name="detalleTransacionesFinalesType">
        <xsd:sequence>
            <xsd:element name="tipoTrx" type="tipoTrxType" />
            <xsd:element name="numeroTrx" type="numeroTrxType" />
            <xsd:element name="fechaTrx" type="fechaType" />
            <xsd:element name="tipoIdLoc" type="tipoIdLocType" />
            <xsd:element name="numIdLoc" type="numIdLocType" />
            <xsd:element name="razSocialLoc" type="razSocialLocType" />
            <xsd:element name="dirLoc" type="dirLocType" />
            <xsd:element name="provLoc" type="provLocType" />
            <xsd:element name="cantLoc" type="cantLocType" />
            <xsd:element name="nomExt" type="nomExtType" />
            <xsd:element name="pais" type="paisType" />
            <xsd:element name="motTrx" type="motTrxType" />
            <xsd:element name="formaTrx" type="formaTrxType" />
            <xsd:element name="montoTrx" type="montoTrxType" />
            <xsd:element name="entidadTrx" type="entidadTrxType" />
            <xsd:element name="revTrx" type="revTrxType" />
            <xsd:element name="trxImp" type="trxImpType" minOccurs="0" />
            <xsd:element name="telfLoc" type="telfLocType" minOccurs="0" />
            <xsd:element name="codigoBIC" type="codigoBICType" minOccurs="0" />
            <xsd:element name="codigoABA" type="codigoABAType" minOccurs="0" />
            <xsd:element name="exent" type="exentType" minOccurs="0" />
            <xsd:element name="codMonTrx" type="codMonTrxType" />
            <xsd:element name="regisBce" type="regisBceType" minOccurs="0" />
            <xsd:element name="fechaBCE" type="fechaType" minOccurs="0" />
            <xsd:element name="montoExent" type="montoTrxType" minOccurs="0" />
            <xsd:element name="isd" type="isdType" minOccurs="0" />
            <xsd:element name="contReas" type="contReasType" minOccurs="0" />
            <xsd:element name="tarjCred" type="tarjCredType" minOccurs="0" />
            <xsd:element name="claseTarjCred" type="claseTarjCredType" minOccurs="0" />
            <xsd:element name="emisor" type="emisorType" minOccurs="0" />
            <xsd:element name="rucEnt" type="rucType" minOccurs="0" />
            <xsd:element name="numDau" type="numDauType" minOccurs="0" />
            <xsd:element name="numExe" type="numExeType" minOccurs="0" />
            <xsd:element name="nomEnt" type="nomEntType" minOccurs="0"/>
        </xsd:sequence>
    </xsd:complexType>
    <xsd:complexType name="detalleReversosType">
        <xsd:sequence>
            <xsd:element name="tipoTrxRev" type="tipoTrxType" />
            <xsd:element name="numeroTrx" type="numeroTrxType" />
            <xsd:element name="fechaTrxOrig" type="fechaType" />
            <xsd:element name="fechaRev" type="fechaType" />
            <xsd:element name="montoRev" type="montoRevType" />
            <xsd:element name="tipoIdRev" type="tipoIdLocType" />
            <xsd:element name="numIdRev" type="numIdLocType" />
            <xsd:element name="motTrxRev" type="motTrxType" />
            <xsd:element name="exentRev" type="exentType" minOccurs="0" />
            <xsd:element name="montoExentRev" type="montoType" minOccurs="0" />
            <xsd:element name="montoGrav" type="montoType" minOccurs="0" />
            <xsd:element name="isdRev" type="montoType" minOccurs="0" />
        </xsd:sequence>
    </xsd:complexType>
    <xsd:complexType name="transacionesFinalesType">
        <xsd:sequence>
            <xsd:element name="detalleTransacionesFinales" type="detalleTransacionesFinalesType"
                maxOccurs="unbounded" />
        </xsd:sequence>
    </xsd:complexType>
    <xsd:complexType name="reversosType">
        <xsd:sequence>
            <xsd:element name="detalleReversos" type="detalleReversosType"
                minOccurs="0" maxOccurs="unbounded" />
        </xsd:sequence>
    </xsd:complexType>
    <xsd:element name="ifi" type="ifiType" />
</xsd:schema>