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.

Ссылки [ править ]

  1. ^ «E4X — Архив устаревшего контента — MDN» . Мозилла. Архивировано из оригинала 24 июля 2014 года . Проверено 10 сентября 2014 г.
  2. ^ «ISO/IEC 22537:2006 — Информационные технологии. Спецификация ECMAScript для XML (E4X). Статус: Отозван» .
  3. ^ «Проблема 30975: реализация поддержки E4X для скриптов и расширений» . Google . Проверено 21 мая 2012 г.
  4. ^ «Firefox 10 для разработчиков» . Мозилла. Архивировано из оригинала 5 мая 2012 года . Проверено 21 мая 2012 г.
  5. ^ «Ошибка 695577 — синтаксис E4X не должен приниматься в строгом режиме ES5» . Мозилла . Проверено 21 мая 2012 г.
  6. ^ «Е4Х» . Мозилла. Архивировано из оригинала 30 сентября 2013 года . Проверено 12 февраля 2013 г.
  7. ^ Примечания к выпуску SpiderMonkey 1.6.0. Архивировано 15 апреля 2009 г. на Wayback Machine.
  8. ^ Rhino 1.6R1 Журнал изменений
  9. ^ «Справка по Acrobat / Обзор новых функций» . Проверено 16 июля 2015 г.
  10. ^ «15.008.20082 Плановое обновление, 14 июля 2015 г.» . Проверено 16 июля 2015 г.

Внешние ссылки [ править ]