Tipos de dados · tema 15 de 30
XML
18 min · 2 vídeos · 8 cards · 1 drill
Por que cai
Cai como pergunta de realidade, não de teoria: o banco tem integração legada e obrigação fiscal em XML. Quem responde 'XML é coisa antiga' mostra que nunca abriu um arquivo de retorno; quem cita nota fiscal e mensageria mostra que conhece o terreno.
Pré-teste · 1 de 1
responda antes de verUm arquivo XML de nota fiscal falha na importação porque um campo obrigatório veio vazio. Qual mecanismo do próprio padrão XML detectaria isso antes do processamento?
Vídeo · português · 9 min
Em uma frase
XML é uma linguagem de marcação extensível que descreve dados hierárquicos em tags auto-descritas, e continua obrigatório no Brasil em documento fiscal eletrônico mesmo tendo perdido as APIs novas para o JSON.
A estrutura em três peças
Um documento XML tem elementos, que são os nós delimitados por tag de abertura e fechamento e podem conter texto ou outros elementos; atributos, que são pares nome e valor dentro da tag de abertura e não têm filhos; e namespaces, que qualificam os nomes para evitar colisão quando o documento combina vocabulários diferentes.
O namespace é a peça que mais causa dor prática. Arquivos fiscais e de mensageria financeira declaram namespace, e um leitor configurado sem ele simplesmente não encontra nó nenhum — o arquivo abre no editor e o parser devolve vazio.
Bem formado não é válido
| Nível | O que checa | Exemplo de falha |
|---|---|---|
| Bem formado | Sintaxe: tags fechadas, aninhamento correto, um único elemento raiz | Tag aberta e nunca fechada |
| Válido | Conformidade com o XSD ou DTD declarado: elementos, tipos, obrigatoriedade, cardinalidade | Campo obrigatório ausente num documento sintaticamente perfeito |
O XSD— XML Schema Definition: o arquivo que declara a estrutura esperada do documento, com tipos e obrigatoriedade, permitindo rejeitar o que não obedece. é o que te dá validação na porta do pipeline. Quando ele existe, use: erro que estoura na ingestão custa muito menos que erro que estoura no relatório.
Onde XML ainda vive no Brasil
- 1Documento fiscal eletrônico: NF-e e variantes trafegam e são armazenadas em XML assinado digitalmente, com prazo de guarda legal.
- 2Integração legada: serviços SOAP internos e de parceiros continuam trocando envelopes XML.
- 3Mensageria financeira: o padrão ISO 20022 organiza as mensagens em esquemas XML e é a base de vários fluxos do setor. [verificar o alcance exato da adoção no arranjo do Pix na documentação do Banco Central]
Por que perdeu espaço para JSON
Dois motivos práticos. Verbosidade: repetir o nome do campo na abertura e no fechamento infla o payload, o que custa rede, armazenamento e tempo. E parsing: JSON mapeia direto para dicionário e lista nas linguagens usadas em API web, enquanto XML exige percorrer uma árvore com namespace, atributo e texto misturados.
Isso explica a preferência em API nova. Não explica desaparecimento: obrigação legal e padrão de setor não mudam porque o formato ficou fora de moda.
Como ler XML num pipeline
O fluxo recomendado é o mesmo de qualquer semiestruturado: grave o arquivo cru na raw, porque em documento fiscal o original assinado é a evidência; valide contra o XSD; achate o que o negócio consulta; e materialize em tabela Delta na trusted, que é onde a consulta fica barata.
Se quiser outro ângulo
Como cai na sabatina
“Onde você ainda encontraria XML dentro de um banco hoje?”
Erros comuns
- Dizer que XML é dado não estruturado. É semiestruturado: a estrutura vem nas próprias tags, e é isso que permite validar e consultar por campo.
- Confundir elemento com atributo. Elemento é o nó que carrega conteúdo e pode ter filhos; atributo é um par nome e valor dentro da tag de abertura, sem filhos. Muita integração antiga usa atributo onde hoje se usaria campo.
- Ignorar namespace. Arquivo fiscal e de mensageria financeira declaram namespace, e um parser configurado sem ele simplesmente não acha os nós.
- Achar que XML morreu. Perdeu espaço em API nova, mas segue obrigatório em documento fiscal eletrônico e presente em padrões de mensageria financeira.
- Ler XML linha a linha com expressão regular. XML é hierárquico e permite aninhamento arbitrário; parser de verdade ou leitor nativo do Spark, nunca regex.
Flashcards
Card 1 de 8
0 certos · 0 a reverDrill
Diagnóstico rápido de XML
Diga em uma frase o que está acontecendo em cada situação e qual seria o próximo passo.
1.O parser não encontra nenhum nó, embora o arquivo abra normalmente no editor.
2.O arquivo passa no parser mas o sistema fiscal recusa o documento.
3.Você leu o XML no Spark e veio uma linha só, com tudo aninhado dentro.
4.Acentos aparecem trocados depois da leitura.
Quiz · 1 de 1
Qual afirmação sobre XML e JSON é mais defensável numa sabatina?
Explique para um gerente
Explique em um minuto por que a empresa não pode simplesmente converter tudo para JSON e aposentar o XML.
Responda em voz alta antes de seguir. Se travar numa palavra técnica, é sinal de que ainda não entendeu essa parte.
Perguntas de sabatina deste tema
- · Onde você ainda encontraria XML dentro de um banco hoje, e como lidaria com ele?
- · Um time propõe converter todos os XML recebidos para JSON na entrada, para padronizar o pipeline. O que você responde?
Para ir além