Почему этот код E4X не соответствует пространству имен по умолчанию?

StackOverflow https://stackoverflow.com/questions/404065

  •  03-07-2019
  •  | 
  •  

Вопрос

Я взламываю расширение 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);

В первых двух инструкциях журнала выводится "Ребята".Третий - пустой.Что происходит?Я указал пространство имен по умолчанию, и это фактически то же самое, что я использую во втором операторе log.Почему это не работает?

Документация Mozilla предполагает, что это должно сработать.

Это было полезно?

Решение

В Firefox 3 ваш код работает так, как вы ожидаете.Может быть, вы столкнулись с ошибкой, найденной в старой версии Gecko?

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top