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

처음 두 로그 문장은 "Guys"를 인쇄합니다. 세 번째는 비어 있습니다. 무슨 일이야? 기본 네임 스페이스를 지정했는데 실제로 두 번째 로그 문에서 사용하는 것과 동일한 것입니다. 왜 이것이 효과가 없습니까?

모질라의 문서는 이것이 효과가 있어야한다고 제안합니다.

도움이 되었습니까?

해결책

Firefox 3에서는 코드가 예상대로 실행됩니다. 이전 버전의 Gecko에서 발견 된 버그가 발생할 수 있습니까?

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top