[XHTML & Namespace]Le DOM des navigateur est-il à la ramasse où je n'ai rien Compris aux Namespaces
Voilà le contexte
Code:
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 à
Code:
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
Code:
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
Code:
body.firstChild.setAttributeNS('http://mydomain.org/NS','other',12832);
j'ai bien
Code:
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