Skip to main content
Validação HTML

Atributo “xmlns:w” não permitido aqui.

Sobre este problema HTML

No HTML5, o único atributo relacionado com namespace permitido no elemento <html> é xmlns com o valor http://www.w3.org/1999/xhtml, e mesmo esse é opcional—existe apenas para compatibilidade com a serialização XHTML. Declarações de namespace com prefixo como xmlns:w, xmlns:o, xmlns:v, e atributos similares são funcionalidades XML que não têm significado na sintaxe HTML. Originam-se da exportação HTML do Microsoft Office, que gera marcação contendo namespaces XML proprietários como urn:schemas-microsoft-com:office:word para elementos e estilos específicos do Word.

Por que isto é um problema

Conformidade com padrões: O padrão HTML living standard (WHATWG) explicitamente não suporta declarações de namespace personalizadas. Incluí-las torna o seu documento não-conforme, e o validador W3C reportará um erro para cada uma.

Nenhum benefício para o navegador: Navegadores modernos que fazem parsing de HTML5 ignoram completamente essas declarações de namespace. Os atributos não servem nenhum propósito funcional na web—apenas adicionam inchaço desnecessário à sua marcação.

Manutenção e legibilidade: O HTML gerado pelo Office é notoriamente verboso. Deixar as declarações de namespace no local frequentemente anda de mãos dadas com outros artefactos do Office (comentários condicionais, tags <o:p>, propriedades de estilo mso-) que desorganizam o seu código e tornam-no mais difícil de manter.

Acessibilidade e interoperabilidade: Embora os navegadores tipicamente tolerem estes atributos extra sem problemas visíveis, consumidores de HTML que não sejam navegadores—como leitores de ecrã, crawlers de motores de busca, ou clientes de email—podem lidar com atributos inesperados de forma imprevisível.

Como corrigir

  1. Remova o atributo xmlns:w da sua tag <html> ou de qualquer outro elemento onde apareça.
  2. Remova declarações de namespace relacionadas como xmlns:o (Office), xmlns:v (VML), e xmlns:m (Math) se presentes.
  3. Limpe elementos específicos do Office como <w:Sdt>, <o:p>, ou <v:shape> que dependem desses namespaces—estes não são elementos HTML válidos.
  4. Remova propriedades CSS específicas do Office com prefixo mso- (por exemplo, mso-bidi-font-family) que frequentemente acompanham declarações de namespace.

Se você cola regularmente conteúdo do Microsoft Word, considere usar uma funcionalidade “colar como texto simples” no seu editor, ou use uma ferramenta de limpeza HTML para remover automaticamente artefactos do Office.

Exemplos

Inválido: Namespace do Office no elemento <html>

<!DOCTYPE html>
<html lang="en" xmlns:w="urn:schemas-microsoft-com:office:word">
  <head>
    <title>Document</title>
  </head>
  <body>
    <p>Content from Word</p>
  </body>
</html>

Inválido: Múltiplos namespaces do Office

<!DOCTYPE html>
<html lang="en"
  xmlns:w="urn:schemas-microsoft-com:office:word"
  xmlns:o="urn:schemas-microsoft-com:office:office"
  xmlns:v="urn:schemas-microsoft-com:vml">
  <head>
    <title>Document</title>
  </head>
  <body>
    <p class="MsoNormal">Content from Word<o:p></o:p></p>
  </body>
</html>

Válido: HTML limpo sem declarações de namespace

<!DOCTYPE html>
<html lang="en">
  <head>
    <title>Document</title>
  </head>
  <body>
    <p>Content from Word</p>
  </body>
</html>

Válido: Usando o atributo xmlns padrão (opcional)

Se você precisar de compatibilidade com XHTML, o atributo xmlns padrão (sem prefixo) é permitido:

<!DOCTYPE html>
<html lang="en" xmlns="http://www.w3.org/1999/xhtml">
  <head>
    <title>Document</title>
  </head>
  <body>
    <p>Content from Word</p>
  </body>
</html>

Note que este mesmo erro de validação aplica-se a qualquer atributo de namespace personalizado com prefixo—não apenas xmlns:w. Se você vir erros similares para xmlns:o, xmlns:v, xmlns:st1, ou outros, a correção é a mesma: remova-os juntamente com quaisquer elementos ou atributos que dependam desses namespaces.

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.