Subversion Repositories Integrator Subversion

Rev

Blame | Last modification | View Log | Download | RSS feed

<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:ds="http://www.w3.org/2000/09/xmldsig#" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns="http://www.portalfiscal.inf.br/nfe" targetNamespace="http://www.portalfiscal.inf.br/nfe" elementFormDefault="qualified" attributeFormDefault="unqualified">
        <xs:import namespace="http://www.w3.org/2000/09/xmldsig#" schemaLocation="xmldsig-core-schema_v1.01.xsd"/>
        <xs:include schemaLocation="tiposBasico_v1.03.xsd"/>
        <xs:complexType name="TEvento">
                <xs:annotation>
                        <xs:documentation>Tipo Evento</xs:documentation>
                </xs:annotation>
                <xs:sequence>
                        <xs:element name="infEvento">
                                <xs:complexType>
                                        <xs:sequence>
                                                <xs:element name="cOrgao" type="TCOrgaoIBGE">
                                                        <xs:annotation>
                                                                <xs:documentation>Código do órgão de recepção do Evento. Utilizar a Tabela do IBGE extendida, utilizar 90 para identificar o Ambiente Nacional</xs:documentation>
                                                        </xs:annotation>
                                                </xs:element>
                                                <xs:element name="tpAmb" type="TAmb">
                                                        <xs:annotation>
                                                                <xs:documentation>Identificação do Ambiente:
1 - Produção
2 - Homologação</xs:documentation>
                                                        </xs:annotation>
                                                </xs:element>
                                                <xs:choice>
                                                        <xs:annotation>
                                                                <xs:documentation>Identificação do  autor do evento</xs:documentation>
                                                        </xs:annotation>
                                                        <xs:element name="CNPJ" type="TCnpjOpc">
                                                                <xs:annotation>
                                                                        <xs:documentation>CNPJ</xs:documentation>
                                                                </xs:annotation>
                                                        </xs:element>
                                                        <xs:element name="CPF" type="TCpf">
                                                                <xs:annotation>
                                                                        <xs:documentation>CPF</xs:documentation>
                                                                </xs:annotation>
                                                        </xs:element>
                                                </xs:choice>
                                                <xs:element name="chNFe" type="TChNFe">
                                                        <xs:annotation>
                                                                <xs:documentation>Chave de Acesso da NF-e vinculada ao evento</xs:documentation>
                                                        </xs:annotation>
                                                </xs:element>
                                                <xs:element name="dhEvento" type="TDateTimeUTC">
                                                        <xs:annotation>
                                                                <xs:documentation>Data e Hora do Evento, formato UTC (AAAA-MM-DDThh:mm:ssTZD, onde TZD = +hh:mm ou -hh:mm)</xs:documentation>
                                                        </xs:annotation>
                                                </xs:element>
                                                <xs:element name="tpEvento">
                                                        <xs:annotation>
                                                                <xs:documentation>Tipo do Evento:
