Em cerca de metade dos exemplos de svg que vejo na internet, o código está envolvido em <svg></svg>
tags simples e simples .
Na outra metade, as tags svg têm muitos atributos complicados como este:
<svg
xmlns="http://www.w3.org/2000/svg"
version="1.1"
xmlns:xlink="http://www.w3.org/1999/xlink">
Minha pergunta é: está tudo bem em usar as simples tags svg? Eu tentei brincar com os complicados, e tudo funciona bem no meu final, se eu não incluí-los.
<!DOCTYPE svg xmlns="www.w3.org/2000/svg">
lo funcionando, mas se eu remover o xmlns ou alterá-lo para<!DOCTYPE svg xmlns="www.example.com">
ele não funcionará. Por que é que?O
xmlns="http://www.w3.org/2000/svg"
atributo é:<svg>
. 2o
xmlns:xlink="http://www.w3.org/1999/xlink"
atributo é:<svg>
com xlink: atributos2o
version="1.1"
atributo é:1 Identificadores de recursos internacionalizados (RFC3987)
2 Desde HTML5
3 Extensible Markup Language (XML) 1.0
4 Provavelmente até o lançamento de outras versões principais.
5 SVG 2, recomendação de candidato do W3C, 07 de agosto de 2018
fonte
version
atributo da declaração xml (<?xml version...
) com oversion
atributo do<svg>
elemento O primeiro é sobre a versão da linguagem de marcação XML, enquanto o último especifica a versão do SVG. O autor desta resposta cometeu esse erro consultando o XML, não a especificação SVG em ³. Tentei corrigi-lo, mas alguns idiotas rejeitaram a edição.Eu gostaria de adicionar as duas respostas, mas não tenho pontos, estou adicionando uma nova resposta. Em testes recentes no Chrome (versão 63.0.3239.132 (versão oficial) (Windows de 64 bits)), descobri que:
xhr.responseText
eelm.innerHTML
. Isso não requer os xmlns.xhr.responseXML.documentElement
eelm.appendChild()
ouelm.insertBefore()
. Esse método de criação do SVG embutido produz resultados incompletos, sem que o namespace básico do SVG seja declarado, como emxmlns="http://www.w3.org/2000/svg"
. O <svg> é carregado no HTML, mas as funções no nível do documento, comogetElementById()
não são reconhecidas no elemento <svg>. Suponho que isso ocorre porque ele usa o analisador XMLHttpRequest XML fora do HTML.fonte
Sobre o atributo de versão SVG, o MDN WebDoc diz
PS: O SVG 2 está longe de se tornar um padrão ainda.
fonte