ECMAScript for XML (E4X) was an extension to ECMAScript (which includes ActionScript, JavaScript, and JScript) to add native support for Extensible Markup Language (XML). The goal was to provide a simpler alternative to the Document Object Model (DOM) interface for accessing XML documents. E4X added XML as a primitive data structure to allow faster access and better support within the language.
E4X was standardized by Ecma International in the ECMA-357 standard. The first edition was published in June 2004 and the second edition in December 2005. However, the E4X standard was deprecated by the Mozilla Foundation in 2014, and it was withdrawn by ISO/IEC in 2021.
E4X was supported by SpiderMonkey (used in Firefox and Thunderbird). However, E4X was deprecated in Firefox 10 and eventually removed in Firefox 21.
E4X was supported by the OpenOffice.org software suite.
Example
<syntaxhighlight lang="jsx">
let 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(let price in sales..@price) {
alert(price);
}
delete sales.item[0];
sales.item += <item type="oranges" price="4"/>;
sales.item.(@type == "oranges").@quantity = 4;
</syntaxhighlight>
See also
- JavaScript XML (JSX) – an XML based markup specifically for DOM manipulation
References
External links
- 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
<!-- Hidden categories below -->
