--- title: E4X slug: E4X tags: - E4X - JXON - JavaScript - NeedsEditorialReview - NeedsTechnicalReview - NeedsTranslation - TopicStub - XML translation_of: Archive/Web/E4X ---
ECMAScript for XML (E4X) is a programming language extension that adds native XML support to JavaScript. It does this by providing access to the XML document in a form that feels natural for ECMAScript programmers. The goal is to provide an alternative, simpler syntax for accessing XML documents than via DOM interfaces. A valid alternative to E4X is a non-native JXON algorithm.
E4X is standardized by Ecma International in ECMA-357 standard (currently in its second edition, December 2005).
E4X is implemented (at least partially) in SpiderMonkey (Gecko's JavaScript engine) and in Rhino (JavaScript engine written in Java).
<script>
element needs to have the MIME type "text/javascript;e4x=1" (i.e. have an attribute of the form type="text/javascript;e4x=1"
). The difference between the two modes is that without the "e4x=1" MIME type, any statement-level XML/HTML comment literals (<!--...-->
) are ignored for backwards compatibility with the comment hiding trick, and CDATA sections (<![CDATA{{ mediawiki.external('...') }}]>
) are not parsed as CDATA literals (which leads to a JS syntax error in HTML since HTML's <script>
element produces an implicit CDATA section, and therefore cannot contain explicit CDATA sections).
someone verify the above
Workaround:
var response = xmlhttprequest.responseText; // bug 270553 response = response.replace(/^<\?xml\s+version\s*=\s*(["'])[^\1]+\1[^?]*\?>/, ""); // bug 336551 var e4x = new XML(response);
{{ languages( { "es": "es/E4X", "fr": "fr/E4X", "it": "it/E4X", "ja": "ja/E4X", "ko": "ko/E4X", "pl": "pl/E4X" } ) }}