Comparação de XMLs
A comparação de arquivos XMLs é útil para identificar divergências entre os arquivos. Logicamente, a comparação pode ser feita entre dois arquivos que não sejam XML, no entanto, como a maior parte de documentos eletrônicos utiliza o padrão XML, este tópico tem objetivo na comparação de XMLs.
Situações onde a comparação auxilia na execução da análise:
- Quando um documento eletrônico é autorizado pelo órgão autorizador, e outro documento, que teoricamente possui as mesmas informações, é rejeitado;
- Identificar diferenças entre os arquivos XMLs de forma rápida e automatizada.
Para realizar o processo de comparação é necessário:
- Os arquivos XMLs a serem comparados;
- O software para estruturar o arquivo XML de forma que cada tag fique especificamente em uma linha;
- O software para efetivamente efetuar a comparação dos XML.
Para a exemplificação do processo, os seguintes aplicativos serão utilizados:
Os aplicativos P4 Merge e WinMerge são equivalentes, ou seja, pode ser escolhido um ou outro para efetuar a comparação. No entanto, o aplicativo P4Merge se mostra mais avançado no processo de comparação de arquivos XMLs.
Importante
A Senior não mantém ou patrocina nenhum dos aplicativos citados acima. Estes aplicativos são gratuitos e distribuídos conforme licenças de cada aplicativo. Outros aplicativos poderão ser utilizados em substituição aos indicados, no entanto, para exemplificação de todo o processo, foram escolhidos estes.
A Senior também não presta nenhum tipo de suporte nestes aplicativos (tanto em processos de instalação dos aplicativos, como em processos de utilização dos mesmos). Informações detalhadas sobre a instalação e o funcionamento dos aplicativos poderão ser obtidas nos sites dos desenvolvedores ou na Internet.
Este tópico não trata a instalação ou parametrização de nenhum dos aplicativos citados acima. Desta forma, é pré-requisito que eles já estejam instalados e devidamente parametrizados para serem utilizados.
Eventuais funcionalidades e telas dos aplicativos indicadas neste tópico poderão sofrer alterações sem aviso prévio.
Caso os links de download sejam alterados pelos desenvolvedores dos softwares, eles poderão ser localizados na Internet.
O primeiro passo para comparar dois arquivos XMLs é estrutura-los de forma que cada tag fique especificamente em uma linha. Este processo facilita a visualização de divergências entre os dois arquivos.
Observação
O pré-requisito da geração e envio de arquivos XMLs para os órgãos autorizadores é que os arquivos não possuam espaços em branco ou quebras de linha, para diminuir ao máximo o tamanho do arquivo, diminuindo o tráfego de dados. Desta forma, a partir do momento em que os arquivos tem sua estrutura alterada, eles poderão passar a ser considerados inválidos por algum órgão autorizador ou até mesmo pelo próprio eDocs.
Para efetuar esta alteração na estrutura, é utilizado o aplicativo Notepad++ juntamente com o plugin XML Tools disponibilizado para este aplicativo. A alteração deve ser feita para cada um dos arquivos XMLs utilizado no processo de comparação.
- Execute o arquivo XML no Notepad++;
- Acesse o menu Plugins > XML Tools > Pretty print (libXML) [experimental]. Esta é a opção utilizada para estruturar o arquivo de forma que o cada tag fique definida em uma linha específica. Abaixo segue imagem que indica a opção a ser acessada no menu.
- Verifique que o documento foi estruturado conforme necessário.
Na imagem abaixo é possível identificar que o documento foi estruturado conforme o desejado (uma tag para cada linha específica).
Após efetuar a confirmação de que o arquivo foi devidamente alterado, é obrigatório salvar o arquivo. Como será efetuada a alteração na estrutura do arquivo, convém salvar o arquivo com outro nome, evitando que a estrutura do arquivo original seja perdida.
Os passos acima devem ser repetidos para todos os outros XMLs que farão parte da comparação.
Dica
A opção Linarize XML disponível no menu Plugins > XML Tools > Linarize XML faz com que o XML seja retornado ao padrão original (sem quebras de linha).
Após aplicada a alteração na estrutura dos arquivos XMLs que serão comparados conforme indicado no tópico acima, para efetuar a comparação pelo aplicativo WinMerge é necessário seguir os passos a baixo:
- Execute o aplicativo WinMerge e acesse o menu Arquivo > Abrir;
- Defina os arquivos que serão comparados.
Após ser acessado o menu indicado no Passo 1, a tela abaixo será exibida.
- 1 - Esquerda: selecione o primeiro arquivo a ser comparado, através do botão Procurar. Ele é exibido à esquerda do vídeo, no processo de comparação.
- 2 - Direita: selecione o segundo arquivo a ser comparado, através do botão Procurar. Ele é exibido à direita do vídeo, no processo de comparação.
- 3 - Botão OK: após terem sido escolhidos os dois arquivos, clique no botão OK.
- Identifique divergências entre os arquivos
Após clicar em OK na tela de escolha dos arquivos a serem comparados (conforme imagem acima), o aplicativo WinMerge exibe um painel com a comparação dos arquivos, conforme imagem abaixo.
- 1 - Painel de localização: neste painel é possível navegar rapidamente pelos pontos onde o aplicativo encontrou diferenças entre os dois XMLs. Cada linha onde foi encontrada uma diferença será marcada na cor amarela;
- 2 - Visualização do Primeiro arquivo: à esquerda do vídeo será exibido o primeiro arquivo XML selecionado. As linhas em amarelo indicam que há diferença nesta linha em comparação com o segundo arquivo;
- 3 - Visualização do Segundo arquivo: à direita do vídeo será exibido o segundo arquivo XML selecionado. As linhas em amarelo indicam que há diferença nesta linha em comparação com o primeiro arquivo;
- 4 - Painel de visualização com destaque às diferenças: no painel de visualização é possível identificar de forma rápida as diferenças entre os arquivos. As linhas são mostradas em amarelo. Eventualmente, podem haver registros de linhas na cor cinza. Esta cor cinza indica tags que estão em um XML mas não estou no outro XML.
O aplicativo WinMerge não é um aplicativo especializado na comparação de XMLs de documentos eletrônicos. Diante disso, durante as comparações, principalmente em relação a tags que existem em um arquivo e que não existem em outro, o alinhamento do Painel de Visualização das diferenças poderá ser exibido de forma incorreta. No entanto, prestando atenção nos dois arquivos exibidos, é possível identificar as diferenças.
Dica
É possível carregar dois arquivos a serem comparados no WinMerge de forma mais rápida. Para isso:
- Acesse o menu Editar > Opções do WinMerge;
- Na tela de Opções, selecionar o conjunto de parametrizações Integração com o Shell;
- Ative as opções Adicionar ao menu de contexto e Ativar o menu avançado, conforme abaixo:
- A partir deste momento, esta disponível a opção Comparar no menu de contexto do Windows, após terem sido selecionados dois arquivos, conforme imagem abaixo:
A ativação da funcionalidade pode requerer a reinicialização do sistema.
Após ter sido aplicada a alteração na estrutura dos arquivos XMLs que serão comparados conforme indicado no tópico acima, para efetuar a comparação pelo aplicativo P4Merge é necessário seguir os passos a baixo:
- Execute o aplicativo P4Merge. São solicitados os arquivos a serem comparados.
- Diff: deve ser selecionada para ativar o modo Comparação do aplicativo. Esta é a opção padrão ao ser aberto o aplicativo;
- 1st: selecione o primeiro arquivo a ser comparado, clicando no botão Browse. Ele é mostrado à esquerda do vídeo, no processo de comparação;
- 2st: selecione o segundo arquivo a ser comparado, clicando no botão Browse. Ele é mostrado à direita do vídeo, no processo de comparação;
- Botão OK: após terem sido escolhidos os dois arquivos, clique no botão OK (habilitado após a escolha dos arquivos).
- Identifique as divergências entre os arquivos
Após clicar em OK na tela de escolha dos arquivos a serem comparados (conforme imagem acima), o aplicativo P4Merge exibe um painel com a comparação dos arquivos, conforme imagem abaixo.
- 1 - Painel das diferenças: no painel de visualização é possível identificar de forma rápida as diferenças entre os arquivos. As linhas onde foram encontradas diferenças serão mostradas em cinza. O aplicativo verifica o início e fim das tags, indicando de forma mais precisa as diferenças presentes dentro de um grupo de tags;
- 2 - Visualização do Primeiro arquivo: à esquerda é exibido o primeiro arquivo XML selecionado. As linhas em roxo indicam que há diferença nesta linha em comparação com o segundo arquivo;
- 3 - Visualização do Segundo arquivo: à direita é exibido o segundo arquivo XML selecionado. As linhas em verde indicam que há diferença nesta linha em comparação com o primeiro arquivo;
- 4 - Painel de visualização com destaque às diferenças: o aplicativo P4Merge consegue interpretar alguns grupos de tags do XML. Desta forma, o destaque às diferenças é efetuado de forma que torna-se mais simples identificar onde um grupo de tags inicia e termina no primeiro arquivo e onde este mesmo grupo de tags inicia e termina no segundo arquivo.
Importante
O aplicativo P4Merge, apesar de interpretar tags XML e exibir as diferenças de uma forma mais precisa, pode não exibir adequadamente algumas pequenas diferenças. No entanto, prestando atenção nos dois arquivos exibidos, é possível identificar as diferenças.