<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">
    <xs:element name="ice" type="iceMensType"/>
    <xs:complexType name="iceMensType">
        <xs:sequence>
            <xs:element name="TipoIDInformante">
                <xs:simpleType>
                    <xs:restriction base="xs:string">
                        <xs:enumeration value="R"/>
                        <xs:length value="1"/>
                        <xs:whiteSpace value="collapse"/>
                    </xs:restriction>
                </xs:simpleType>
            </xs:element>
            <xs:element name="IdInformante" type="numeroRucType"/>
            <xs:element name="razonSocial" type="razonSocialType">
                <xs:annotation>
                    <xs:documentation>Razon o denominacion social</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element name="Anio" type="anioType">
          <xs:annotation>
          <xs:documentation>Anio - periodo informado</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Mes" type="mesType">
        <xs:annotation>
          <xs:documentation>Mes - periodo informado</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="actImport" type="actImportType">
        <xs:annotation>
          <xs:documentation>Actividades de Importacion</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="codigoOperativo" type="codigoOperativoType">
      </xs:element>
      <xs:element name="ventas" type="detalleVentasType" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>MODULO 1:Detalle Ventas</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element maxOccurs="1" minOccurs="0" name="importaciones" type="importacionesType">
        <xs:annotation>
          <xs:documentation>MODULO 2: Detalle Importacion</xs:documentation>
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>
  <xs:simpleType name="actImportType">
    <xs:restriction base="xs:string">
      <xs:length value="2"></xs:length>
      <xs:pattern value="0[12]"></xs:pattern>
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="detalleVentasType">
    <xs:sequence>
      <xs:element maxOccurs="unbounded" minOccurs="0" name="vta" type="vtaType"/>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="vtaType">
    <xs:sequence>
      <xs:element name="codProdICE" type="codProdICEType"/>
      <xs:element name="tipoIdCliente" type="tipoIdClienteType"/>
      <xs:element name="idCliente" type="numeroRucClienteType"/>
      <xs:element name="tipoVentaICE" type="tipoVentaICEType"/>
      <xs:element name="ventaICE" type="ventaICEType"/>
      <xs:element name="devICE" type="devICEType"/>
      <xs:element name="cantProdBajaICE" type="cantProdBajaICEType"/>
    </xs:sequence>
  </xs:complexType>
  <xs:simpleType name="cantProdBajaICEType">
    <xs:restriction base="xs:integer">
      <xs:fractionDigits value="0"></xs:fractionDigits>
      <xs:pattern value="[0-9]{1,15}"></xs:pattern>
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="importacionesType">
    <xs:sequence>
      <xs:element name="imp" type="impotacionesType" minOccurs="0" maxOccurs="unbounded">
        <xs:annotation>
          <xs:documentation>Detalle Importaciones</xs:documentation>
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="impotacionesType">
    <xs:sequence>
      <xs:element name="impCodProdICE" type="impCodProdICEType"/>
      <xs:element name="refICE" type="refICEType"/>
      <xs:element name="impFDesadICE" type="impFDesadICEType"/>
      <xs:element name="paisICE" type="paisICEType"/>
      <xs:element minOccurs="1" name="impCantICE" type="impCantICEType">
      </xs:element>
    </xs:sequence>
  </xs:complexType>
  <xs:simpleType name="cantidadProdFabriType">
    <xs:restriction base="xs:decimal">
      <xs:maxInclusive value="999999999999.99"/>
      <xs:minInclusive value="0.0"/>
      <xs:pattern value="[0-9]{1,10}\.[0-9]{2}|[0-9]{1,10}"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="cantidadProdBajaType">
    <xs:restriction base="xs:decimal">
      <xs:maxInclusive value="999999999999.99"/>
      <xs:minInclusive value="0.0"/>
      <xs:pattern value="[0-9]{1,10}\.[0-9]{2}|[0-9]{1,10}"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="devICEType">
    <xs:restriction base="xs:integer">
      <xs:fractionDigits value="0"></xs:fractionDigits>
      <xs:pattern value="[0-9]{1,15}"></xs:pattern>
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="codProdICEType">
    <xs:restriction base="xs:string">
      <xs:pattern value="[0-9]{4,4}\-[0-9]{2,2}\-[0-9]{6,6}\-[0-9]{3,3}\-[0-9]{6,6}\-[0-9]{2,2}\-[0-9]{3,3}\-[0-9]{6,6}"/>
      <xs:length value="39"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="idMateriaPrimaType">
    <xs:restriction base="xs:string">
      <xs:minLength value="0"/>
      <xs:maxLength value="2"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="numeroRucType">
    <xs:annotation>
      <xs:documentation/>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:pattern value="[0-9]{10}001"/>
      <xs:length value="13"/>
      <xs:whiteSpace value="collapse"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="numeroRucClienteType">
    <xs:annotation>
      <xs:documentation/>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:pattern value="[0-9A-Z]{3,13}"/>
      <xs:minLength value="3"/>
      <xs:maxLength value="13"/>
      <xs:whiteSpace value="collapse"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="anioType">
    <xs:annotation>
      <xs:documentation>Se detalla el anio correspondiente a la informacion
        que esta presentando el contribuyente, consta de cuatro digitos: Ej:
        2003, 2004, 2005, etc.
      </xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:integer">
      <xs:minInclusive value="2008"/>
      <xs:maxInclusive value="9999"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="mesType">
    <xs:annotation>
      <xs:documentation>Corresponde al periodo informado compuesto de dos
        digitos que van desde el 01 hasta el 12, corresponde al mes
        informado.
      </xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:maxLength value="2"/>
      <xs:minLength value="2"/>
      <xs:pattern value="(0[0-9]|1[012])"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="tipoIdClienteType">
    <xs:restriction base="xs:string">
      <xs:enumeration value="R"/>
      <xs:enumeration value="C"/>
      <xs:enumeration value="P"/>
      <xs:enumeration value="F"/>
      <xs:length value="1"/>
      <xs:whiteSpace value="collapse"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="tipoVentaICEType">
    <xs:restriction base="xs:string">
      <xs:length value="1"/>
      <xs:pattern value="[12]"></xs:pattern>
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="paisICEType">
    <xs:restriction base="xs:string">
      <xs:minLength value="2"/>
      <xs:maxLength value="3"/>
      <xs:pattern value="[0-9]{2,3}"></xs:pattern>
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="refICEType">
    <xs:restriction base="xs:string">
      <xs:length value="20"/>
      <xs:pattern value="[0-9]{3,3}\-[0-9]{4,4}\-[0-9]{2,2}\-[0-9]{8,8}"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="ventaICEType">
    <xs:restriction base="xs:integer">
      <xs:fractionDigits value="0"></xs:fractionDigits>
      <xs:pattern value="[0-9]{1,15}"></xs:pattern>
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="fechaType">
    <xs:annotation>
      <xs:documentation>
      </xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:pattern value="(0[1-9]|[12][0-9]|3[01])[/](0[1-9]|1[012])[/](19|20)\d\d"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="monedaType">
    <xs:restriction base="xs:decimal">
      <xs:minInclusive value="0.0"/>
      <xs:maxInclusive value="999999999999.99"/>
      <xs:pattern value="[0-9]{1,12}\.[0-9]{2}|[0-9]{1,12}"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="codigoOperativoType">
    <xs:restriction base="xs:string">
      <xs:enumeration value="ICE"/>
      <xs:length value="3"/>
      <xs:whiteSpace value="collapse"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="impCodProdICEType">
    <xs:restriction base="xs:string">
      <xs:length value="39"/>
      <xs:pattern value="[0-9]{4,4}\-[0-9]{2,2}\-[0-9]{6,6}\-[0-9]{3,3}\-[0-9]{6,6}\-[0-9]{2,2}\-[0-9]{3,3}\-[0-9]{6,6}"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="impFDesadICEType">
    <xs:annotation>
      <xs:documentation>
      </xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:pattern value="(0[1-9]|[12][0-9]|3[01])[/](0[1-9]|1[012])[/](19|20)\d\d"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="impCantICEType">
    <xs:restriction base="xs:integer">
      <xs:fractionDigits value="0"></xs:fractionDigits>
      <xs:pattern value="[0-9]{1,10}"></xs:pattern>
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="razonSocialType">
    <xs:annotation>
      <xs:documentation>
      </xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:maxLength value="500"/>
      <xs:minLength value="5"/>
      <xs:pattern value="[a-zA-Z0-9][a-zA-Z0-9\s]+[a-zA-Z0-9\s]"/>
    </xs:restriction>
  </xs:simpleType>
</xs:schema>