ECMAScript для XML
ECMAScript для XML ( E4X ) был стандартным ISO/IEC 22537:2006 расширением языка программирования , которое добавляет встроенную XML поддержку в ECMAScript (который включает ActionScript , JavaScript и JScript ). Целью было предоставить альтернативу интерфейсам DOM , которая использует более простой синтаксис для доступа к XML-документам. Он также предложил новый способ сделать XML видимым. До выпуска E4X доступ к XML всегда осуществлялся на уровне объектов. Вместо этого E4X рассматривал XML как примитив (например, символы, целые числа и логические значения). Это подразумевало более быстрый доступ, лучшую поддержку и принятие в качестве строительного блока (структуры данных) программы.
E4X был стандартизирован Ecma International в стандарте ECMA-357 . Первое издание вышло в июне 2004 года, второе издание — в декабре 2005 года.
Стандарт E4X был признан устаревшим Mozilla Foundation в 2014 году. [1]
Он был отозван ISO/IEC. [2]
Поддержка браузера [ править ]
E4X поддерживается Rhino от Mozilla , используемым в OpenOffice.org и ряде других проектов. Он также поддерживается Tamarin , движком JavaScript, используемым в виртуальной машине Flash . Он не поддерживается другими распространенными движками, такими как Nitro ( Safari ), V8 ( Google Chrome ), Carakan ( Opera ), Chakra ( Internet Explorer и до Chromium Edge ). [3]
E4X также поддерживался SpiderMonkey (используется в Firefox и Thunderbird ), но был удален. В Firefox 10 синтаксис E4X больше не принимался в SpiderMonkey, когда «строгий режим» ECMAScript 5 . включен [4] По словам Брендана Эйха , «это означает начало прекращения поддержки E4X в SpiderMonkey». [5] и «по умолчанию отключено для веб-страниц (контента) в Firefox 17, отключено по умолчанию для Chrome в Firefox 20 и удалено в Firefox 21» [6]
Пример [ править ]
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 была разработана Терри Лукасом и Джоном Шнайдером и появилась в Weblogic Workshop 7.0 компании BEA , выпущенном в феврале 2002 года. Реализация BEA была основана на Rhino и выпущена до того, как в июне 2004 года была завершена спецификация ECMAScript E4X. Джон Шнайдер написал статья о расширениях XML в BEA's Workshop в то время.
- E4X был реализован в SpiderMonkey ( Gecko ) начиная с версии 1.6.0. движок JavaScript [7] до версии 20 и находится в Rhino (другой движок JavaScript Mozilla, написанный на Java вместо C) с версии 1.6R1. [8]
- Поскольку Mozilla Firefox основан на Gecko, более старые версии можно использовать для запуска сценариев с использованием E4X. Но эта функция устарела с версии 16 и удалена в версии 18.
- Язык сценариев Adobe ActionScript 3 полностью поддерживает E4X. Ранние предварительные версии ActionScript 3 впервые стали доступны в конце 2005 года. Adobe официально выпустила этот язык вместе с Flash Player 9 28 июня 2006 года.
- E4X доступен во Flash CS3 , Adobe AIR и Adobe Flex, поскольку они используют ActionScript 3 в качестве языка сценариев.
- E4X также доступен в Adobe Acrobat и Adobe Reader версии 8.0 или выше (особенно [9] Вперед портировано из SpiderMonkey версии 17 [10] и от него предлагается отказаться в ближайшем будущем).
- E4X также доступен на сервере приложений Jaxer Ajax компании Aptana , который использует серверную часть движка Mozilla.
- С момента выпуска Alfresco Community Edition 2.9B E4X также доступен в этой корпоративной системе управления документами .
- E4X доступен как часть Mirth Connect . механизма преобразования сообщений JavaScript
См. также [ править ]
- JSX — разметка на основе XML специально для манипулирования DOM.
Ссылки [ править ]
- ^ «E4X — Архив устаревшего контента — MDN» . Мозилла. Архивировано из оригинала 24 июля 2014 года . Проверено 10 сентября 2014 г.
- ^ «ISO/IEC 22537:2006 — Информационные технологии. Спецификация ECMAScript для XML (E4X). Статус: Отозван» .
- ^ «Проблема 30975: реализация поддержки E4X для скриптов и расширений» . Google . Проверено 21 мая 2012 г.
- ^ «Firefox 10 для разработчиков» . Мозилла. Архивировано из оригинала 5 мая 2012 года . Проверено 21 мая 2012 г.
- ^ «Ошибка 695577 — синтаксис E4X не должен приниматься в строгом режиме ES5» . Мозилла . Проверено 21 мая 2012 г.
- ^ «Е4Х» . Мозилла. Архивировано из оригинала 30 сентября 2013 года . Проверено 12 февраля 2013 г.
- ^ Примечания к выпуску SpiderMonkey 1.6.0. Архивировано 15 апреля 2009 г. на Wayback Machine.
- ^ Rhino 1.6R1 Журнал изменений
- ^ «Справка по Acrobat / Обзор новых функций» . Проверено 16 июля 2015 г.
- ^ «15.008.20082 Плановое обновление, 14 июля 2015 г.» . Проверено 16 июля 2015 г.
Внешние ссылки [ править ]
- ECMA-357 (отозвано первое издание , второе издание )
- E4X на faqts.com (или через WayBack Machine )
- Слайды из презентации E4X 2005 года, сделанные Бренданом Эйхом, главным архитектором Mozilla
- E4X в Центре разработчиков Mozilla. Архивировано 19 апреля 2008 г. на Wayback Machine.
- Представляем E4X на xml.com : сравнение E4X и json.
- Обработка XML с помощью E4X в Центре разработчиков Mozilla
- E4X: от начинающего до продвинутого уровня в Yahoo Developer Network