Skip to main content
Validação HTML

Valor inválido “https://www.w3.org/2000/svg” para o atributo “xmlns” (apenas “http://www.w3.org/2000/svg” é permitido aqui).

Sobre este problema HTML

Um URI de namespace XML é um identificador único, não um endereço web real que o seu browser vai buscar. O namespace SVG foi definido como http://www.w3.org/2000/svg na especificação original do SVG, e essa string exata é o que os parsers HTML e validadores esperam. Mesmo que usar https em todo o lado seja uma boa prática para pedidos de rede reais, os URIs de namespace não são pedidos de rede — são simplesmente strings fixas usadas para identificar a que vocabulário XML um elemento pertence.

Quando escreve https://www.w3.org/2000/svg em vez de http://www.w3.org/2000/svg, o validador vê um namespace não reconhecido. Isto também pode causar problemas em certos contextos baseados em XML (como XHTML ou ficheiros SVG independentes), onde o browser pode falhar ao reconhecer o elemento como SVG, resultando em gráficos que não são renderizados. No modo HTML5 padrão, a maioria dos browsers ainda renderizará SVGs inline corretamente independentemente do valor xmlns, mas a marcação é tecnicamente inválida e pode causar problemas em ambientes de parsing mais rigorosos como serializadores XML, renderizadores do lado do servidor, ou ferramentas que processam SVG como XML.

Este erro é especialmente comum porque muitos programadores mudam reflexivamente http para https — ou o seu editor ou linter faz isso automaticamente — quando veem uma string parecida com um URL. O mesmo princípio aplica-se a outros URIs de namespace como http://www.w3.org/1999/xhtml para HTML e http://www.w3.org/1998/Math/MathML para MathML. Estes são todos identificadores fixos que não devem ser alterados.

Como corrigir

Substitua https:// por http:// no valor do atributo xmlns. É só isso — não são necessárias outras alterações.

Se o seu projeto usar ferramentas automatizadas que reescrevem URLs http para https, pode precisar de configurar uma exceção para URIs de namespace XML.

Exemplos

❌ Incorreto: usar https no URI do namespace

<svg xmlns="https://www.w3.org/2000/svg" viewBox="0 0 100 100">
  <circle cx="50" cy="50" r="40" fill="blue" />
</svg>

Isto desencadeia o erro de validação porque https://www.w3.org/2000/svg não é um valor de namespace reconhecido.

✅ Correto: usar http no URI do namespace

<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100">
  <circle cx="50" cy="50" r="40" fill="blue" />
</svg>

✅ Correto: SVG inline em HTML sem xmlns

Quando incorpora SVG diretamente dentro de um documento HTML5, o atributo xmlns é opcional — o parser HTML atribui automaticamente o namespace correto aos elementos <svg>:

<svg viewBox="0 0 100 100">
  <circle cx="50" cy="50" r="40" fill="blue" />
</svg>

Isto é HTML5 perfeitamente válido. Você só precisa do atributo xmlns quando o SVG é servido como um ficheiro .svg independente ou usado dentro de um documento 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.