ECMAScript for XML (E4X) je rozšíření programovacího jazyku, které přidává podporu nativního XML do JavaScriptu. Přístup k XML dokumentu poskytuje v přirozené formě pro programátory EMCAScriptu. Cílem je poskytnout alternativu se snadnější syntaxí pro přístup k XML dokumentům než je poskytována rozhraním DOM.
E4X je standardizován Ecma International v standardu ECMA-357 (aktuálně v první edici, červen 2004).
E4X je implementován (částečně) ve SpiderMonkey (JavaScriptové jádro Gecka) a v Rhinu.
Poznámka: V prohlížečích založených na Gecku 1.8 (např. Firefox 1.5) je E4X již částečně zpřístupněn autorům webových stránek. Pro plnou podporu E4X potřebuje mít tag <script>
nastaven MIME typ "text/javascript;e4x=1" (tj. nastaven atribut ve formě type="text/javascript;e4x=1"
). Odlišnost mezi módy s/bez "e4x=1" je ten, že bez MIME typu "e4x=1" je jakýkoliv XML/HTML komentář (<!--...-->
) z důvodů zpětné komatibility ignorován a sekce CDATA (<![CDATA[...]]>
) není parsována jako CDATA literály (což vede k chybě v syntaxi JS v HTML od tagu <script>
produkujícího implicitní CDATA sekci, a proto nemůže obsahovat explicitní CDATA sekce). someone verify the above
Známé chyby a omezení
- V současné době není možné přistupovat k DOM objektu skrze E4X (chyba 270553)
- E4X nepodporuje parsování XML deklarace (
<?xml version=...?>
) (see chyba 336551).
Zdroje
- Přehled stránek o E4X na MDC.
- Standard ECMA-357
- E4X na webu faqts.com