Base de Conhecimento

O ProsperaERP é um software de Gestão e Controle que automatiza diversas ações de que você precisa para monitorar e organizar o seu Negócio.

XML Schemas: conhecendo o básico

Postado em

Os XML Schemas são arquivos que determinam restrições, tipos de dados e estruturas de arquivos XML. Eles são necessários e úteis para uma série de fundamentos, destacamos aqui a validação de regras de negócio e o porquê da adoção da validação do XML no lado cliente, ou seja, validação local de dados antes da transmissão.

Como o XML Schemas valida o XML?

Os Schemas são arquivos escritos em formato/linguagem XML que descrevem os campos de determinado arquivo XML. Abaixo temos um exemplo da validação de local de destino de operação da NF-e presentes no leiaute 4.0.

Perceba que temos 03 ocorrências “enumeration value” com os valores 1, 2 e 3. Então supomos que o sistema emissor de NF-e tente enviar o valor 4 para a tag “idDest” desta forma a SEFAZ irá retornar um erro de Schema, dizendo que o valor 4 não é aceito como um local de destino válido.

<xs:element name="idDest">
<xs:annotation>
<xs:documentation>Identificador de Local de destino da operação (1-Interna;2-Interestadual;3-Exterior)</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:whiteSpace value="preserve"/>
<xs:enumeration value="1"/>
<xs:enumeration value="2"/>
<xs:enumeration value="3"/>
</xs:restriction>
</xs:simpleType>
</xs:element>

 

Exemplo:

Imagem de exemplo de falha na validação de schemas, lê-se squimas
No exemplo acima o campo NCM está presente na mensagem de erro de schema, neste caso a tradução do erro é “o valor 98765 não é aceito pelo padrão”. Entre parênteses o número 8 que quer dizer que somente 8 dígitos são aceitos como um valor de NCM válido e também entre colchetes 0-9 indicando que são aceitos os números inteiros entre 0 e 9.

Por que validar o XML antes de transmitir?

Todos os dias dezenas de milhares de requisições são enviadas para SEFAZ, seja para enviar novos documentos fiscais, seja para envio de eventos, consultas etc. Dentre os vários serviços disponíveis muitos são abertos a todos, aumentando exponencialmente a possibilidade de uma demanda de processamento. Por se tratar de uma demanda de vital importância o governo tem de manter uma estrutura de TI de alta disponibilidade. Esta alta disponibilidade é diretamente impactada pelo número de requisições que são enviadas todos os dias. Diferenças sazonais, comportamentos online e outros eventos devem ser previstos para manter os recursos suficientes e com sobra.

Os arquivos schema validam os dados do XML antes mesmo de serem enviados um lote de processamento para SEFAZ. Esta validação evita que dados errados e/ou inválidos sejam fornecidos, validando regras de negócio. Algo fundamental nessa validação, é que ela é “local”, ou seja, funciona no site ou sistema emissor de notas fiscais, evitando que essa validação tenha que ser nos servidores da SEFAZ. É uma tecnologia muito interessante que deve ser conhecida e reconhecida por todos, para que o usuário final possa ter retornos bem implementados e traduzidos.

Fonte: Schema – W3C


Posts Relacionados

Talvez você goste de alguns destes também.

Pagamento por cartão de crédito

O pagamento por cartão de crédito pode ser ofertado em opções nas quais o vendedor busca vendas sem complicações com cobranças. Veja neste artigo as opções de como criar pagamentos com cartão de crédito.
Leia Mais

Pagamento por boleto bancário

Veja neste artigo as formas de emissão de pagamento por boleto bancário no Prospera Pay.
Leia Mais

Pagamento por Pix

É muito fácil gerar um pagamento por Pix do Prospera Pay. Veja os passos neste artigo.
Leia Mais