ECMAScript for XML

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

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

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

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

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

예시 
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;

외부 링크 
 ECMA-357 (withdrawn first edition, second edition)
 E4X at faqts.com (or via WayBack Machine)
 Slides from 2005 E4X Presentation by Brendan Eich, Mozilla Chief Architect
 E4X at Mozilla Developer Center 
 Introducing E4X at xml.com: compares E4X and json
 Processing XML with E4X at Mozilla Developer Center
 E4X: Beginner to Advanced at Yahoo Developer Network

XML
Ecma 표준