Skip to content
Latchkey

O Que É XML? Extensible Markup Language Explicado

XML (Extensible Markup Language) é um formato verboso e baseado em tags para dados estruturados e documentos, ainda comum em ferramentas de build e relatórios de teste.

XML é uma forma mais antiga, mas ainda difundida, de representar dados estruturados usando tags aninhadas. É mais verboso que JSON ou YAML, mas sua longa história significa que muitos artefatos importantes de CI - arquivos de build do Maven, relatórios de teste JUnit, saída de cobertura de código - são XML. Saber lê-lo ajuda quando uma ferramenta de build ou reporter de teste fala XML.

O que XML é

XML envolve dados em elementos nomeados escritos como tags de abertura e fechamento, como um valor entre tags em colchetes angulares. Os elementos se aninham para formar uma árvore, podem carregar atributos, e há exatamente um elemento raiz. Diferente do JSON, o XML pode misturar texto e markup, o que o tornou adequado tanto para documentos quanto para dados.

Por que XML é verboso

Cada valor é cercado por uma tag de abertura e fechamento correspondente, então arquivos XML são maiores e mais ruidosos que JSON ou YAML equivalentes. Essa verbosidade compra algum poder - namespaces, schemas e atributos - mas para configuração simples a maioria dos ecossistemas migrou para formatos mais leves.

Validação com schemas

XML pode ser validado contra um schema (XSD ou DTD) que define quais elementos e atributos são permitidos e em que ordem. Isso permite que ferramentas rejeitem config malformada antes de processá-la, o que faz parte do motivo pelo qual sistemas de build corporativos padronizaram em XML.

XML em pipelines de CI

Dois artefatos XML dominam o CI. Maven e Ant definem builds em pom.xml e build.xml. E o relatório JUnit XML é o formato de facto de resultado de teste - test runners em muitas linguagens o emitem para que dashboards de CI possam mostrar testes passando e falhando de forma uniforme.

JUnit XML in a test job
# A CI step that produces and uploads JUnit XML
steps:
  - run: pytest --junitxml=results.xml
  - uses: actions/upload-artifact@v4
    with:
      name: test-results
      path: results.xml

Nota da Latchkey

Relatórios JUnit XML e cobertura XML produzidos em runners da Latchkey são artefatos comuns. Você os faz upload e consome com as mesmas actions de upload-artifact e de relatório que já usa, sem manejo específico da Latchkey.

Principais conclusões

  • XML armazena dados estruturados em tags nomeadas e aninhadas formando uma única árvore com um elemento raiz.
  • É mais verboso que JSON ou YAML, mas suporta namespaces, atributos e validação por schema.
  • No CI ele persiste como arquivos de build pom.xml e o formato universal de relatório de teste JUnit XML.

Guias relacionados