
XML vs HTML: qual é a diferença?
- VersionDude
- Padrões
- 5 min de leitura
Parecem-se, mas o XML e o HTML foram concebidos para tarefas diferentes — um descreve documentos para os navegadores, o outro transporta dados estruturados.
O HTML e o XML parecem-se surpreendentemente, e por uma boa razão: ambos descendem do SGML e ambos usam a mesma sintaxe de parênteses angulares de etiquetas, atributos e elementos aninhados. À primeira vista, um excerto de cada um pode ser difícil de distinguir do outro. Mas a semelhança de superfície esconde uma profunda diferença de intenção, e confundir os dois conduz a muitas expetativas mal colocadas quanto à forma como cada um se deveria comportar.
HTML: um vocabulário fixo e tolerante

O HTML foi concebido para uma tarefa precisa: descrever documentos para que os navegadores os mostrem às pessoas. Dispõe de um vocabulário de elementos fixo e predefinido — parágrafos, títulos, hiperligações, imagens, etc. — cada um com um significado integrado que os navegadores sabem renderizar. Não inventa novas etiquetas HTML; usa as que o padrão fornece, porque o seu significado e a sua renderização fazem parte da plataforma.
Ponto crucial, o HTML é deliberadamente indulgente para com os erros, e isso é uma funcionalidade em vez de um descuido. O padrão define regras detalhadas de recuperação de erros de modo que mesmo um markup mal escrito produza ainda assim uma página utilizável, o que explica por que uma parte tão grande da web se apresenta apesar da sua invalidade técnica. Esta tolerância mantém a web resiliente e acessível, ao preço de deixar passar em silêncio os erros.
XML: uma meta-linguagem rigorosa
O XML foi concebido com um propósito quase oposto. Não define quaisquer etiquetas próprias; em vez disso, é uma meta-linguagem, um conjunto de regras para inventar os seus próprios vocabulários de markup a fim de transportar dados estruturados. Lá onde o HTML lhe entrega um vocabulário fixo, o XML entrega-lhe a gramática com que construir qualquer vocabulário de que precise, seja para registos financeiros, formatos de documento ou configuração.
Esta flexibilidade vem acompanhada de rigor, que é a outra metade do caráter do XML. Um documento que não é bem formado — com cada etiqueta fechada e cada elemento corretamente aninhado — é rejeitado à partida em vez de reparado. Não há qualquer recuperação de erros à qual recorrer; o analisador recusa-se a prosseguir. Esta postura intransigente é precisamente o que torna o XML fiável para a troca de máquina para máquina, porque ou os dados estão estruturalmente corretos, ou simplesmente não são aceites de todo.
Duas filosofias para duas tarefas
As duas filosofias refletem precisamente os seus casos de uso. A tolerância do HTML adequa-se a uma web onde inúmeros autores de competências variadas publicam documentos que têm ainda assim de se apresentar para os leitores. O rigor do XML adequa-se aos sistemas que trocam dados automaticamente, onde um documento silenciosamente mal interpretado poderia corromper um processo a jusante. Nenhuma abordagem é superior no absoluto; cada uma é a resposta certa a um problema diferente.
XHTML e onde as coisas se estabilizaram
Entre os dois situa-se o XHTML, que é essencialmente HTML expresso segundo as regras rigorosas do XML. Um documento XHTML deve ser XML bem formado para além de HTML válido, combinando o vocabulário web do HTML com a disciplina intransigente do XML. Conheceu um período de popularidade, mas o rigor que o tornava sedutor em teoria tornava-o também frágil na prática, pois um único fragmento malformado podia quebrar uma página inteira.
No desenvolvimento web moderno, o panorama prático estabilizou-se. O HTML5 é o padrão para construir páginas que as pessoas leem nos navegadores, tendo absorvido as lições dos seus predecessores assim como da experiência XHTML. O XML e os formatos que dele derivam, por seu lado, permanecem difundidos para os ficheiros de configuração, os fluxos de dados como RSS e Atom, os formatos de documentos de escritório, e muitos outros lugares onde dados estruturados devem ser armazenados ou trocados.
O ecossistema XML mais amplo
É também útil recordar que o XML raramente viaja sozinho; ancora toda uma família de tecnologias relacionadas. Esquemas como DTD e XSD definem e validam a estrutura de um vocabulário XML particular, o XSLT transforma o XML de uma forma para outra, e o XPath navega dentro de um documento. Este ecossistema circundante faz parte das razões por que o XML perdura nos domínios de elevada intensidade de dados, muito tempo depois de se ter retirado da escrita de páginas front-end.
Uma regra empírica segundo o propósito
Uma regra empírica útil resume a distinção com nitidez. Volte-se para o HTML quando descreve um documento destinado a ser lido por pessoas num navegador, e para os formatos da família XML quando troca ou armazena dados estruturados entre sistemas. Uma vez que enquadra a escolha em torno do propósito em vez da aparência, a sobreposição aparente entre os dois dissolve-se, e torna-se evidente que ferramenta cada tarefa exige.



É também útil recordar que o XML raramente viaja sozinho; ancora toda uma família de tecnologias relacionadas. Esquemas como DTD e XSD definem e validam a estrutura de um vocabulário XML particular, o XSLT transforma o XML de uma forma para outra, e o XPath navega dentro de um documento. Este ecossistema circundante faz parte das razões por que o XML perdura nos domínios de elevada intensidade de dados, muito tempo depois de se ter retirado da escrita de páginas front-end.