본문으로 이동

ECMAScript for XML

위키백과, 우리 모두의 백과사전.

ECMAScript for XML(E4X)는 ECMA스크립트(액션스크립트, 자바스크립트J스크립트 포함)에 기본 XML 지원을 추가하는 표준 ISO/IEC 22537:2006 프로그래밍 언어 확장이다.[1] 목표는 XML 문서에 액세스하기 위해 더 간단한 구문을 사용하는 DOM 인터페이스에 대한 대안을 제공하는 것이다. 또한 XML을 표시하는 새로운 방법을 제공한다. E4X가 출시되기 전에는 XML이 항상 개체 수준에서 액세스되었다. 대신 E4X는 XML을 기본 요소(예: 문자, 정수 및 부울)로 처리한다. 이는 더 빠른 액세스, 더 나은 지원 및 프로그램의 구성 요소(데이터 구조)로서의 수용을 의미한다.

E4X는 Ecma 인터내셔널에 의해 ECMA-357 표준으로 표준화되었다. 2004년 6월에 첫 번째 판이 출판되었고, 2005년 12월에 두 번째 판이 출판되었다.

E4X 표준은 2014년에 모질라 재단에 의해 구식화되었다.[2]

브라우저 지원

[편집]

E4X는 OpenOffice.org 및 기타 여러 프로젝트에서 사용되는 모질라의 라이노에서 지원된다. 또한 플래시 가상 머신에 사용되는 자바스크립트 엔진인 타마린(Tamarin)에서도 지원된다. Nitro(Safari), V8(Google Chrome), Carakan(Opera), Chakra(Internet Explorer 및 Chromium Edge 이전)와 같은 다른 일반적인 엔진에서는 지원되지 않는다.[3]

E4X는 스파이더몽키(파이어폭스선더버드에서 사용됨)에서도 지원되었지만 제거되었다. 파이어폭스 10[4]에서는 ECMAScript 5 "엄격 모드"가 활성화되면 E4X 구문이 스파이더몽키에서 더 이상 허용되지 않는다. 브렌던 아이크에 따르면, "이것은 스파이더몽키에서 E4X에 대한 지원 중단이 시작되었음을 알리는 신호이다." 그리고 "파이어폭스 17에서는 웹페이지(콘텐츠)에 대해 기본적으로 비활성화되었으며, 파이어폭스 20에서는 Chrome에 대해 기본적으로 비활성화되었으며, 파이어폭스 21에서는 제거되었다."[5]

예시

[편집]
var sales = <sales vendor="John">
    <item type="peas" price="4" quantity="6"/>
    <item type="carrot" price="3" quantity="10"/>
    <item type="chips" price="5" quantity="3"/>
  </sales>;

alert( sales.item.(@type == "carrot").@quantity );
alert( sales.@vendor );
for each( var price in sales..@price ) {
  alert( price );
}
delete sales.item[0];
sales.item += <item type="oranges" price="4"/>;
sales.item.(@type == "oranges").@quantity = 4;

각주

[편집]
  1. “ISO/IEC 22537:2006 Information technology – ECMAscript for XML: E4X specification”. 《International Organization for Standardization》 (영어). 2024년 8월 17일에 확인함. 
  2. “E4X – Archive of obsolete content – MDN”. Mozilla. 2014년 7월 24일에 원본 문서에서 보존된 문서. 2014년 9월 10일에 확인함. 
  3. “Issue 30975: Implement E4X Support for scripts and extensions”. 2012년 5월 21일에 확인함. 
  4. “Firefox 10 for developers”. Mozilla. 2012년 5월 5일에 원본 문서에서 보존된 문서. 2012년 5월 21일에 확인함. 
  5. “E4X”. Mozilla. 2013년 9월 30일에 원본 문서에서 보존된 문서. 2013년 2월 12일에 확인함. 

외부 링크

[편집]