Dans environ la moitié des exemples svg que je vois sur Internet, le code est enveloppé dans un langage simple et simple <svg></svg>
balises .
Dans l'autre moitié, les balises svg ont beaucoup d'attributs complexes comme celui-ci:
<svg
xmlns="http://www.w3.org/2000/svg"
version="1.1"
xmlns:xlink="http://www.w3.org/1999/xlink">
Ma question est: est-ce correct d'utiliser les simples balises svg? J'ai essayé de jouer avec les plus compliqués, et tout fonctionne bien de mon côté si je ne les inclue pas.
<!DOCTYPE svg xmlns="www.w3.org/2000/svg">
en marche, mais si j'enlève les xmlns ou si je le change,<!DOCTYPE svg xmlns="www.example.com">
ça ne marche pas. Pourquoi donc?L'
xmlns="http://www.w3.org/2000/svg"
attribut est:<svg>
. 2L'
xmlns:xlink="http://www.w3.org/1999/xlink"
attribut est:<svg>
avec XLink: attributs. 2L'
version="1.1"
attribut est:1 Internationalized Resource Identifiers (RFC3987)
2 Depuis HTML5
3 Extensible Markup Language (XML) 1.0
4 Probablement jusqu'à la sortie d'autres versions majeures.
5 SVG 2, Recommandation candidate du W3C, 07 août 2018
la source
version
attribut de la déclaration xml (<?xml version...
) avec l'version
attribut de l'<svg>
élément. Le premier concerne la version du langage de balisage XML, tandis que le dernier spécifie la version de SVG. L'auteur de cette réponse a fait cette erreur en se référant au XML, pas à la spécification SVG en ³. J'ai essayé de le corriger, mais certains idiotes ont rejeté la modification.Je voudrais ajouter aux deux réponses, mais je n'ai aucun point, j'ajoute une nouvelle réponse. Lors de tests récents sur Chrome (version 63.0.3239.132 (version officielle) (Windows 64 bits)), j'ai constaté que:
xhr.responseText
etelm.innerHTML
. Cela ne nécessite pas les xmlns.xhr.responseXML.documentElement
etelm.appendChild()
ouelm.insertBefore()
. Cette méthode de création du SVG en ligne produit des résultats mi-cuits sans que l'espace de noms SVG de base ne soit déclaré, comme dansxmlns="http://www.w3.org/2000/svg"
. Le <svg> se charge dans le HTML, mais les fonctions au niveau du document, telles que cellesgetElementById()
qui ne sont pas reconnues sur l'élément <svg>. Je suppose que c'est parce qu'il utilise l'analyseur XML XMLHttpRequest en dehors du HTML.la source
À propos de l'attribut de version SVG dit MDD WebDoc
PS: Le SVG 2 est encore loin de devenir un standard.
la source