このE4Xコードがデフォルトのネームスペースを尊重しないのはなぜですか?

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

  •  03-07-2019
  •  | 
  •  

質問

E4Xを使用しようとして、Firefox拡張機能をハックしています。しかし、私は奇妙な問題に遭遇しました:

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

最初の2つのログステートメントは、「Guys」を出力します。 3番目は空白です。どうしたの?デフォルトのネームスペースを指定しましたが、実際には2番目のログステートメントで使用しているものとまったく同じものです。なぜこれが機能しないのですか?

Mozillaのドキュメントは、これが機能することを示唆しています。

役に立ちましたか?

解決

Firefox 3では、コードは期待どおりに実行されます。古いバージョンのGeckoで見つかったバグに遭遇した可能性がありますか?

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top