210200 - Confirmacao da Operação
210210 – Ciência da Operação
210220 - Deconhecimento da operacao
210240 - Operação não Realizada</xs:documentation>
                                                        </xs:annotation>
                                                        <xs:simpleType>
                                                                <xs:restriction base="xs:string">
                                                                        <xs:whiteSpace value="preserve"/>
                                                                        <xs:pattern value="[0-9]{6}"/>
                                                                        <xs:enumeration value="210200"/>
                                                                        <xs:enumeration value="210210"/>
                                                                        <xs:enumeration value="210220"/>
                                                                        <xs:enumeration value="210240"/>
                                                                </xs:restriction>
                                                        </xs:simpleType>
                                                </xs:element>
                                                <xs:element name="nSeqEvento">
                                                        <xs:annotation>
                                                                <xs:documentation>Seqüencial do evento para o mesmo tipo de evento.  Para maioria dos eventos será 1, nos casos em que possa existir mais de um evento, como é o caso da carta de correção, o autor do evento deve numerar de forma seqüencial.</xs:documentation>
                                                        </xs:annotation>
                                                        <xs:simpleType>
                                                                <xs:restriction base="xs:string">
                                                                        <xs:whiteSpace value="preserve"/>
                                                                        <xs:pattern value="[0-9]{1,2}"/>
                                                                </xs:restriction>
                                                        </xs:simpleType>
                                                </xs:element>
                                                <xs:element name="verEvento" type="TVerEnvEvento">
                                                        <xs:annotation>
                                                                <xs:documentation>Versão do Tipo do Evento</xs:documentation>
                                                        </xs:annotation>
                                                </xs:element>
                                                <xs:element name="detEvento">
                                                        <xs:annotation>
                                                                <xs:documentation>Evento da confirmação de recebimento e210200</xs:documentation>
                                                        </xs:annotation>
                                                        <xs:complexType>
                                                                <xs:sequence>
                                                                        <xs:element name="descEvento">
                                                                                <xs:annotation>
                                                                                        <xs:documentation>Descrição do Evento:
                                                                                         "Confirmacao da Operacao"
                                                                                         "Ciencia da Operacao"
                                                                                         "Desconhecimento da Operacao"
                                                                                         "Operação não Realizada"</xs:documentation>
                                                                                </xs:annotation>
                                                                                <xs:simpleType>
                                                                                        <xs:restriction base="xs:string">
                                                                                                <xs:whiteSpace value="preserve"/>
                                                                                                <xs:enumeration value="Confirmacao da Operacao"/>
                                                                                                <xs:enumeration value="Ciencia da Operacao"/>
                                                                                                <xs:enumeration value="Desconhecimento da Operacao"/>
                                                                                                <xs:enumeration value="Operacao nao Realizada"/>
                                                                                        </xs:restriction>
                                                                                </xs:simpleType>
                                                                        </xs:element>
                                                                        <xs:element name="xJust" minOccurs="0">
                                                                                <xs:annotation>
                                                                                        <xs:documentation>Justificativa de Operação não Realizada</xs:documentation>
                                                                                </xs:annotation>
                                                                                <xs:simpleType>
                                                                                        <xs:restriction base="xs:string">
                                                                                                <xs:whiteSpace value="preserve"/>
                                                                                                <xs:minLength value="15"/>
                                                                                                <xs:maxLength value="255"/>
                                                                                                <xs:pattern value="[!-ÿ]{1}[ -ÿ]{0,}[!-ÿ]{1}|[!-ÿ]{1}"/>
                                                                                        </xs:restriction>
                                                                                </xs:simpleType>
                                                                        </xs:element>
                                                                </xs:sequence>
                                                                <xs:attribute name="versao" use="required">
                                                                        <xs:simpleType>
                                                                                <xs:restriction base="xs:string">
                                                                                        <xs:whiteSpace value="preserve"/>
                                                                                        <xs:enumeration value="1.00"/>
                                                                                </xs:restriction>
                                                                        </xs:simpleType>
                                                                </xs:attribute>
                                                        </xs:complexType>
                                                </xs:element>
                                        </xs:sequence>
                                        <xs:attribute name="Id" use="required">
                                                <xs:annotation>
                                                        <xs:documentation>Identificador da TAG a ser assinada, a regra de formação do Id é:
“ID” + tpEvento +  chave da NF-e + nSeqEvento</xs:documentation>
                                                </xs:annotation>
                                                <xs:simpleType>
                                                        <xs:restriction base="xs:ID">
                                                                <xs:pattern value="ID[0-9]{52}"/>
                                                        </xs:restriction>
                                                </xs:simpleType>
                                        </xs:attribute>
                                </xs:complexType>
                        </xs:element>
                        <xs:element ref="ds:Signature"/>
                </xs:sequence>
                <xs:attribute name="versao" type="TVerEvento" use="required"/>
        </xs:complexType>
        <xs:complexType name="TretEvento">
                <xs:annotation>
                        <xs:documentation>Tipo retorno do Evento</xs:documentation>
                </xs:annotation>
                <xs:sequence>
                        <xs:element name="infEvento">
                                <xs:complexType>
                                        <xs:sequence>
                                                <xs:element name="tpAmb" type="TAmb">
                                                        <xs:annotation>
                                                                <xs:documentation>Identificação do Ambiente:
