Почему этот код E4X не соответствует пространству имен по умолчанию?
-
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?
Не связан с StackOverflow