O que é um arquivo XML?
Antigamente utilizava-se o conceito de marcação para descrever as anotações ou marcas de um texto que seriam trabalhados por um datilógrafo, ou mesmo um desenhista.
Com o avanço das tecnologias e a automatização de alguns processos da escrita, tais como a formatação e impressão de textos, o termo “marcação” foi estendido para os códigos de marcação nos textos eletrônicos.
Marcar um texto eletrônico nada mais é do que indicar como o conteúdo do texto deve ser interpretado, ou como as informações serão transferidas e como elas devem ser representadas.
Um exemplo de linguagem de marcação muito utilizada é o HTML, também conhecido como páginas da internet. É um arquivo de texto, que possui a extensão .html e que é lido por softwares, tais como os navegadores de internet.
O arquivo XML é, portanto, uma linguagem de marcação, utilizada para a criação de documentos organizados de forma hierárquica. Diferente do HTML, o XML permite ao autor do documento a definição de suas próprias marcações, o que facilita a transmissão e compartilhamento de documentos pela internet.
Histórico das linguagens de marcação: GML, SGML, HTML e XML
As linguagens de marcação tiveram origem nos anos 70, quando surgiu a GML - Geral Markup Language. Foi a primeira linguagem de marcação, mais genérica, desenvolvida pela IBM, com o objetivo de processar uma grande quantidade de dados.
Nos anos 80, a International Organization for Standardization (ISO1) desenvolveu a SGML - Standard Generalized Markup Language. Um dos objetivos do SGML era garantir que documentos codificados com as suas marcações poderiam ser transportados eletronicamente, sem que houvesse perda de informação. Tornou-se então uma linguagem de marcação com um padrão internacional, não proprietário e de código aberto.
Não demorou muito e foi criado o HTML - Hypertext Markup Language, com o mesmo objetivo do SGML, porém era voltado para uso em páginas on-line, os chamados sites. Foi uma linguagem criada com o objetivo de melhorar a comunicação e a publicação de documentos científicos pela internet.
Passados alguns anos, em 1996, surgiu o XML - Extensible Markup Language, com o intuito de solucionar as limitações do HTML e contemplar a organização de dados criada pelo SGML.
Tanto o HTML quanto o XML, portanto, são linguagens de marcação que derivaram do SGML e por isso apresentam características bem parecidas.
Diferenças entre dados estruturados, semi estruturados e não estruturados
É possível diferenciar os tipos de linguagens de marcação de acordo com a maneira que os dados são representados nas bases eletrônicas:
- Estruturados: possuem um padrão definido, e organizam os dados em uma estrutura rígida. Com a aplicação de filtros e consultas possibilitam o agrupamento e extração de dados relevantes para os usuários. Exemplo: Banco de Dados.
- Semi-estruturados: possui caráter intermediário, pois são parcialmente estruturados. Aceitam variações na sua estrutura, mas não se limitam a uma estrutura rígida. Os dados geralmente estão fora dos esquemas de bancos de dados, dispersos e não integrados a uma estrutura rígida. Exemplo: HTML, XML
- Não-estruturados: são os que não possuem nenhuma estrutura, ou seja, não podem ser organizados em tabelas. São dados flexíveis e dinâmicos. Exemplo: texto livre, redes sociais
Como estão estruturados os dados em um arquivo XML?
Antes de apresentar a estrutura de um arquivo XML, é importante mencionar que existem dois conceitos importantes em linguagens de programação:
- Sintaxe: define a estrutura dos programas sem considerar seu significado. Em outras palavras, enfatiza a estrutura e layout de um programa com sua aparência. Estabelece regras que vão validar a sequência de símbolos e instruções usadas em um programa.
- Semântica: a semântica define o significado dos programas sintaticamente corretos (já definidos) e tem a ver com a interpretação e o significado correto das instruções e estruturas criadas.
Portanto, o XML é uma sintaxe simples para a transferência de dados, na concepção de dados semi-estruturados.
Para entender então o arquivo XML, é importante saber que a estrutura sintática parte sempre de uma árvore. É um arquivo que possui apenas um elemento inicial (raiz) e dentro dele possui um número variável de níveis e outros elementos. Vamos entender a partir de um exemplo:
Neste exemplo, o elemento inicial é o “Aviso” e dele derivam outros quatro elementos que são: “para”, “de”, “cabeçalho” e “corpo”.
Cada um dos elementos de um documento XML é delimitado por tags (que também podemos chamá-las de etiquetas) de início e fim. Observe no exemplo apresentado que a expressão "aviso" é chamada de marcação inicial, e "/aviso" é chamada de marcação final. Também cada um dos elementos (“para”, “de”, “cabeçalho” e “corpo”) possui uma tag inicial e uma tag final. Cada tag deve ter um nome e um conteúdo, que são os dados em si.
Existem também os atributos, que são dados adicionais que podem ser conectados aos elementos e são fornecidos sempre com o par de informações “nome” e “valor”.
Também é possível adicionar comentários que são desconsiderados na hora do processamento e outros elementos.
Por fim, a primeira linha de todo arquivo precisa conter uma declaração identificando o documento XML, a versão utilizada e, facultativamente, o conjunto de caracteres padrão.
O que é o arquivo XML da Nota Fiscal Eletrônica?
O Arquivo XML da nota fiscal eletrônica é o arquivo digital oficial, responsável por armazenar informações da NF-e, contendo dados obrigatórios e essenciais sobre uma devida operação comercial.
Em outras palavras, é um arquivo de texto que segue um padrão de escrituração fiscal, contendo dados organizados de forma hierárquica e padronizada.
Consegue ser lido por computadores e aplicações, agilizando por exemplo, a entrada de dados em sistemas de gestão financeira, de controle de estoque e gestão logística de empresas.
Quais informações da NF-e devem constar no XML?
- Dados da NF-e: modelo, série, número, data de emissão, data de saída/entrada e valor total
- Dados do emitente: nome, razão social, CNPJ, endereço, inscrição estadual e código do município da ocorrência do fato gerador do ICMS
- Dados do destinatário: nome, razão social, CNPJ, endereço e inscrição estadual
- Dados dos produtos e serviços: descrição, quantidade, unidade comercial e valor
- Dados relativos ao ICMS: base de cálculo, valor dos produtos, valor do frete, valor do seguro, substituição, PIS, IPI e Cofins
- Dados do transporte: modalidade de frete, dados do transportador (CNPJ e endereço), informações sobre o veículo (placa e RNTC) e do volume transportado (quantidade, peso líquido e bruto)
- Dados de cobrança: endereço e forma de pagamento
- Informações adicionais: fonte de impressão DANFE (Documento Auxiliar de NF-e) e informações complementares de interesse do contribuinte.
Como funciona o Software da AutoVista com o arquivo XML de NF-e?
O software da AutoVista é integrado 100% através dos arquivos XML da Nota Fiscal Eletrônica. A partir da leitura dos dados contidos no arquivo de texto XML, a plataforma AutoVista promove a integração de entradas e saídas das Notas Fiscais, compondo todas as exigências legais, tributárias e fiscais.
Faz a gestão virtual e física das mercadorias de acordo com a disponibilidade em estoque e atua em cada localidade, reduzindo custos nas operações logísticas.
Apoia o cliente AutoVista on-line (Smartphones, tablets, etc....), reduzindo tempos e custos na administração logística e principalmente os procedimentos/custos de frete envolvidos em uma operação logística baseado em inteligências artificiais nas diversas etapas do processo.