1 - Produção
2 - Homologação</xs:documentation>
                                                        </xs:annotation>
                                                </xs:element>
                                                <xs:element name="verAplic" type="TVerAplic">
                                                        <xs:annotation>
                                                                <xs:documentation>Versão do Aplicativo que recebeu o Evento</xs:documentation>
                                                        </xs:annotation>
                                                </xs:element>
                                                <xs:element name="cOrgao" type="TCOrgaoIBGE">
                                                        <xs:annotation>
                                                                <xs:documentation>Código do órgão de recepção do Evento. Utilizar a Tabela do IBGE extendida, utilizar 91 para identificar o Ambiente Nacional</xs:documentation>
                                                        </xs:annotation>
                                                </xs:element>
                                                <xs:element name="cStat" type="TStat">
                                                        <xs:annotation>
                                                                <xs:documentation>Código do status da registro do Evento</xs:documentation>
                                                        </xs:annotation>
                                                </xs:element>
                                                <xs:element name="xMotivo" type="TMotivo">
                                                        <xs:annotation>
                                                                <xs:documentation>Descrição literal do status do registro do Evento</xs:documentation>
                                                        </xs:annotation>
                                                </xs:element>
                                                <xs:element name="chNFe" type="TChNFe" minOccurs="0">
                                                        <xs:annotation>
                                                                <xs:documentation>Chave de Acesso NF-e vinculada</xs:documentation>
                                                        </xs:annotation>
                                                </xs:element>
                                                <xs:element name="tpEvento" minOccurs="0">
                                                        <xs:annotation>
                                                                <xs:documentation>Tipo do Evento vinculado</xs:documentation>
                                                        </xs:annotation>
                                                        <xs:simpleType>
                                                                <xs:restriction base="xs:string">
                                                                        <xs:whiteSpace value="preserve"/>
                                                                        <xs:pattern value="[0-9]{6}"/>
                                                                </xs:restriction>
                                                        </xs:simpleType>
                                                </xs:element>
                                                <xs:element name="xEvento" minOccurs="0">
                                                        <xs:annotation>
                                                                <xs:documentation>Descrição do Evento</xs:documentation>
                                                        </xs:annotation>
                                                        <xs:simpleType>
                                                                <xs:restriction base="TString">
                                                                        <xs:minLength value="5"/>
                                                                        <xs:maxLength value="60"/>
                                                                </xs:restriction>
                                                        </xs:simpleType>
                                                </xs:element>
                                                <xs:element name="nSeqEvento" minOccurs="0">
                                                        <xs:annotation>
                                                                <xs:documentation>Seqüencial do evento</xs:documentation>
                                                        </xs:annotation>
                                                        <xs:simpleType>
                                                                <xs:restriction base="xs:string">
                                                                        <xs:whiteSpace value="preserve"/>
                                                                        <xs:pattern value="[0-9]{1,2}"/>
                                                                </xs:restriction>
                                                        </xs:simpleType>
                                                </xs:element>
                                                <xs:choice minOccurs="0">
                                                        <xs:annotation>
                                                                <xs:documentation>Identificação do  destinatpario da NF-e</xs:documentation>
                                                        </xs:annotation>
                                                        <xs:element name="CNPJDest" type="TCnpjOpc">
                                                                <xs:annotation>
                                                                        <xs:documentation>CNPJ Destinatário</xs:documentation>
                                                                </xs:annotation>
                                                        </xs:element>
                                                        <xs:element name="CPFDest" type="TCpf">
                                                                <xs:annotation>
                                                                        <xs:documentation>CPF Destiantário</xs:documentation>
                                                                </xs:annotation>
                                                        </xs:element>
                                                </xs:choice>
                                                <xs:element name="emailDest" minOccurs="0">
                                                        <xs:annotation>
                                                                <xs:documentation>email do destinatário</xs:documentation>
                                                        </xs:annotation>
                                                        <xs:simpleType>
                                                                <xs:restriction base="TString">
                                                                        <xs:minLength value="1"/>
                                                                        <xs:maxLength value="60"/>
                                                                </xs:restriction>
                                                        </xs:simpleType>
                                                </xs:element>
                                                <xs:element name="dhRegEvento">
                                                        <xs:annotation>
                                                                <xs:documentation>Data e Hora de do recebimento do evento ou do registro do evento formato UTC AAAA-MM-DDThh:mm:ssTZD.</xs:documentation>
                                                        </xs:annotation>
                                                        <xs:simpleType>
                                                                <xs:restriction base="xs:string">
                                                                        <xs:whiteSpace value="preserve"/>
                                                                        <xs:pattern value="(((20(([02468][048])|([13579][26]))-02-29))|(20[0-9][0-9])-((((0[1-9])|(1[0-2]))-((0[1-9])|(1\d)|(2[0-8])))|((((0[13578])|(1[02]))-31)|(((0[1,3-9])|(1[0-2]))-(29|30)))))T(20|21|22|23|[0-1]\d):[0-5]\d:[0-5]\d-0[1-3]:00"/>
                                                                </xs:restriction>
                                                        </xs:simpleType>
                                                </xs:element>
                                                <xs:element name="nProt" type="TProt" minOccurs="0">
                                                        <xs:annotation>
                                                                <xs:documentation>Número do protocolo de registro do evento</xs:documentation>
                                                        </xs:annotation>
                                                </xs:element>
                                        </xs:sequence>
                                        <xs:attribute name="Id" use="optional">
                                                <xs:simpleType>
                                                        <xs:restriction base="xs:ID">
                                                                <xs:pattern value="ID[0-9]{15}"/>
                                                        </xs:restriction>
                                                </xs:simpleType>
                                        </xs:attribute>
                                </xs:complexType>
                        </xs:element>
                        <xs:element ref="ds:Signature" minOccurs="0"/>
                </xs:sequence>
                <xs:attribute name="versao" type="TVerEvento" use="required"/>
        </xs:complexType>
        <xs:complexType name="TEnvEvento">
                <xs:annotation>
                        <xs:documentation> Tipo Lote de Envio</xs:documentation>
                </xs:annotation>
                <xs:sequence>
                        <xs:element name="idLote">
                                <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                                <xs:whiteSpace value="preserve"/>
                                                <xs:pattern value="[0-9]{1,15}"/>
                                        </xs:restriction>
                                </xs:simpleType>
                        </xs:element>
                        <xs:element name="evento" type="TEvento" maxOccurs="20"/>
                </xs:sequence>
                <xs:attribute name="versao" type="TVerEnvEvento" use="required"/>
        </xs:complexType>
        <xs:complexType name="TRetEnvEvento">
                <xs:annotation>
                        <xs:documentation> Tipo Retorno de Lote de Envio</xs:documentation>
                </xs:annotation>
                <xs:sequence>
                        <xs:element name="idLote">
                                <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                                <xs:whiteSpace value="preserve"/>
                                                <xs:pattern value="[0-9]{1,15}"/>
                                        </xs:restriction>
                                </xs:simpleType>
                        </xs:element>
                        <xs:element name="tpAmb" type="TAmb">
                                <xs:annotation>
                                        <xs:documentation>Identificação do Ambiente:
