ECMAScript for XML (E4X) è un'estensione di JavaScript che aggiunge a quest'ultimo il supporto nativo a XML. Fornisce l'accesso al documento XML in una forma naturale per i programmatori ECMAScript. L'obiettivo è mettere a disposizione una sintassi alternativa e più semplice rispetto alle interfacce DOM per accedere ai documenti XML.
E4X è standardizzato dalla ECMA International in ECMA-357 standard (attualmente è alla sua prima edizione, giugno 2004).
E4X è implementato (almeno in parte in SpiderMonkey (il motore JavaScript di Gecko) e in Rhino.
Nota: Nei browser basati su Gecko 1.8, come Firefox 1.5, E4X è già parzialmente abilitato per gli autori di pagine web. Per abilitarlo completamente, occorre impostare il tipo MIME nell'elemento <script>
a "text/javascript;e4x=1" (con l'attributo type="text/javascript;e4x=1"
). La differenza tra le due modalità è che senza il tipo MIME "e4x=1":
- ogni commento XML/HTML (
<!--...-->
) è ignorato; - le sezioni (
<![CDATA[...]]>
) non sono interpretate (questo produce un errore di sintassi JavaScript).
Limiti e bug conosciuti
- Attualmente non è possibile accedere a un oggetto DOM attraverso E4X (bug 270553)
- E4X non supporta la dichiarazione XML (
<?xml version=...?>
) (vedi bug 336551).
Risorse
- (EN) ECMA-357 standard
- (EN) E4X at faqts.com