Download lucas-simoes / php-nfse / SchemaCaxias-NFSe.xsd - Solve class 'SchemaCaxias-NFSe' not found

This file is part of the package lucas-simoes/php-nfse. Please go to our download page to download this composer package and to solve the problem class 'SchemaCaxias-NFSe' not found.
Download lucas-simoes/php-nfse
Class is not correct? Search class


<?xml version="1.0" encoding="UTF-8"?> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:ds="http://www.w3.org/2000/09/xmldsig#" attributeFormDefault="unqualified" elementFormDefault="qualified"> <xs:import namespace="http://www.w3.org/2000/09/xmldsig#" schemaLocation="xmldsig-core-schema_v1.01.xsd"/> <!-- *********************************************************** --> <!-- **** XML para Prefeitura de Caxias do Sul - RS ***** --> <!-- **** NFS-e: Nota Fiscal de Serviços eletrônica ***** --> <!-- **** Data da Última Atualização: 2015-08-10 17:00 ***** --> <!-- *********************************************************** --> <!-- Definicao de estruturas para chamadas dos serviços Web --> <!-- Definicao da estrutura de dados para Envio de Lote NFSe --> <xs:element name="envioLote"> <xs:complexType> <xs:sequence> <!-- CNPJ de um contribuinte --> <xs:element name="CNPJ" type="TCnpj"/> <!-- Data e hora da transmissao do lote --> <xs:element name="dhTrans" type="TDataHora" /> <!-- Notas fiscais de servico do lote --> <xs:element ref="NFS-e" minOccurs="1" maxOccurs="999"/> <!-- Assinatura digital --> <xs:element ref="ds:Signature" minOccurs="0" maxOccurs="1"/> </xs:sequence> <xs:attribute name="versao" use="required" type="xs:string" fixed="1.0"/> </xs:complexType> </xs:element> <!-- Definicao da estrutura de dados para confirmacao de recebimento de Lote NFSe --> <xs:element name="confirmaLote"> <xs:complexType> <xs:sequence> <!-- CNPJ de um contribuinte --> <xs:element name="CNPJ" type="TCnpj"/> <!-- Protocolo do Lote --> <xs:element name="cLote" type="TString15"/> <!-- Data e hora do recebimento do lote --> <xs:element name="dhRecbto" type="TDataHora" /> <!-- Situacao do lote --> <xs:element name="sit" type="TSituacaoLote"/> <!-- Motivo --> <xs:element name="mot" type="TString100"/> <!-- Assinatura digital --> <xs:element ref="ds:Signature" minOccurs="0" maxOccurs="1"/> </xs:sequence> <xs:attribute name="versao" use="required" type="xs:string" fixed="1.0"/> </xs:complexType> </xs:element> <!-- Definicao da estrutura de dados para Pedido de Status de Lote NFSe --> <xs:element name="pedidoStatusLote"> <xs:complexType> <xs:sequence> <!-- CNPJ de um contribuinte --> <xs:element name="CNPJ" type="TCnpj" minOccurs="1"/> <!-- Número do lote --> <xs:element name="cLote" type="TString15" minOccurs="1"/> <!-- Assinatura digital --> <xs:element ref="ds:Signature" minOccurs="0" maxOccurs="1"/> </xs:sequence> <xs:attribute name="versao" use="required" type="xs:string" fixed="1.0"/> </xs:complexType> </xs:element> <!-- Definicao de estrutura de dados para confirmacao de recebimento de status do lote--> <xs:element name="resultadoLote"> <xs:complexType> <xs:sequence> <!-- CNPJ de um contribuinte --> <xs:element name="CNPJ" type="TCnpj" minOccurs="1"/> <!-- Número do lote --> <xs:element name="cLote" type="TString15" minOccurs="1"/> <!-- Nota Fiscal eletronica --> <xs:element ref="NFSe" minOccurs="1" maxOccurs="999"/> <!-- Assinatura digital --> <xs:element ref="ds:Signature" minOccurs="0" maxOccurs="1"/> </xs:sequence> <xs:attribute name="versao" use="required" type="xs:string" fixed="1.0"/> </xs:complexType> </xs:element> <!-- Definicao da estrutura de situacao da NFSe --> <xs:element name="NFSe"> <xs:complexType> <xs:sequence> <!-- Número do lote --> <xs:element name="chvAcessoNFSe" type="TChaveAcesso" minOccurs="0" maxOccurs="1"/> <!-- Situacao do lote --> <xs:element name="sit" type="TSituacaoLote"/> <!-- Motivo --> <xs:element ref="motivos"/> </xs:sequence> </xs:complexType> </xs:element> <!-- Definicao da estrutura motivos--> <xs:element name="motivos"> <xs:complexType> <xs:sequence> <!-- Motivo --> <xs:element name="mot" type="TString100" minOccurs="1" maxOccurs="999"/> </xs:sequence> </xs:complexType> </xs:element> <!-- Definicao da estrutura de dados para Pedido de Cancelamento de Lote NFSe --> <xs:element name="pedidoCancelamentoLote"> <xs:complexType> <xs:sequence> <!-- CNPJ de um contribuinte --> <xs:element name="CNPJ" type="TCnpj" minOccurs="1"/> <!-- Número do lote --> <xs:element name="cLote" type="TString15" minOccurs="1"/> <!-- Assinatura digital --> <xs:element ref="ds:Signature" minOccurs="0" maxOccurs="1"/> </xs:sequence> <xs:attribute name="versao" use="required" type="xs:string" fixed="1.0"/> </xs:complexType> </xs:element> <!-- Definicao da estrutura de dados para retorno de pedido de Cancelamento de Lote NFSe --> <xs:element name="confirmaCancelamentoLote"> <xs:complexType> <xs:sequence> <!-- CNPJ de um contribuinte --> <xs:element name="CNPJ" type="TCnpj" minOccurs="1"/> <!-- Número do lote --> <xs:element name="cLote" type="TString15" minOccurs="1"/> <!-- Número do lote --> <xs:element name="dhRecbto" type="TDataHora" minOccurs="1"/> <!-- Situacao --> <xs:element name="sit" type="TSituacaoLote"/> <!-- Motivo --> <xs:element name="mot" type="TString256" minOccurs="1" maxOccurs="1"/> <!-- Assinatura digital --> <xs:element ref="ds:Signature" minOccurs="0" maxOccurs="1"/> </xs:sequence> <xs:attribute name="versao" use="required" type="xs:string" fixed="1.0"/> </xs:complexType> </xs:element> <!-- Definicao da estrutura de dados para Pedido de um Lote NFSe --> <xs:element name="pedidoLoteNFSe"> <xs:complexType> <xs:sequence> <!-- CNPJ de um contribuinte --> <xs:element name="CNPJ" type="TCnpj" minOccurs="1"/> <!-- Numero da nota inicial --> <xs:element name="notaInicial" type="TNF" minOccurs="0" maxOccurs="1"/> <!-- Numero da nota final --> <xs:element name="notaFinal" type="TNF" minOccurs="0" maxOccurs="1"/> <!-- Data de emissao inicial --> <xs:element name="emissaoInicial" type="TData" minOccurs="0" maxOccurs="1"/> <!-- Data de emissao final --> <xs:element name="emissaoFinal" type="TData" minOccurs="0" maxOccurs="1"/> <!-- Serie das notas --> <xs:element name="serieNotaFiscal" type="TSerie" minOccurs="0" maxOccurs="1"/> <!-- Assinatura digital --> <xs:element ref="ds:Signature" minOccurs="0" maxOccurs="1"/> </xs:sequence> <xs:attribute name="versao" use="required" type="xs:string" fixed="1.0"/> </xs:complexType> </xs:element> <!-- Definicao da estrutura de dados para Pedido de um Lote NFSe --> <xs:element name="resPedidoLoteNFSe"> <xs:complexType> <xs:sequence> <!-- CNPJ de um contribuinte --> <xs:element name="CNPJ" type="TCnpj" minOccurs="1"/> <!-- Numero da nota inicial --> <xs:element name="dhRecbto" type="TDataHora" minOccurs="1" maxOccurs="1"/> <!-- Numero da nota inicial --> <xs:element ref="NFS-e" minOccurs="1" maxOccurs="500"/> <!-- Situacao --> <xs:element name="sit" type="TSituacaoLote"/> <xs:element ref="ds:Signature" minOccurs="0" maxOccurs="1"/> </xs:sequence> <xs:attribute name="versao" use="required" type="xs:string" fixed="1.0"/> </xs:complexType> </xs:element> <!-- Definicao da estrutura de dados para Cancelamento de uma NFSe --> <xs:element name="pedCancelaNFSe"> <xs:complexType> <xs:sequence> <!-- CNPJ de um contribuinte --> <xs:element name="CNPJ" type="TCnpj" minOccurs="1"/> <!-- Chave de acesso --> <xs:element name="chvAcessoNFS-e" type="TChaveAcesso" minOccurs="1"/> <!-- Motivo --> <xs:element name="motivo" type="TMotCanc" /> <!-- Assinatura digital --> <xs:element ref="ds:Signature" minOccurs="0" maxOccurs="1"/> </xs:sequence> <xs:attribute name="versao" use="required" type="xs:string" fixed="1.0"/> </xs:complexType> </xs:element> <!-- Definicao da estrutura de dados para Cancelamento de uma NFSe --> <xs:element name="resCancelaNFSe"> <xs:complexType> <xs:sequence> <!-- CNPJ de um contribuinte --> <xs:element name="CNPJ" type="TCnpj" minOccurs="1"/> <!-- Chave de acesso --> <xs:element name="chvAcessoNFS-e" type="TChaveAcesso" minOccurs="1"/> <!-- Data Hora recebimento --> <xs:element name="dhRecbto" type="TDataHora" /> <!-- Numero Protocolo --> <xs:element name="nProt" type="TString15" /> <!-- Situacao --> <xs:element name="sit" type="TSituacaoCancelamentoNota"/> <!-- Motivo --> <xs:element name="mot" type="TString256" minOccurs="0"/> <!-- Assinatura digital --> <xs:element ref="ds:Signature" minOccurs="0" maxOccurs="1"/> </xs:sequence> <xs:attribute name="versao" use="required" type="xs:string" fixed="1.0"/> </xs:complexType> </xs:element> <!-- Definicao da estrutura de dados para Pedido de uma NFSe --> <xs:element name="pedidoNFSe"> <xs:complexType> <xs:sequence> <!-- CNPJ de um contribuinte --> <xs:element name="CNPJ" type="TCnpj" minOccurs="1"/> <!-- Chave de acesso --> <xs:element name="chvAcessoNFS-e" type="TChaveAcesso" minOccurs="1"/> <!-- Assinatura digital --> <xs:element ref="ds:Signature" minOccurs="0" maxOccurs="1"/> </xs:sequence> <xs:attribute name="versao" use="required" type="xs:string" fixed="1.0"/> </xs:complexType> </xs:element> <!-- Definicao da estrutura de dados para Retorno a um Pedido de uma NFSe --> <xs:element name="resPedidoNFSe"> <xs:complexType> <xs:sequence> <!-- CNPJ de um contribuinte --> <xs:element name="CNPJ" type="TCnpj" minOccurs="1" maxOccurs="1"/> <!-- Chave de acesso --> <xs:element name="chvAcessoNFS-e" type="TChaveAcesso" minOccurs="1" maxOccurs="1"/> <!-- Data e Hora recebimento --> <xs:element name="dhRecbto" type="TDataHora" minOccurs="1" maxOccurs="1"/> <!-- Nota Fiscal --> <xs:element ref="NFS-e" minOccurs="0" maxOccurs="1"/> <!-- Situacao --> <xs:element name="sit" type="TSituacaoNota" minOccurs="1" maxOccurs="1"/> <!-- Motivo --> <xs:element name="mot" type="TString256" minOccurs="0"/> <xs:element ref="ds:Signature" minOccurs="0" maxOccurs="1"/> </xs:sequence> <xs:attribute name="versao" use="required" type="xs:string" fixed="1.0"/> </xs:complexType> </xs:element> <!-- Definicao da estrutura de dados para Consulta do Status de uma NFSe --> <xs:element name="pedConsultaTrans"> <xs:complexType> <xs:sequence> <!-- CNPJ de um contribuinte --> <xs:element name="CNPJ" type="TCnpj" minOccurs="1" maxOccurs="1"/> <!-- Chave de acesso --> <xs:element name="chvAcessoNFS-e" type="TChaveAcesso" minOccurs="1" maxOccurs="1"/> <!-- Assinatura digital --> <xs:element ref="ds:Signature" minOccurs="0" maxOccurs="1"/> </xs:sequence> <xs:attribute name="versao" use="required" type="xs:string" fixed="1.0"/> </xs:complexType> </xs:element> <!-- Definicao da estrutura de dados para Retorno de Status de uma NFSe --> <xs:element name="resConsultaTrans"> <xs:complexType> <xs:sequence> <!-- CNPJ de um contribuinte --> <xs:element name="CNPJ" type="TCnpj" minOccurs="1" maxOccurs="1"/> <!-- Chave de acesso --> <xs:element name="chvAcessoNFS-e" type="TChaveAcesso" minOccurs="1" maxOccurs="1"/> <!-- Data e Hora recebimento --> <xs:element name="dhRecbto" type="TDataHora" minOccurs="1" maxOccurs="1"/> <!-- Protocolo --> <xs:element name="nProt" type="TString15" minOccurs="1" maxOccurs="1"/> <!-- Situacao da NFSe --> <xs:element name="sitNFS-e" type="TSituacaoNFSe" minOccurs="1" maxOccurs="1"/> <!-- sit --> <xs:element name="sit" type="TSituacaoNota" minOccurs="1" maxOccurs="1"/> <!-- Motivo --> <xs:element name="mot" type="TString256" minOccurs="0" maxOccurs="1"/> <!-- Assinatura digital --> <xs:element ref="ds:Signature" minOccurs="0" maxOccurs="1"/> </xs:sequence> <xs:attribute name="versao" use="required" type="xs:string" fixed="1.0"/> </xs:complexType> </xs:element> <!-- Definicao da estrutura de dados para Pedido da imagem PNG de uma NFSe --> <xs:element name="pedidoNFSePNG"> <xs:complexType> <xs:sequence> <!-- CNPJ de um contribuinte --> <xs:element name="CNPJ" type="TCnpj" minOccurs="1" maxOccurs="1"/> <!-- numero da nota inicial --> <xs:element name="notaInicial" type="TNF" minOccurs="0" maxOccurs="1"/> <!-- numero da nota final --> <xs:element name="notaFinal" type="TNF" minOccurs="0" maxOccurs="1"/> <!-- Data de emissão inicial --> <xs:element name="emissaoInicial" type="TData" minOccurs="0" maxOccurs="1"/> <!-- Data de emissão final --> <xs:element name="emissaoFinal" type="TData" minOccurs="0" maxOccurs="1"/> <!-- Serie da nota fiscal --> <xs:element name="serieNotaFiscal" type="TSerie" minOccurs="0" maxOccurs="1"/> <!-- Assinatura digital --> <xs:element ref="ds:Signature" minOccurs="0" maxOccurs="1"/> </xs:sequence> <xs:attribute name="versao" use="required" type="xs:string" fixed="1.0"/> </xs:complexType> </xs:element> <!-- Definicao da estrutura de dados para Resposta de um pedido de imagem de uma NFSe --> <xs:element name="resPedidoLoteNFSePNG"> <xs:complexType> <xs:sequence> <!-- CNPJ de um contribuinte --> <xs:element name="CNPJ" type="TCnpj" minOccurs="1" maxOccurs="1"/> <!-- Data e Hora de emissao --> <xs:element name="dhRecbto" type="TDataHora" minOccurs="1" maxOccurs="1"/> <!-- Conteudo em formato Base64 --> <xs:element name="NFS-ePNG" type="TStringBase64" minOccurs="0" maxOccurs="1"/> <!-- Situacao --> <xs:element name="sit" type="TSituacaoNota" minOccurs="1" maxOccurs="1"/> <!-- Motivo --> <xs:element name="mot" type="TString256" minOccurs="0" maxOccurs="1"/> <!-- Assinatura digital --> <xs:element ref="ds:Signature" minOccurs="0" maxOccurs="1"/> </xs:sequence> <xs:attribute name="versao" use="required" type="xs:string" fixed="1.0"/> </xs:complexType> </xs:element> <!-- Definicao da estrutura de dados para Pedido de PDF de uma NFSe --> <xs:element name="pedidoNFSePDF"> <xs:complexType> <xs:sequence> <!-- CNPJ de um contribuinte --> <xs:element name="CNPJ" type="TCnpj" minOccurs="1" maxOccurs="1"/> <!-- numero da nota inicial --> <xs:element name="notaInicial" type="TNF" minOccurs="0" maxOccurs="1"/> <!-- numero da nota final --> <xs:element name="notaFinal" type="TNF" minOccurs="0" maxOccurs="1"/> <!-- Data de emissão inicial --> <xs:element name="emissaoInicial" type="TData" minOccurs="0" maxOccurs="1"/> <!-- Data de emissão final --> <xs:element name="emissaoFinal" type="TData" minOccurs="0" maxOccurs="1"/> <!-- Serie da nota fiscal --> <xs:element name="serieNotaFiscal" type="TSerie" minOccurs="0" maxOccurs="1"/> <!-- Assinatura digital --> <xs:element ref="ds:Signature" minOccurs="0" maxOccurs="1"/> </xs:sequence> <xs:attribute name="versao" use="required" type="xs:string" fixed="1.0"/> </xs:complexType> </xs:element> <!-- Definicao da estrutura de dados para Resposta de um pedido de PDF de uma NFSe --> <xs:element name="resPedidoLoteNFSePDF"> <xs:complexType> <xs:sequence> <!-- CNPJ de um contribuinte --> <xs:element name="CNPJ" type="TCnpj" minOccurs="1" maxOccurs="1"/> <!-- Data e Hora de emissao --> <xs:element name="dhRecbto" type="TDataHora" minOccurs="1" maxOccurs="1"/> <!-- Conteudo em formato Base64 --> <xs:element name="NFS-ePDF" type="TStringBase64" minOccurs="0" maxOccurs="1"/> <!-- Situacao --> <xs:element name="sit" type="TSituacaoNota" minOccurs="1" maxOccurs="1"/> <!-- Motivo --> <xs:element name="mot" type="TString256" minOccurs="0" maxOccurs="1"/> <!-- Assinatura digital --> <xs:element ref="ds:Signature" minOccurs="0" maxOccurs="1"/> </xs:sequence> <xs:attribute name="versao" use="required" type="xs:string" fixed="1.0"/> </xs:complexType> </xs:element> <!-- Definicao da estrutura de dados para pedido de inutilizacao de numeracao de NFSe --> <xs:element name="solicitacaoInutilizacao"> <xs:complexType> <xs:sequence> <!-- Numero da Solicitacao --> <xs:element name="numeroSolicitacao" type="TNum" minOccurs="1" maxOccurs="1"/> <!-- CNPJ contribuinte --> <xs:element name="cnpjContribuinte" type="TCnpj" minOccurs="1" maxOccurs="1"/> <!-- Data da solicitacao --> <xs:element name="dataSolicitacao" type="TData" minOccurs="1" maxOccurs="1"/> <!-- Hora da solicitacao --> <xs:element name="horaSolicitacao" type="THora" minOccurs="1" maxOccurs="1"/> <!-- Conteudo das inutilizacoes --> <xs:element ref="numerosInutilizados" minOccurs="1" maxOccurs="1"/> <!-- Assinatura digital --> <xs:element ref="ds:Signature" minOccurs="0" maxOccurs="1"/> </xs:sequence> <xs:attribute name="versao" use="required" type="xs:string" fixed="1.0"/> </xs:complexType> </xs:element> <!-- Definicao de estrutura para a numeracao e serie a serem inutilizadas --> <xs:element name="numerosInutilizados"> <xs:complexType> <xs:sequence> <!-- Informacoes sobre uma nota com numeracao inutilizada --> <xs:element ref="inutilizar" minOccurs="1" maxOccurs="999"/> </xs:sequence> </xs:complexType> </xs:element> <!-- Definicao de estrutura para a numeracao e serie a serem inutilizadas --> <xs:element name="inutilizar"> <xs:complexType> <xs:attribute name="numero" use="required" type="xs:string"/> <xs:attribute name="serie" use="required" type="xs:string"/> </xs:complexType> </xs:element> <!-- Definicao da estrutura de dados para pedido de inutilizacao de numeracao de NFSe --> <xs:element name="retornoSolicitacaoInutilizacao"> <xs:complexType> <xs:sequence> <!-- Numero da Solicitacao --> <xs:element name="numeroSolicitacao" type="TNum" minOccurs="1" maxOccurs="1"/> <!-- CNPJ contribuinte --> <xs:element name="cnpjContribuinte" type="TCnpj" minOccurs="1" maxOccurs="1"/> <!-- Data da solicitacao --> <xs:element name="dataRetornoSolicitacao" type="TData" minOccurs="1" maxOccurs="1"/> <!-- Hora da solicitacao --> <xs:element name="horaRetornoSolicitacao" type="THora" minOccurs="1" maxOccurs="1"/> <!-- Mensagem --> <xs:element name="mensagem" type="TString256" minOccurs="1" maxOccurs="1"/> <!-- Protocolos de retorno de inutilizacao --> <xs:element ref="protocolosInutilizacao" minOccurs="0" maxOccurs="1"/> <!-- Assinatura digital --> <xs:element ref="ds:Signature" minOccurs="0" maxOccurs="1"/> </xs:sequence> <xs:attribute name="versao" use="required" type="xs:string" fixed="1.0"/> </xs:complexType> </xs:element> <!-- Definicao de estrutura para o retorno de inutilizacao de numeracao --> <xs:element name="protocolosInutilizacao"> <xs:complexType> <xs:sequence> <xs:element ref="inutilizado" minOccurs="0" maxOccurs="999" /> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="inutilizado"> <xs:complexType> <xs:simpleContent> <xs:extension base="xs:string" > <xs:attribute name="numero" use="required" type="xs:string"/> <xs:attribute name="serie" use="required" type="xs:string"/> </xs:extension> </xs:simpleContent> </xs:complexType> </xs:element> <!-- *********************************************************** --> <!-- Definicao de estruturas de dados compostas --> <!-- Definicao da estrutura de dados para uma NFSe --> <xs:element name="NFS-e"> <xs:complexType> <xs:sequence> <!-- Informacoes sobre uma nota --> <xs:element ref="infNFSe" /> </xs:sequence> </xs:complexType> </xs:element> <!-- Definicao da estrutura de dados para as informacoes de uma NFSe --> <xs:element name="infNFSe"> <xs:complexType> <xs:sequence> <!-- Dados de identificação da NFSe --> <xs:element ref="Id"/> <!-- Dados do emitente da NFSe --> <xs:element ref="prest"/> <!-- Dados de tomador da NFSe --> <xs:element ref="TomS"/> <!-- Dados do local de entrega --> <xs:element ref="dadosDaObra" minOccurs="0" maxOccurs="1" /> <!-- Dados da transportadora --> <xs:element ref="transportadora" minOccurs="0" maxOccurs="1" /> <!-- Detalhes dos itens de servico da NFSe --> <xs:element ref="det" minOccurs="1" maxOccurs="999"/> <!-- Dados de totalizacao da NFSe --> <xs:element ref="total"/> <!-- Dados de cobranca da NFSe --> <xs:element ref="faturas" minOccurs="0" maxOccurs="1"/> <!-- Local de tributacao a ser exibido na area de Informacoes Adicionais --> <xs:element name="infAdicLT" type="TCodMunIBGE" minOccurs="0" maxOccurs="1" /> <!-- Indica se deve ser exibido Exportacao de Servico na area de Informacoes Adicionais --> <xs:element name="infAdicES" type="TSimNao" minOccurs="0" maxOccurs="1" /> <!-- Informacoes adicionais de interesse do fisco --> <xs:element name="infAdic" type="TString256" minOccurs="0" maxOccurs="999"/> <!-- Exibir valor aproximado de tributos nas informações adicionais --> <xs:element name="infAdicAT" type="TCharInt" minOccurs="0" maxOccurs="1"/> </xs:sequence> <!-- Versão do formato XML da NFSe em está sendo submetido o arquivo XML de lote --> <xs:attribute name="versao" use="required" type="xs:string"/> </xs:complexType> </xs:element> <!-- Definicao da estrutura de dados para a identificacao de uma NFSe --> <xs:element name="Id"> <xs:complexType> <xs:sequence> <!-- Codigo numerico aleatorio para compor chave de acesso --> <xs:element name="cNFS-e" type="TNumAleatorio"/> <!-- Modelo de uma NFSe --> <xs:element name="mod" type="TModelo"/> <!-- Serie da nota --> <xs:element name="serie" type="TSerie"/> <!-- Numero da nota --> <xs:element name="nNFS-e" type="TNF"/> <!-- Data de emissao --> <xs:element name="dEmi" type="TData"/> <!-- Hora de emissao --> <xs:element name="hEmi" type="THora" /> <!-- Tipo de uma NFSe --> <xs:element name="tpNF" type="TNFSe" /> <!-- Chave de acesso de uma NFSe --> <xs:element name="refNF" type="TChaveAcesso"/> <!-- Formato de impressao de uma NFSe: 1-Retrato, 2-Paisagem --> <xs:element name="tpImp" type="TImpressao" minOccurs="0" maxOccurs="1"/> <!-- Formato de emissao de uma NFSe: N-Normal, C-Contigencia --> <xs:element name="tpEmis" type="TEmissao" /> <!-- NFSe cancelada (S) ou não (N) --> <xs:element name="cancelada" type="TSimNao" minOccurs="0" maxOccurs="1"/> <!-- Motivo do cancelamento --> <xs:element name="motCanc" type="TMotCanc" minOccurs="0" maxOccurs="999"/> <!-- Data do cancelamento --> <xs:element name="dataCanc" type="TData" minOccurs="0" maxOccurs="1"/> <!-- Numero da nota substitutiva da anulada/cancelada --> <xs:element name="notaSub" type="TNF" minOccurs="0" maxOccurs="1"/> <!-- Incluir canhoto na imagem da nota: 0 nao incluir, 1 incluir no topo, 2 incluir no rodape --> <xs:element name="canhoto" type="TCharInt" minOccurs="0" maxOccurs="1"/> <!-- Ambiente de emissao da NFSe: 1 producao ou 2 homologacao --> <xs:element name="ambienteEmi" type="TCharInt"/> <!-- Forma de emissao da NFSe: 1 via Portal, 2 via servicos Web, 3 via upload ou 4 via RPS --> <xs:element name="formaEmi" type="TCharInt"/> <!-- Nota de empreitada global: 1 caso seja ou 2 caso contrario --> <xs:element name="empreitadaGlobal" type="TCharInt"/> <!-- Codigo de validacao do RPS (USO INTERNO) --> <xs:element name="codRPS" type="TString15" minOccurs="0" maxOccurs="1"/> <!-- Numero do RPS papel que originou a nota --> <xs:element name="rps" type="TNF" minOccurs="0" maxOccurs="1"/> <!-- Serie do RPS papel que originou a nota --> <xs:element name="serierps" type="TSerie" minOccurs="0" maxOccurs="1"/> <!-- Data de emissao do RPS papel que originou a nota --> <xs:element name="dataEmissaoRpsPapel" type="TData" minOccurs="0" maxOccurs="1"/> </xs:sequence> </xs:complexType> </xs:element> <!-- Definicao da estrutura de dados para o emitente de uma NFSe --> <xs:element name="prest"> <xs:complexType> <xs:sequence> <!-- CNPJ --> <xs:element name="CNPJ" type="TCnpj"/> <!-- Nome ou razao social --> <xs:element name="xNome" type="TString150" /> <!-- Nome fantasia --> <xs:element name="xFant" type="TString60" minOccurs="0" maxOccurs="1"/> <!-- Inscricao municipal --> <xs:element name="IM" type="TString15"/> <!-- endereço de correio eletrônico do emitente --> <xs:element name="xEmail" type="TString50" minOccurs="0" maxOccurs="1"/> <!-- URL do site do emitente --> <xs:element name="xSite" type="TString50" minOccurs="0" maxOccurs="1"/> <!-- Endereco do emitente --> <xs:element ref="end"/> <!-- Fone --> <xs:element name="fone" type="TFone" minOccurs="0" maxOccurs="1"/> <!-- Fone alternativo --> <xs:element name="fone2" type="TFone" minOccurs="0" maxOccurs="1"/> <!-- Inscricao Estadual --> <xs:element name="IE" type="TString15" minOccurs="0" maxOccurs="1"/> <!-- Regime tributario --> <xs:element name="regimeTrib" type="TCharInt"/> </xs:sequence> </xs:complexType> </xs:element> <!-- Definicao da estrutura de dados para endereco de um emitente de uma NFSe --> <xs:element name="end"> <xs:complexType> <xs:sequence> <!-- Logradouro --> <xs:element name="xLgr" type="TString100"/> <!-- Numero --> <xs:element name="nro" type="TString6"/> <!-- Complemento --> <xs:element name="xCpl" type="TString100" minOccurs="0" maxOccurs="1"/> <!-- Bairro --> <xs:element name="xBairro" type="TString100"/> <!-- Codigo do municipio --> <xs:element name="cMun" type="TCodMunIBGE" /> <!-- Nome do municipio --> <xs:element name="xMun" type="TString60"/> <!-- UF --> <xs:element name="UF" type="TString2"/> <!-- CEP --> <xs:element name="CEP" type="TCep"/> <!-- Codigo do Pais --> <xs:element name="cPais" type="TcPais" /> <!-- Pais --> <xs:element name="xPais" type="TString100" /> </xs:sequence> </xs:complexType> </xs:element> <!-- Definicao da estrutura de dados para tomador de uma NFSe --> <xs:element name="TomS"> <xs:complexType> <xs:sequence> <xs:choice> <!-- CNPJ de um contribuinte --> <xs:element name="CNPJ" type="TCnpj"/> <!-- CPF de um contribuinte --> <xs:element name="CPF" type="TCpf"/> </xs:choice> <!-- Nome ou razao social --> <xs:element name="xNome" type="TString100" minOccurs="0" maxOccurs="1" /> <!-- Endereco --> <xs:element ref="ender"/> <!-- Endereco de correio eletronico --> <xs:element name="xEmail" type="TString120" minOccurs="0" maxOccurs="1"/> <!-- Inscricao Estadual --> <xs:element name="IE" type="TString15" minOccurs="0" maxOccurs="1"/> <!-- Inscricao municipal --> <xs:element name="IM" type="TString15" minOccurs="0" maxOccurs="1" /> <!-- Inscricao municipal eventual --> <xs:element name="IME" type="TString15" minOccurs="0" maxOccurs="1"/> <!-- Fone --> <xs:element name="fone" type="TFone" minOccurs="0" maxOccurs="1"/> <!-- Fone alternativo --> <xs:element name="fone2" type="TFone" minOccurs="0" maxOccurs="1"/> </xs:sequence> </xs:complexType> </xs:element> <!-- Definicao da estrutura de dados para endereco de um tomador de uma NFSe --> <xs:element name="ender"> <xs:complexType> <xs:sequence> <!-- Logradouro --> <xs:element name="xLgr" type="TString100" minOccurs="0" maxOccurs="1"/> <!-- Numero --> <xs:element name="nro" type="TString6" minOccurs="0" maxOccurs="1"/> <!-- Complemento --> <xs:element name="xCpl" type="TString100" minOccurs="0" maxOccurs="1"/> <!-- Bairro --> <xs:element name="xBairro" type="TString100" minOccurs="0" maxOccurs="1"/> <!-- Codigo do municipio --> <xs:element name="cMun" type="TCodMunIBGE"/> <!-- Nome do municipio --> <xs:element name="xMun" type="TString60"/> <!-- UF --> <xs:element name="UF" type="TString2"/> <!-- CEP --> <xs:element name="CEP" type="TCep" minOccurs="0" maxOccurs="1"/> <!-- Codigo de pais --> <xs:element name="cPais" type="TcPais"/> <!-- Pais --> <xs:element name="xPais" type="TString100"/> </xs:sequence> </xs:complexType> </xs:element> <!-- Definicao da estrutura de dados para endereco de dados da obra --> <xs:element name="dadosDaObra"> <xs:complexType> <xs:sequence> <!-- Logradouro --> <xs:element name="xLogObra" type="TString100"/> <!-- Complemento --> <xs:element name="xComplObra" type="TString100" minOccurs="0" maxOccurs="1"/> <!-- Numero --> <xs:element name="vNumeroObra" type="TString15" minOccurs="0" maxOccurs="1"/> <!-- Bairro --> <xs:element name="xBairroObra" type="TString100" minOccurs="0" maxOccurs="1"/> <!-- CEP --> <xs:element name="xCepObra" type="TCep" minOccurs="0" maxOccurs="1"/> <!-- Codigo do municipio --> <xs:element name="cCidadeObra" type="TCodMunIBGE"/> <!-- Nome do municipio --> <xs:element name="xCidadeObra" type="TString60"/> <!-- UF --> <xs:element name="xUfObra" type="TString2" /> <!-- Codigo do Pais --> <xs:element name="cPaisObra" type="TcPais" /> <!-- Nome do Pais --> <xs:element name="xPaisObra" type="TString100" /> <!-- Numero da ART em uma NFSe de construcao civil --> <xs:element name="numeroArt" type="TString12" minOccurs="0" maxOccurs="1"/> <!-- Numero da matricula no CEI em uma NFSe de construcao civil --> <xs:element name="numeroCei" type="TString12" minOccurs="0" maxOccurs="1"/> <!-- Numero do projeto em uma NFSe de construcao civil --> <xs:element name="numeroProj" type="TString15" minOccurs="0" maxOccurs="1"/> <!-- Numero da matricula em uma NFSe de construcao civil --> <xs:element name="numeroMatri" type="TString15" minOccurs="0" maxOccurs="1"/> </xs:sequence> </xs:complexType> </xs:element> <!-- Definicao da estrutura de dados para transportadora --> <xs:element name="transportadora"> <xs:complexType> <xs:sequence> <!-- Nome da transportadora --> <xs:element name="xNomeTrans" type="TString100"/> <!-- CPF/CNPJ da transportadora --> <xs:element name="xCpfCnpjTrans" type="TString15" minOccurs="0" maxOccurs="1"/> <!-- Inscricao Estadual da transportadora --> <xs:element name="xInscEstTrans" type="TString15" minOccurs="0" maxOccurs="1"/> <!-- Placa do automovel da transportadora --> <xs:element name="xPlacaTrans" type="TPlacaVeic" minOccurs="0" maxOccurs="1"/> <!-- Endereco da transportadora --> <xs:element name="xEndTrans" type="TString100" minOccurs="0" maxOccurs="1"/> <!-- Codigo do Municipio da transportadora --> <xs:element name="cMunTrans" type="TCodMunIBGE" minOccurs="0" maxOccurs="1"/> <!-- Nome do Municipio da transportadora --> <xs:element name="xMunTrans" type="TString60" minOccurs="0" maxOccurs="1"/> <!-- UF da transportadora --> <xs:element name="xUfTrans" type="TString2" minOccurs="0" maxOccurs="1"/> <!-- Codigo do Pais da transportadora --> <xs:element name="cPaisTrans" type="TcPais" minOccurs="0" maxOccurs="1"/> <!-- Nome do Pais da transportadora --> <xs:element name="xPaisTrans" type="TString100" minOccurs="0" maxOccurs="1"/> <!-- Tipo do frete --> <xs:element name="vTipoFreteTrans" type="TFrete" minOccurs="0" maxOccurs="1" /> </xs:sequence> </xs:complexType> </xs:element> <!-- Definicao da estrutura de dados para detalhe do servico de uma NFSe --> <xs:element name="det"> <xs:complexType> <xs:sequence> <!-- Ordem sequencial do item na nota --> <xs:element name="nItem" type="TOrdemSeq"/> <xs:element ref="serv"/> <xs:element ref="ISSST" minOccurs="0" maxOccurs="1"/> </xs:sequence> </xs:complexType> </xs:element> <!-- Definicao da estrutura de dados para detalhe de item de servico de uma NFSe --> <xs:element name="serv"> <xs:complexType> <xs:sequence> <!-- Codigo municipal do servico --> <xs:element name="cServ" type="TString60"/> <!-- Codigo do servico conforme Lei 116 --> <xs:element name="cLCServ" type="TLCServ"/> <!-- Descricao do serviço --> <xs:element name="xServ" type="TString256"/> <!-- Local de tributação do servico --> <xs:element name="localTributacao" type="TCodMunIBGE" minOccurs="0" maxOccurs="1"/> <!-- Local da verificação do resultado do servico --> <xs:element name="localVerifResServ" type="TCharInt"/> <!-- Unidade do servico --> <xs:element name="uTrib" type="TString2"/> <!-- Quantidade do servico --> <xs:element name="qTrib" type="TDec_1302"/> <!-- Valor unitario --> <xs:element name="vUnit" type="TDec_1304"/> <!-- Valor do servico --> <xs:element name="vServ" type="TDec_1302"/> <!-- Valor de desconto --> <xs:element name="vDesc" type="TDec_1302" minOccurs="0" maxOccurs="1"/> <!-- Valor da base de calculo de ISSQN --> <xs:element name="vBCISS" type="TDec_1302" minOccurs="0" maxOccurs="1"/> <!-- Aliquota do ISSQN --> <xs:element name="pISS" type="TDec_0302" minOccurs="0" maxOccurs="1"/> <!-- Valor do ISSQN --> <xs:element name="vISS" type="TDec_1302" minOccurs="0" maxOccurs="1"/> <!-- Valor da base de calculo de retencao de INSS --> <xs:element name="vBCINSS" type="TDec_1302" minOccurs="0" maxOccurs="1"/> <!-- Percentual de retencao de INSS do item de servico --> <xs:element name="pRetINSS" type="TDec_1302" minOccurs="0" maxOccurs="1"/> <!-- Valor de retencao de INSS do item de servico --> <xs:element name="vRetINSS" type="TDec_1302" minOccurs="0" maxOccurs="1"/> <!-- Valor de redução da base de calculo --> <xs:element name="vRed" type="TDec_1302" minOccurs="0" maxOccurs="1"/> <!-- Valor da base de calculo da retencao de IR --> <xs:element name="vBCRetIR" type="TDec_1302" minOccurs="0" maxOccurs="1"/> <!-- Percentual --> <xs:element name="pRetIR" type="TDec_0302" minOccurs="0" maxOccurs="1"/> <!-- Valor --> <xs:element name="vRetIR" type="TDec_1302" minOccurs="0" maxOccurs="1"/> <!-- Valor da base de calculo de retencao de COFINS --> <xs:element name="vBCCOFINS" type="TDec_1302" minOccurs="0" maxOccurs="1"/> <!-- Percentual --> <xs:element name="pRetCOFINS" type="TDec_0302" minOccurs="0" maxOccurs="1"/> <!-- Valor --> <xs:element name="vRetCOFINS" type="TDec_1302" minOccurs="0" maxOccurs="1"/> <!-- Valor da base de calculo de retencao de CSLL --> <xs:element name="vBCCSLL" type="TDec_1302" minOccurs="0" maxOccurs="1"/> <!-- Percentual --> <xs:element name="pRetCSLL" type="TDec_0302" minOccurs="0" maxOccurs="1"/> <!-- Valor --> <xs:element name="vRetCSLL" type="TDec_1302" minOccurs="0" maxOccurs="1"/> <!-- Valor da base de calculo de retencao de PIS-PASEP --> <xs:element name="vBCPISPASEP" type="TDec_1302" minOccurs="0" maxOccurs="1"/> <!-- Percentual --> <xs:element name="pRetPISPASEP" type="TDec_0302" minOccurs="0" maxOccurs="1"/> <!-- Valor --> <xs:element name="vRetPISPASEP" type="TDec_1302" minOccurs="0" maxOccurs="1"/> <!-- Valor total Aproximado de tributos federais --> <xs:element name="totalAproxTribServ" type="TDec_1302" minOccurs="0" maxOccurs="1"/> </xs:sequence> </xs:complexType> </xs:element> <!-- Definicao da estrutura de dados para informações do ISS por substituicao tributaria em uma NFSe --> <xs:element name="ISSST"> <xs:complexType> <xs:sequence> <!-- Valor da reducao da base de calculo --> <xs:element name="vRedBCST" type="TDec_1302" minOccurs="0" maxOccurs="1"/> <!-- Valor da base de calculo por substituicao tributaria --> <xs:element name="vBCST" type="TDec_1302"/> <!-- Aliquota do ISSQN por substituicao tributaria --> <xs:element name="pISSST" type="TDec_0302"/> <!-- Valor do ISSQN por substituicao tributaria --> <xs:element name="vISSST" type="TDec_1302"/> </xs:sequence> </xs:complexType> </xs:element> <!-- Definicao da estrutura de dados para totalizacoes em uma NFSe --> <xs:element name="total"> <xs:complexType> <xs:sequence> <!-- Valor total de servico --> <xs:element name="vServ" type="TDec_1302" /> <!-- Valor da reducao da base de calculo da construcao civil --> <xs:element name="vRedBCCivil" type="TDec_1302" minOccurs="0" maxOccurs="1"/> <!-- Valor total de desconto --> <xs:element name="vDesc" type="TDec_1302" minOccurs="0" maxOccurs="1"/> <!-- Valor total da nota --> <xs:element name="vtNF" type="TDec_1302" /> <!-- Valor liquido total da nota --> <xs:element name="vtLiq" type="TDec_1302" /> <!-- Valor total Aproximado de tributos federais --> <xs:element name="totalAproxTrib" type="TDec_1302" minOccurs="0" maxOccurs="1"/> <!-- Totalizacoes das retencoes federais na nota --> <xs:element ref="Ret" minOccurs="0" maxOccurs="1"/> <!-- Valor liquido total das faturas --> <xs:element name="vtLiqFaturas" type="TDec_1302" minOccurs="0" maxOccurs="1"/> <!-- Totalizacoes do ISS --> <xs:element ref="ISS"/> </xs:sequence> </xs:complexType> </xs:element> <!-- Definicao da estrutura de dados para valores do ISSQN em uma NFSe --> <xs:element name="ISS"> <xs:complexType> <xs:sequence> <!-- Valor da base de calculo de ISSQN --> <xs:element name="vBCISS" type="TDec_1302" minOccurs="0" maxOccurs="1"/> <!-- Valor do ISSQN --> <xs:element name="vISS" type="TDec_1302" minOccurs="0" maxOccurs="1"/> <!-- Valor da base de calculo de ISSQN por substituicao tributaria --> <xs:element name="vBCSTISS" type="TDec_1302" minOccurs="0" maxOccurs="1"/> <!-- Valor do ISSQN por substituicao tributaria --> <xs:element name="vSTISS" type="TDec_1302" minOccurs="0" maxOccurs="1"/> </xs:sequence> </xs:complexType> </xs:element> <!-- Definicao da estrutura de dados para retencoes em uma NFSe --> <xs:element name="Ret"> <xs:complexType> <xs:sequence> <!-- Valor total da retencao de IR --> <xs:element name="vRetIR" type="TDec_1302" minOccurs="0" maxOccurs="1"/> <!-- Valor total da retencao de PIS-PASEP --> <xs:element name="vRetPISPASEP" type="TDec_1302" minOccurs="0" maxOccurs="1"/> <!-- Valor total da retencao de COFINS --> <xs:element name="vRetCOFINS" type="TDec_1302" minOccurs="0" maxOccurs="1"/> <!-- Valor total da retencao de CSLL --> <xs:element name="vRetCSLL" type="TDec_1302" minOccurs="0" maxOccurs="1"/> <!-- Valor total da retencao de INSS --> <xs:element name="vRetINSS" type="TDec_1302" minOccurs="0" maxOccurs="1"/> </xs:sequence> </xs:complexType> </xs:element> <!-- Definicao da estrutura de dados para informacoes de faturas em uma NFSe --> <xs:element name="faturas"> <xs:complexType> <xs:sequence> <xs:element ref="fat" minOccurs="1" maxOccurs="999"/> </xs:sequence> </xs:complexType> </xs:element> <!-- Definicao da estrutura de dados para informacoes sobre faturas em uma NFSe --> <xs:element name="fat"> <xs:complexType> <xs:sequence> <!-- Ordenacao da fatura --> <xs:element name="nItem" type="TOrdemSeq"/> <!-- Numero da fatura --> <xs:element name="nFat" type="TNumFatura"/> <!-- Data de vencimento --> <xs:element name="dVenc" type="TData" minOccurs="0" maxOccurs="1"/> <!-- Valor da fatura --> <xs:element name="vFat" type="TDec_1302" /> <!-- Tipo vencimento fatura --> <xs:element name="tipoVencFat" type="TCharInt" minOccurs="0" maxOccurs="1"/> <!-- Descrição tipo vencimento fatura --> <xs:element name="descTipoVencFat" type="TString15" minOccurs="0" maxOccurs="1"/> </xs:sequence> </xs:complexType> </xs:element> <!-- *********************************************************** --> <!-- Definicao dos tipos de dados básicos da NFSe --> <!-- Tipo para Codigo Postal --> <xs:simpleType name="TCep"> <xs:annotation> <xs:documentation>Tipo para Codigo Postal</xs:documentation> </xs:annotation> <xs:restriction base="xs:token"> <xs:pattern value="[0-9]{8}"/> </xs:restriction> </xs:simpleType> <!-- Tipo para Caracter numerico --> <xs:simpleType name="TCharInt"> <xs:annotation> <xs:documentation>Tipo para caracter numerico</xs:documentation> </xs:annotation> <xs:restriction base="xs:token"> <xs:pattern value="[0-9]{1}"/> </xs:restriction> </xs:simpleType> <!-- Tipo para chave de acesso de uma NFSe --> <xs:simpleType name="TChaveAcesso"> <xs:annotation> <xs:documentation>Tipo para chave de acesso </xs:documentation> </xs:annotation> <xs:restriction base="xs:string"> <xs:maxLength value="39" /> </xs:restriction> </xs:simpleType> <!-- Tipo Número do CNPJ --> <xs:simpleType name="TCnpj"> <xs:annotation> <xs:documentation>Tipo Número do CNPJ</xs:documentation> </xs:annotation> <xs:restriction base="xs:token"> <xs:pattern value="[0-9]{14}"/> </xs:restriction> </xs:simpleType> <!-- Tipo Código do Município da tabela do IBGE --> <xs:simpleType name="TCodMunIBGE"> <xs:annotation> <xs:documentation>Tipo Código do Município da tabela do IBGE</xs:documentation> </xs:annotation> <xs:restriction base="xs:token"> <xs:pattern value="[0-9]{7}"/> </xs:restriction> </xs:simpleType> <!-- Tipo para codigo do pais --> <xs:simpleType name="TcPais"> <xs:annotation> <xs:documentation>Tipo para Codigo do Pais</xs:documentation> </xs:annotation> <xs:restriction base="xs:token"> <xs:pattern value="[0-9]{1,5}"/> </xs:restriction> </xs:simpleType> <!-- Tipo Número do CPF --> <xs:simpleType name="TCpf"> <xs:annotation> <xs:documentation>Tipo Número do CPF</xs:documentation> </xs:annotation> <xs:restriction base="xs:token"> <xs:pattern value="[0-9]{11}"/> </xs:restriction> </xs:simpleType> <!-- Tipo data no formato AAAA-MM-DD --> <xs:simpleType name="TData"> <xs:annotation> <xs:documentation> Tipo data AAAA-MM-DD</xs:documentation> </xs:annotation> <xs:restriction base="xs:date"> <xs:pattern value="\d{4}-\d{2}-\d{2}"/> </xs:restriction> </xs:simpleType> <!-- Tipo data no formato AAAA-MM-DD HH:MM:SS --> <xs:simpleType name="TDataHora"> <xs:annotation> <xs:documentation> Tipo datetime AAAA-MM-DD HH:MM:SS</xs:documentation> </xs:annotation> <xs:restriction base="xs:string"> <xs:whiteSpace value="preserve"/> <xs:pattern value="\d{4}-\d{2}-\d{2}(\s\d{2}:\d{2}:\d{2})?"/> </xs:restriction> </xs:simpleType> <!-- Tipo Decimal com 5 dígitos, sendo 3 de corpo e 2 decimais --> <xs:simpleType name="TDec_0302"> <xs:annotation> <xs:documentation>Tipo Decimal com 5 dígitos, sendo 3 de corpo e 2 decimais</xs:documentation> </xs:annotation> <xs:restriction base="xs:string"> <xs:minLength value="0"/> <xs:whiteSpace value="preserve"/> <xs:pattern value="0|0\.[0-9]{2}|[1-9]{1}[0-9]{0,2}(\.[0-9]{2})?"/> </xs:restriction> </xs:simpleType> <!-- Tipo Decimal com 15 dígitos, sendo 13 de corpo e 2 decimais --> <xs:simpleType name="TDec_1302"> <xs:annotation> <xs:documentation>Tipo Decimal com 15 dígitos, sendo 13 de corpo e 2 decimais</xs:documentation> </xs:annotation> <xs:restriction base="xs:string"> <xs:minLength value="0"/> <xs:whiteSpace value="preserve"/> <xs:pattern value="0|0\.[0-9]{2}|[1-9]{1}[0-9]{0,12}(\.[0-9]{2})?"/> </xs:restriction> </xs:simpleType> <!-- Tipo Decimal com 15 dígitos, 4 decimais --> <xs:simpleType name="TDec_1304"> <xs:annotation> <xs:documentation>Valor com possível 4 casas decimais</xs:documentation> </xs:annotation> <xs:restriction base="xs:string"> <xs:minLength value="0"/> <xs:whiteSpace value="preserve"/> <xs:pattern value="|0|0\.[0-9]{2,4}|[1-9]{1}[0-9]{0,12}(\.[0-9]{2,4})?"/> </xs:restriction> </xs:simpleType> <!-- Tipo para forma de emissao de uma NFSe: N-Normal, C-Contigencia --> <xs:simpleType name="TEmissao"> <xs:annotation> <xs:documentation>Tipo para forma de emissao </xs:documentation> </xs:annotation> <xs:restriction base="xs:token"> <xs:pattern value="[NC]{1}"/> </xs:restriction> </xs:simpleType> <!-- Tipo para numero do telefone --> <xs:simpleType name="TFone"> <xs:annotation> <xs:documentation>Tipo para numero do telefone </xs:documentation> </xs:annotation> <xs:restriction base="xs:token"> <xs:pattern value="|[0-9]{10,15}"/> </xs:restriction> </xs:simpleType> <!-- Tipo para frete de transportadora --> <xs:simpleType name="TFrete"> <xs:annotation> <xs:documentation>Tipo para frete de transportadora </xs:documentation> </xs:annotation> <xs:restriction base="xs:token"> <xs:pattern value="[0-9]{1}"/> </xs:restriction> </xs:simpleType> <!-- Tipo hora no formato HH:MM --> <xs:simpleType name="THora"> <xs:annotation> <xs:documentation> Tipo time HH:MM</xs:documentation> </xs:annotation> <xs:restriction base="xs:string"> <xs:whiteSpace value="preserve"/> <xs:pattern value="\d{2}:\d{2}"/> </xs:restriction> </xs:simpleType> <!-- Tipo para formato de impressao de uma NFSe: 1-Retrato, 2-Paisagem --> <xs:simpleType name="TImpressao"> <xs:annotation> <xs:documentation>Tipo para formato de impressao </xs:documentation> </xs:annotation> <xs:restriction base="xs:integer"> <!-- Em Caxias uma NFSe somente pode ser impressa no modo retrato --> <xs:minInclusive value="1"/> <xs:maxInclusive value="1"/> </xs:restriction> </xs:simpleType> <!-- Tipo para Lei Complementar 116 --> <xs:simpleType name="TLCServ"> <xs:annotation> <xs:documentation>Tipo para Lei Complementar 116 </xs:documentation> </xs:annotation> <xs:restriction base="xs:positiveInteger"> <xs:maxInclusive value="9999"/> </xs:restriction> </xs:simpleType> <!-- Tipo para modelo de uma NFSe --> <xs:simpleType name="TModelo"> <xs:annotation> <xs:documentation>Tipo para modelo de uma NFSe </xs:documentation> </xs:annotation> <xs:restriction base="xs:string"> <xs:minLength value="1"/> <xs:maxLength value="2"/> </xs:restriction> </xs:simpleType> <!-- Tipo para motivo de cancelamento --> <xs:simpleType name="TMotCanc"> <xs:annotation> <xs:documentation>Tipo para motivo de cancelamento</xs:documentation> </xs:annotation> <xs:restriction base="xs:token"> <xs:pattern value="[0-9]{1}"/> </xs:restriction> </xs:simpleType> <!-- Tipo Número do Documento Fiscal --> <xs:simpleType name="TNF"> <xs:annotation> <xs:documentation>Tipo Número do Documento Fiscal</xs:documentation> </xs:annotation> <xs:restriction base="xs:token"> <xs:pattern value="[0-9]{0,9}"/> </xs:restriction> </xs:simpleType> <!-- Tipo para numeros inteiros --> <xs:simpleType name="TNum"> <xs:annotation> <xs:documentation>Tipo para numero inteiro</xs:documentation> </xs:annotation> <xs:restriction base="xs:positiveInteger"> </xs:restriction> </xs:simpleType> <!-- Tipo para uma NFSe --> <xs:simpleType name="TNFSe"> <xs:annotation> <xs:documentation>Tipo para uma NFSe </xs:documentation> </xs:annotation> <xs:restriction base="xs:integer"> <!-- Em Caxias uma NFSe somente pode ser de Saída --> <xs:minInclusive value="1"/> <xs:maxInclusive value="1"/> </xs:restriction> </xs:simpleType> <!-- Tipo para numero aleatorio --> <xs:simpleType name="TNumAleatorio"> <xs:annotation> <xs:documentation>Tipo para numero aleatorio </xs:documentation> </xs:annotation> <xs:restriction base="xs:positiveInteger"> <xs:maxInclusive value="999999999"/> </xs:restriction> </xs:simpleType> <!-- Tipo Número de Fatura --> <xs:simpleType name="TNumFatura"> <xs:annotation> <xs:documentation>Tipo Número de Fatura em NFS-e</xs:documentation> </xs:annotation> <xs:restriction base="xs:string"> <xs:maxLength value="15" /> </xs:restriction> </xs:simpleType> <!-- Tipo para ordem sequencial de itens --> <xs:simpleType name="TOrdemSeq"> <xs:annotation> <xs:documentation>Tipo para ordem sequencial de itens </xs:documentation> </xs:annotation> <xs:restriction base="xs:positiveInteger"> <xs:maxInclusive value="999"/> </xs:restriction> </xs:simpleType> <!-- Tipo para placa de veiculo: String de tamanho maximo 7 --> <xs:simpleType name="TPlacaVeic"> <xs:annotation> <xs:documentation>Tipo String para placa de veiculo com tamanho maximo 7</xs:documentation> </xs:annotation> <xs:restriction base="xs:token"> <xs:pattern value="[a-zA-Z]{2,4}[0-9]{3,4}"/> </xs:restriction> </xs:simpleType> <!-- Tipo para serie de notas: String para serie de nota --> <xs:simpleType name="TSerie"> <xs:annotation> <xs:documentation>Tipo para serie de nota </xs:documentation> </xs:annotation> <xs:restriction base="xs:string"> <xs:maxLength value="3" /> </xs:restriction> </xs:simpleType> <!-- Tipo para Sim/Nao --> <xs:simpleType name="TSimNao"> <xs:annotation> <xs:documentation>Tipo para Sim/Nao </xs:documentation> </xs:annotation> <xs:restriction base="xs:token"> <xs:pattern value="[SN]{1}"/> </xs:restriction> </xs:simpleType> <!-- Tipo para situacao do cancelamento de uma NFSe --> <xs:simpleType name="TSituacaoCancelamentoNota"> <xs:annotation> <xs:documentation>Tipo para situacao de cancelamento de uma NFSe </xs:documentation> </xs:annotation> <xs:restriction base="xs:positiveInteger"> <xs:maxInclusive value="999"/> </xs:restriction> </xs:simpleType> <!-- Tipo para situacao de um lote de NFSe --> <xs:simpleType name="TSituacaoLote"> <xs:annotation> <xs:documentation>Tipo para situacao de um lote de NFSe </xs:documentation> </xs:annotation> <xs:restriction base="xs:positiveInteger"> <xs:maxInclusive value="999"/> </xs:restriction> </xs:simpleType> <!-- Tipo para situacao de uma NFSe --> <xs:simpleType name="TSituacaoNFSe"> <xs:annotation> <xs:documentation>Tipo para situacao de uma NFSe </xs:documentation> </xs:annotation> <xs:restriction base="xs:token"> <xs:pattern value="[0-9]{1}"/> </xs:restriction> </xs:simpleType> <!-- Tipo para situacao de uma nota dentro de um lote submetido --> <xs:simpleType name="TSituacaoNota"> <xs:annotation> <xs:documentation>Tipo para situacao de uma nota dentro de um lote submetido </xs:documentation> </xs:annotation> <xs:restriction base="xs:positiveInteger"> <xs:maxInclusive value="999"/> </xs:restriction> </xs:simpleType> <!-- Tipo para string com tamanho maximo 2 --> <xs:simpleType name="TString2"> <xs:annotation> <xs:documentation>Tipo para string de tamanho maximo 2</xs:documentation> </xs:annotation> <xs:restriction base="xs:string"> <xs:maxLength value="2" /> </xs:restriction> </xs:simpleType> <!-- Tipo para string com tamanho maximo 3 --> <xs:simpleType name="TString3"> <xs:annotation> <xs:documentation>Tipo para string de tamanho maximo 3</xs:documentation> </xs:annotation> <xs:restriction base="xs:string"> <xs:maxLength value="3" /> </xs:restriction> </xs:simpleType> <!-- Tipo para string com tamanho maximo 5 --> <xs:simpleType name="TString5"> <xs:annotation> <xs:documentation>Tipo para string de tamanho maximo 5</xs:documentation> </xs:annotation> <xs:restriction base="xs:string"> <xs:maxLength value="5" /> </xs:restriction> </xs:simpleType> <!-- Tipo para string com tamanho maximo 6 --> <xs:simpleType name="TString6"> <xs:annotation> <xs:documentation>Tipo para string de tamanho maximo 6</xs:documentation> </xs:annotation> <xs:restriction base="xs:string"> <xs:maxLength value="6" /> </xs:restriction> </xs:simpleType> <!-- Tipo para string com tamanho maximo 12 --> <xs:simpleType name="TString12"> <xs:annotation> <xs:documentation>Tipo para string de tamanho maximo 12</xs:documentation> </xs:annotation> <xs:restriction base="xs:string"> <xs:maxLength value="12" /> </xs:restriction> </xs:simpleType> <!-- Tipo para string com tamanho maximo 13 --> <xs:simpleType name="TString13"> <xs:annotation> <xs:documentation>Tipo para string de tamanho maximo 13</xs:documentation> </xs:annotation> <xs:restriction base="xs:string"> <xs:maxLength value="13" /> </xs:restriction> </xs:simpleType> <!-- Tipo para string com tamanho maximo 15 --> <xs:simpleType name="TString15"> <xs:annotation> <xs:documentation>Tipo para string de tamanho maximo 15</xs:documentation> </xs:annotation> <xs:restriction base="xs:string"> <xs:maxLength value="15" /> </xs:restriction> </xs:simpleType> <!-- Tipo para string com tamanho maximo 50 --> <xs:simpleType name="TString50"> <xs:annotation> <xs:documentation>Tipo para string de tamanho maximo 50</xs:documentation> </xs:annotation> <xs:restriction base="xs:string"> <xs:maxLength value="50" /> </xs:restriction> </xs:simpleType> <!-- Tipo para string com tamanho maximo 60 --> <xs:simpleType name="TString60"> <xs:annotation> <xs:documentation>Tipo para string de tamanho maximo 60</xs:documentation> </xs:annotation> <xs:restriction base="xs:string"> <xs:maxLength value="60" /> </xs:restriction> </xs:simpleType> <!-- Tipo para string com tamanho maximo 100 --> <xs:simpleType name="TString100"> <xs:annotation> <xs:documentation>Tipo para string de tamanho maximo 100</xs:documentation> </xs:annotation> <xs:restriction base="xs:string"> <xs:maxLength value="100" /> </xs:restriction> </xs:simpleType> <!-- Tipo para string com tamanho maximo 120 --> <xs:simpleType name="TString120"> <xs:annotation> <xs:documentation>Tipo para string de tamanho maximo 120</xs:documentation> </xs:annotation> <xs:restriction base="xs:string"> <xs:maxLength value="120" /> </xs:restriction> </xs:simpleType> <!-- Tipo para string com tamanho maximo 150 --> <xs:simpleType name="TString150"> <xs:annotation> <xs:documentation>Tipo para string de tamanho maximo 150</xs:documentation> </xs:annotation> <xs:restriction base="xs:string"> <xs:maxLength value="150" /> </xs:restriction> </xs:simpleType> <!-- Tipo para string com tamanho maximo 256 --> <xs:simpleType name="TString256"> <xs:annotation> <xs:documentation>Tipo para string de tamanho maximo 256</xs:documentation> </xs:annotation> <xs:restriction base="xs:string"> <xs:maxLength value="256" /> </xs:restriction> </xs:simpleType> <!-- Tipo para string sem tamanho indefinido --> <xs:simpleType name="TString"> <xs:annotation> <xs:documentation>Tipo para string de tamanho indefinido</xs:documentation> </xs:annotation> <xs:restriction base="xs:string"> </xs:restriction> </xs:simpleType> <!-- Tipo para string com formato Base64 --> <xs:simpleType name="TStringBase64"> <xs:annotation> <xs:documentation>Tipo para string a ser usado com o formato Base64</xs:documentation> </xs:annotation> <xs:restriction base="xs:string"> </xs:restriction> </xs:simpleType> </xs:schema>