为什么这个E4X代码不尊重默认命名空间?

时间:2008-12-31 21:25:58

标签: javascript firefox e4x

我正在浏览Firefox扩展程序,尝试使用E4X。但是,我遇到了一个奇怪的问题:

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);

前两个日志语句打印“Guys”。第三个是空白的。这是怎么回事?我已经指定了默认命名空间,它实际上与我在第二个日志语句中使用的完全相同。为什么这不起作用?

Mozilla's documentation suggests this should work.

1 个答案:

答案 0 :(得分:1)

在Firefox 3中,您的代码按预期运行。也许你遇到了旧版Gecko中发现的bug?