HTML x XML: propósitos diferentes para tags parecidas

HTML também descreve conteúdo com tags, mas para renderizar uma página, não para trocar dados entre sistemas. Entenda a diferença prática em relação ao XML, por que navegadores toleram HTML malformado e onde o HTML aparece na DANFE e no QR Code.

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.

Aplique o conceito nas ferramentas.

As ferramentas de JSON, XML, YAML, TOON, CSV, Base64, caracteres especiais e detecção de charset rodam localmente no navegador, sem enviar o seu documento fiscal para nenhum servidor.

Conteúdo de referência gratuito — sem necessidade de login.