2008-12-31 9 views
1

Je suis en train de pirater une extension Firefox, essayant d'utiliser E4X. Cependant, j'ai rencontré un problème étrange:Pourquoi ce code E4X ne respecte-t-il pas l'espace de noms par défaut?

var myXml = <test xmlns="http://test.com"> 
    Hey 
    <inner> 
     Guys 
     </inner> 
    </test>; 

var ns = myXml.namespace(); 

default xml namespace = ns; 

this.log(myXml.*::inner); 
this.log(myXml.ns::inner); 
this.log(myXml.inner); 

Les deux premières instructions de journal impriment "Guys". Le troisième est vide. Que se passe-t-il? J'ai spécifié l'espace de nom par défaut, et c'est exactement la même chose que celle que j'utilise dans la seconde instruction de journal. Pourquoi ça ne marche pas?

Mozilla's documentation suggests this should work.

Répondre

1

Dans Firefox 3 votre code fonctionne comme prévu. Peut-être que vous rencontrez un bug trouvé dans une ancienne version de Gecko?

+0

Ceci est dans Firefox 2, dans une extension ... – bhollis

Questions connexes