{{위키데이터 속성 추적}}
'''ECMAScript for XML'''(E4X)는 [[ECMA스크립트]]([[액션스크립트]], [[자바스크립트]] 및 [[J스크립트]] 포함)에 기본 XML 지원을 추가하는 표준 ISO/IEC 22537:2006 프로그래밍 언어 확장이다.<ref name="ISO 22537:2006">{{웹 인용|title=ISO/IEC 22537:2006 Information technology – ECMAscript for XML: E4X specification |url=https://www.iso.org/standard/41002.html |access-date=2024-08-17 |website=International Organization for Standardization |language=en}}</ref> 목표는 XML 문서에 액세스하기 위해 더 간단한 구문을 사용하는 [[문서 객체 모델|DOM]] 인터페이스에 대한 대안을 제공하는 것이다. 또한 XML을 표시하는 새로운 방법을 제공한다. E4X가 출시되기 전에는 XML이 항상 개체 수준에서 액세스되었다. 대신 E4X는 XML을 기본 요소(예: 문자, 정수 및 부울)로 처리한다. 이는 더 빠른 액세스, 더 나은 지원 및 프로그램의 구성 요소(데이터 구조)로서의 수용을 의미한다.

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

E4X 표준은 2014년에 모질라 재단에 의해 구식화되었다.<ref>{{웹 인용|title=E4X – Archive of obsolete content – MDN|url=https://developer.mozilla.org/en-US/docs/Archive/Web/E4X|publisher=Mozilla|access-date=10 September 2014|archive-date=24 July 2014|archive-url=https://web.archive.org/web/20140724100129/https://developer.mozilla.org/en-US/docs/Archive/Web/E4X|url-status=dead}}</ref>

== 브라우저 지원 ==
E4X는 OpenOffice.org 및 기타 여러 프로젝트에서 사용되는 모질라의 [[라이노 (자바스크립트 엔진)|라이노]]에서 지원된다. 또한 [[어도비 플래시|플래시]] 가상 머신에 사용되는 자바스크립트 엔진인 타마린(Tamarin)에서도 지원된다. Nitro(Safari), V8(Google Chrome), Carakan(Opera), Chakra(Internet Explorer 및 Chromium Edge 이전)와 같은 다른 일반적인 엔진에서는 지원되지 않는다.<ref>{{웹 인용|title=Issue 30975: Implement E4X Support for scripts and extensions|url=http://code.google.com/p/chromium/issues/detail?id=30975|access-date=21 May 2012}}</ref>

E4X는 [[스파이더몽키]]([[모질라 파이어폭스|파이어폭스]] 및 [[모질라 선더버드|선더버드]]에서 사용됨)에서도 지원되었지만 제거되었다. 파이어폭스 10<ref>{{웹 인용|title=Firefox 10 for developers |url=https://developer.mozilla.org/en/Firefox_10_for_developers#JavaScript |archive-url=https://web.archive.org/web/20120505042844/https://developer.mozilla.org/en/Firefox_10_for_developers#JavaScript |archive-date=5 May 2012 |access-date=21 May 2012 |publisher=Mozilla}}</ref>에서는 ECMAScript 5 "엄격 모드"가 활성화되면 E4X 구문이 스파이더몽키에서 더 이상 허용되지 않는다. [[브렌던 아이크]]에 따르면, "이것은 스파이더몽키에서 E4X에 대한 지원 중단이 시작되었음을 알리는 신호이다." 그리고 "파이어폭스 17에서는 웹페이지(콘텐츠)에 대해 기본적으로 비활성화되었으며, 파이어폭스 20에서는 Chrome에 대해 기본적으로 비활성화되었으며, 파이어폭스 21에서는 제거되었다."<ref>{{웹 인용|title=E4X |url=https://developer.mozilla.org/en-US/docs/E4X |archive-url=https://web.archive.org/web/20130930214422/https://developer.mozilla.org/en-US/docs/E4X |archive-date=30 September 2013 |access-date=12 February 2013 |publisher=Mozilla}}</ref>

== 예시 ==
<syntaxhighlight lang="jsx">
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;
</syntaxhighlight>

== 각주 ==
<references />

== 외부 링크 ==
* ECMA-357 (withdrawn [http://www.ecma-international.org/publications/files/ECMA-ST-WITHDRAWN/ECMA-357,%201st%20edition,%20June%202004.pdf first edition], [http://www.ecma-international.org/publications/files/ECMA-ST-WITHDRAWN/Ecma-357.pdf second edition])
* [http://www.faqts.com/knowledge_base/index.phtml/fid/1762 E4X at faqts.com] (or via [https://web.archive.org/web/20090129224344/http://faqts.com/knowledge_base/index.phtml/fid/1762 WayBack Machine])
* [https://web.archive.org/web/20081005063311/http://developer.mozilla.org/presentations/xtech2005/e4x/ Slides from 2005 E4X Presentation by Brendan Eich, Mozilla Chief Architect]
* [https://developer.mozilla.org/en/docs/E4X E4X at Mozilla Developer Center] {{웨이백|url=https://developer.mozilla.org/en/docs/E4X |date=20080419080706 }}
* [http://www.xml.com/pub/a/2007/11/28/introducing-e4x.html Introducing E4X at xml.com]: compares E4X and json
* [https://web.archive.org/web/20081006212236/http://developer.mozilla.org/index.php?title=En%2FCore_JavaScript_1.5_Guide%2FProcessing_XML_with_E4X Processing XML with E4X] at Mozilla Developer Center
* [https://web.archive.org/web/20080704203050/http://developer.yahoo.com/flash/articles/e4x-beginner-to-advanced.html E4X: Beginner to Advanced] at Yahoo Developer Network

{{ISO 표준}}

[[분류:XML]]
[[분류:Ecma 표준]]