HTML
Formatos de Dados
HTML (HyperText Markup Language) também descreve conteúdo com tags, mas com um propósito diferente do XML: em vez de estruturar dados para troca entre sistemas, ele estrutura uma página para ser renderizada visualmente num navegador — títulos, parágrafos, tabelas, links. Por isso o HTML tem um vocabulário fixo de tags (<table>, <a>, <div>...) e navegadores toleram HTML malformado; um XML mal formado é rejeitado sem dó por qualquer parser.
No fluxo fiscal, HTML aparece só na ponta pensada para humanos: a página de consulta pública que abre quando alguém aponta o celular para o QR Code de uma NFC-e ou CT-e, por exemplo. O documento em si — o que é transmitido, assinado e validado por schema — é sempre XML; o HTML é só a "vitrine" de conferência.
Diferente do XML, nomes de tag e de atributo em HTML não são case sensitive — <TABLE>, <table> e <Table> são a mesma tag para o navegador, herança do HTML original (que nunca exigiu rigor de caixa como o XML). O conteúdo textual entre as tags, porém, é case sensitive normalmente — a insensibilidade é só da sintaxe de marcação, não do texto que ela envolve.