createElement vs createElementNS
Quelle est la réelle différence entre ces deux? Je veux dire le réel, la différence essentielle.
Quel est l'avenir en tenant régulièrement createElement
?
Svg xml, pas en html. Je le conçois. Nous utilisons donc des createElementNS(ns_string, 'svg')
Et puis setAttributeNS(null,,)
. Pourquoi?
Pourquoi ne pas setAttributeNS('my_ns',,)
?
Pourquoi doit ns_string
être http://www.w3.org/2000/svg
et non une chaîne de caractères aléatoires? Quel est le but d'un espace de noms s'il n'existe qu'un seul espace de noms?
Quel est le but de ns
html standard? Dois-je modifier toutes les instances de createElement
à createElementNS
dans mon code?
Je suis la lecture de la DOM-Niveau 2 spec. mais je suis toujours perplexe.
- Si SVG également eu un, dire,
a
élément, pourquoi devrions-nous supposer qu'il a le même rôle que le familier d'ancrage HTML de l'élément avec le même nom de balise? Peut-être, en SVG, il renvoie à quelque chose de complètement différent, plus adapté à la nature de SVG? Ensuite, tout ce que vous devez faire est de demander vous-même -- quia
élément que vous obtenez si vous n'avezdocument.createElement("a")
dans votre script? Voir, sans espaces de noms, le nom d'un élément est entièrement ambiguë.
Vous devez vous connecter pour publier un commentaire.
Pour comprendre le problème des espaces de noms pour essayer de résoudre, d'envisager des extensions de fichier. 3-lettre des extensions de fichier ont fait un très mauvais travail de description du contenu des fichiers. Ils sont ambigus et ne pas transporter des informations de version. Les espaces de noms XML utiliser le plus grand espace de cordes, d'Uri, de résoudre le même problème, et utiliser des préfixes de sorte que vous pouvez, de façon succincte, mélange de plusieurs types de XML dans le même document.
Il y a de nombreux espaces de noms utilisés pour identifier les différents types de XML, et les différentes versions de ce genre.
SVG et MathML sont de deux types XML chacun avec leurs propres espaces de noms peut être intégré en HTML5, et ils utilisent souvent XLink, un autre espace de noms XML. De nombreux autres schémas XML, avec les espaces de noms sont utilisés pour la transmission de messages entre les clients et les serveurs pour le stockage de données.
XHTML est une tentative pour exprimer HTML XML valide. Il dispose de son propre espace de noms.
Vous devriez probablement essayer de l'utiliser constamment
setAttributeNS
avec un URI d'espace de noms lors de l'utilisation decreateElementNS
avec un URI d'espace de noms.XML a été défini en plusieurs étapes. La première version de la spécification ne dit rien sur les espaces de noms, mais laissé assez de syntaxe, de sorte que XML avec les espaces de noms peuvent être spécifiés sur XML sans les espaces de noms à l'aide de préfixes et spécial
xmlns
attributs. Le Spécification XML dit:Espaces de noms XML laisser XML applications de traitement de savoir ce à quoi ils ont affaire, et permettre plusieurs types de XML doit être mélangé dans le même document.
Cela inclut l'année de la version de SVG a été normalisé, 2000, de sorte qu'il porte des informations utiles.
Lorsqu'il est utilisé avec
xmlns:svg
cela permet également au navigateur de savoir que lesvg:
préfixe signifie SVG et pas sur un autre dialecte de XML.XML
dans le générique que le nom du fichier à la fin avec.xml
.