Voilà le contexte
1 2 3 4 5 6 7 8 9 10 11
| <?xml version="1.0" encoding="iso-8859-1"?>
<xhtml xmlns="http://www.w3.org/1999/xhtml"
xmlns:myNS="http://mydomain.org/NS"
>
<head>
</head>
<body>
<span myNS:MyAttribute="aValue">contenu</span>
<myNS:myTag>coucou</myNS:myTag>
</body>
</xhtml> |
De ce que j'ai compris des namspaces je m'attendais à
1 2 3 4 5 6 7 8 9 10 11 12
| documentElement {nodeName:'HTML', namespaceUri:'http://www.w3.org/1999/xhtml'}
HTMLHeadElement {namespaceUri:null}
HTMLBodyElement {namespaceUri:null}
HTMLSpanElement {
namespaceUri:null,
attributes:[
0:{prefix:'myNS',name:'MyAttribute',value:'aValue',namespaceUri:'http://mydomain.org/NS'}
]
}
TextNode (contenu)
Element {prefix:'myNS',nodeName:'myTag', namespaceUri:'http://mydomain.org/NS'}
TextNode (coucou) |
Soit donc un noeud span avec un attribut de nom "MyAttribute" de valeur "aValue" dans le namespace "http://mydomain.org/NS"
de même pour le tag "myTag" dans le namespace "http://mydomain.org/NS"
Or ce n'est pas du tout ce que j'obtiens
1 2 3 4 5 6 7 8 9 10 11 12
| documentElement {nodeName:'HTML', namespaceUri:'http://www.w3.org/1999/xhtml'}
HTMLHeadElement {namespaceUri:null}
HTMLBodyElement {namespaceUri:null}
HTMLSpanElement {
namespaceUri:null
attributes:[
0:{prefix:null,name:'myNS:MyAttribute',value:'aValue',namespaceUri:null}
]
}
TextNode (contenu)
Element {prefix:null,nodeName:'myNS:myTag', namespaceUri:null}
TextNode (coucou) |
j'ai l'attribut "myNS:MyAttribute" dans le namspace par défaut et le tag "myNS:myTag" lui aussi dans le namspace par défaut
pourtant lorsque j'utilise javascript pour ajouter de attributs dans le namespace ça marche
body.firstChild.setAttributeNS('http://mydomain.org/NS','other',12832);
j'ai bien
1 2 3 4 5 6 7 8 9 10 11 12 13
| documentElement {nodeName:'HTML', namespaceUri:'http://www.w3.org/1999/xhtml'}
HTMLHeadElement {namespaceUri:null}
HTMLBodyElement {namespaceUri:null}
HTMLSpanElement {
namespaceUri:null,
attributes:[
0:{prefix:null,name:'myNS:MyAttribute',value:'aValue',namespaceUri:null}
1:{prefix:null,name:'other',value:12832,namespaceUri:'http://mydomain.org/NS'}
]
}
TextNode (contenu)
Element {prefix:null,nodeName:'myNS:myTag', namespaceUri:null}
TextNode (coucou) |
l'attribut other a bien été déclaré dans le namespace "http://mydomain.org/NS" alors que MyAttribute (qui était dans le code source) est vu dans le namspace par défaut mais avec un nom contenant le préfixe
J'ai la même chose sous FF, Chorme, Omniweb
Merci de votre aide
A+JYT
Partager