1 - Produção
2 - Homologação</xs:documentation>
                                </xs:annotation>
                        </xs:element>
                        <xs:element name="verAplic" type="TVerAplic">
                                <xs:annotation>
                                        <xs:documentation>Versão do Aplicativo que recebeu o Evento</xs:documentation>
                                </xs:annotation>
                        </xs:element>
                        <xs:element name="cOrgao" type="TCOrgaoIBGE">
                                <xs:annotation>
                                        <xs:documentation>Código do òrgao que registrou o Evento</xs:documentation>
                                </xs:annotation>
                        </xs:element>
                        <xs:element name="cStat" type="TStat">
                                <xs:annotation>
                                        <xs:documentation>Código do status da registro do Evento</xs:documentation>
                                </xs:annotation>
                        </xs:element>
                        <xs:element name="xMotivo" type="TMotivo">
                                <xs:annotation>
                                        <xs:documentation>Descrição literal do status do registro do Evento</xs:documentation>
                                </xs:annotation>
                        </xs:element>
                        <xs:element name="retEvento" type="TretEvento" minOccurs="0" maxOccurs="20"/>
                </xs:sequence>
                <xs:attribute name="versao" type="TVerEnvEvento" use="required"/>
        </xs:complexType>
        <xs:complexType name="TProcEvento">
                <xs:annotation>
                        <xs:documentation>Tipo procEvento</xs:documentation>
                </xs:annotation>
                <xs:sequence>
                        <xs:element name="evento" type="TEvento"/>
                        <xs:element name="retEvento" type="TretEvento"/>
                </xs:sequence>
                <xs:attribute name="versao" type="TVerEvento" use="required"/>
        </xs:complexType>
        <xs:simpleType name="TVerEnvEvento">
                <xs:annotation>
                        <xs:documentation>Tipo Versão do EnvEvento</xs:documentation>
                </xs:annotation>
                <xs:restriction base="xs:string">
                        <xs:whiteSpace value="preserve"/>
                        <xs:pattern value="1\.00"/>
                </xs:restriction>
        </xs:simpleType>
        <xs:simpleType name="TVerEvento">
                <xs:annotation>
                        <xs:documentation>Tipo Versão do Evento</xs:documentation>
                </xs:annotation>
                <xs:restriction base="xs:string">
                        <xs:whiteSpace value="preserve"/>
                        <xs:pattern value="1\.00"/>
                </xs:restriction>
        </xs:simpleType>
        <xs:simpleType name="TCOrgaoIBGE">
                <xs:annotation>
                        <xs:documentation>Tipo Código de orgão (UF da tabela do IBGE + 90 SUFRAMA + 91 - RFB)</xs:documentation>
                </xs:annotation>
                <xs:restriction base="xs:string">
                        <xs:whiteSpace value="preserve"/>
                        <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:enumeration value="21"/>
                        <xs:enumeration value="22"/>
                        <xs:enumeration value="23"/>
                        <xs:enumeration value="24"/>
                        <xs:enumeration value="25"/>
                        <xs:enumeration value="26"/>
                        <xs:enumeration value="27"/>
                        <xs:enumeration value="28"/>
                        <xs:enumeration value="29"/>
                        <xs:enumeration value="31"/>
                        <xs:enumeration value="32"/>
                        <xs:enumeration value="33"/>
                        <xs:enumeration value="35"/>
                        <xs:enumeration value="41"/>
                        <xs:enumeration value="42"/>
                        <xs:enumeration value="43"/>
                        <xs:enumeration value="50"/>
                        <xs:enumeration value="51"/>
                        <xs:enumeration value="52"/>
                        <xs:enumeration value="53"/>
                        <xs:enumeration value="90"/>
                        <xs:enumeration value="91"/>
                </xs:restriction>
        </xs:simpleType>
</xs:schema>