E4X
ECMAScript for XML (E4X) — це розширення мови програмування, що додає рідну підтримку XML до ECMAScript (який включає ActionScript, DMDScript, JavaScript, JScript). Ціллю розширення є забезпечення альтернативного до DOM інтерфейсу, котрий використовує для доступу до XML документів простіший синтаксис. Він також пропонує новий спосіб для візуалізації XML. До виходу E4X до XML можна було доступитися тільки на об'єктному рівні. Замість цього E4X поводиться з XML як з примітивом (подібно до символів, чисел і логічних значень). Це означає швидший доступ, кращу підтримку, і прийняття як будівельних блоків (структур даних) програми.
E4X стандартизований Ecma International у стандарті ECMA-357. Перша редакція була опублікована в червні 2004, друга редакція — у грудні 2005.
Приклад
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;
Реалізації
Перша реалізація E4X була спроектована Террі Лукасом (Terry Lucas) та Джоном Шнайдером (John Schneider), і з'явилася в BEA Weblogic Workshop 7.0, випущеному в лютому 2002. Реалізація BEA була заснована на рушії Rhino і випущена до специфікації ECMAScript E4X, яка була завершена у червні 2004. Натоді Джон Шнайдер уже описав у статті розширення XML у BEA Workshop.
- E4X реалізоване у SpiderMonkey (рушій JavaScript Gecko) від версії 1.6.0[1] і у Rhino (інший рушій JavaScript від Mozilla, написаний на Java замість C) починаючи з версії 1.6R1[2].
- Оскільки Mozilla Firefox заснований на Gecko, він може використовувати скрипти з E4X. Специфікація підтримується починаючи з версії 1.5.
- Скриптова мова Adobe ActionScript 3 повнісью підтримує E4X. Ранні прев'ю ActionScript 3 з'явилися наприкінці 2005. Adobe 28 червня 2006 офіційно випустив мову з Flash Player 9.
- E4X можливий у Flash CS3, Adobe AIR та Adobe Flex, оскільки вони використовують ActionScript 3 як скриптову мову.
- E4X також можливий в Adobe Acrobat і Adobe Reader, починаючи з версій 8.0.
- E4X також можливий у сервері застосунків Aptana Jaxer Ajax, який використовує серверний рушій Mozilla.
- Починаючи з випуску Alfresco Community Edition 2.9B, E4X також можливий у цій системі управління документами рівня підприємства.
Виноски
- SpiderMonkey 1.6.0 release notes. Архів оригіналу за 15 квітня 2009. Процитовано 2 травня 2010.
- Rhino 1.6R1 Change log
Посилання
- ECMA-357 standard
- E4X at faqts.com
- Slides from 2005 E4X Presentation by Brendan Eich, Mozilla Chief Architect
- E4X at Mozilla Developer Center Архівовано 19 квітня 2008 у Wayback Machine.
- Introducing E4X at xml.com: compares E4X and json
- Processing XML with E4X at Mozilla Developer Center
- Tutorial from W3 Schools
- E4X: Beginner to Advanced at Yahoo Developer Network