Skip to main content
Validação HTML

Valor inválido “http://www.w3.org/1999/html” para o atributo “xmlns” (apenas “http://www.w3.org/1999/xhtml” é permitido aqui).

Sobre este problema HTML

O atributo xmlns declara o namespace XML para o documento. Quando presente no elemento <html>, a especificação HTML exige que o seu valor seja exatamente http://www.w3.org/1999/xhtml — nenhuma variação é permitida. O URL http://www.w3.org/1999/html não é um namespace reconhecido e será rejeitado pelo validador. Este erro quase sempre resulta de um erro tipográfico: o “x” antes de “html” foi acidentalmente omitido.

Por que isto é importante

Embora a maioria dos navegadores ainda renderize a página em modo HTML independentemente de um valor xmlns malformado, um namespace incorreto pode causar problemas reais em determinados contextos:

  • Processamento XHTML: Se o documento for servido com um tipo de conteúdo XML (por exemplo, application/xhtml+xml), um namespace inválido fará com que os parsers XML rejeitem ou interpretem incorretamente o documento.
  • Conformidade com padrões: Validadores e ferramentas automatizadas sinalizam isto como erro, o que pode afetar auditorias de qualidade, verificações de acessibilidade e pipelines de CI/CD que impõem marcação válida.
  • Ferramentas e interoperabilidade: Ferramentas baseadas em XML, sistemas de gestão de conteúdo e transformações XSLT dependem de namespaces corretos para funcionar adequadamente.

Como corrigir

Você tem duas opções dependendo do tipo de documento:

  1. Se você precisa do atributo xmlns (por exemplo, para documentos XHTML ou polyglot): Altere o valor de http://www.w3.org/1999/html para http://www.w3.org/1999/xhtml.
  2. Se você está escrevendo HTML5 padrão: Simplesmente remova o atributo xmlns. É opcional em HTML5 e não tem efeito quando presente com o valor correto — portanto, omiti-lo é a abordagem mais limpa.

Exemplos

Incorreto — namespace com erro tipográfico

O valor está sem o “x” antes de “html”:

<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/html" lang="en">
  <head>
    <title>My Page</title>
  </head>
  <body>
    <p>Hello, world!</p>
  </body>
</html>

Corrigido — namespace XHTML correto

Adicione o “x” em falta para que o valor seja xhtml:

<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml" lang="en">
  <head>
    <title>My Page</title>
  </head>
  <body>
    <p>Hello, world!</p>
  </body>
</html>

Corrigido — HTML5 padrão sem xmlns

Se você não precisa de compatibilidade XHTML, remova completamente o atributo:

<!DOCTYPE html>
<html lang="en">
  <head>
    <title>My Page</title>
  </head>
  <body>
    <p>Hello, world!</p>
  </body>
</html>

Para a maioria dos websites modernos servidos como text/html, a terceira opção — omitir xmlns completamente — é a abordagem mais simples e recomendada. Inclua-o apenas se o seu documento também deve ser XHTML válido ou será processado por ferramentas XML, e sempre certifique-se de que o valor é exatamente http://www.w3.org/1999/xhtml.

Encontre problemas como este automaticamente

O Rocket Validator analisa milhares de páginas em segundos, detetando problemas HTML em todo o seu site.

Ajude-nos a melhorar os nossos guias

Este guia foi útil?

Pronto para validar os seus sites?
Comece o seu teste gratuito hoje.