ECMAScript для XML

ECMAScript для XML (E4X) - розширення мови програмування, що додає природну підтримку XML в стандарт мови ECMAScript. Мета - забезпечити альтернативу DOM -інтерфейсам для спрощення синтаксису для доступу до XML-документами. Також пропонується новий спосіб відображення XML. До випуску E4X, доступ до XML завжди здійснювався на об'єктному рівні. Замість цього E4X розглядає XML як примітивний тип (як наприклад, рядки, цілі числа, булеві значення). Це забезпечує підвищення швидкості доступу, кращу поддерживаема і зручність використання як структури даних програми.

E4X стандартизований організацією Ecma International в стандарті ECMA-357. Перша версія була опублікована в червні 2004, друга - в грудні 2005.


1. Приклад

 var  sales  =  <  sales vendor  =  "Джон"  >  <  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  ==  "Морква"  )  .  @  quantity  )  ;  alert  (  sales.  @  vendor  )  ;  for  each  (  var  price  in  sales ..  @  price  )  {  alert  (  price  )  ;  }  delete  sales.  item  [  0  ]  ;  sales.  item  + =  <  item type  =  "Апельсини"  price  =  "4"  />;  sales.  item  .  (  @  type  ==  "Апельсини"  )  .  @  quantity  =  4  ; 

2. Реалізації

Перша реалізація E4X була розроблена Террі Лукасом і Джоном Шнайдером і з'явилася в "Weblogic Workshop 7.0" компанії BEA Systems, випущеному в лютому 2002 року. Реалізація від BEA грунтувалася на Rhino і була випущена перш ніж специфікації ECMAScript E4X були закінчені (в червні 2004 року). Джон Шнайдер заодно написав статтю про XML-розширеннях в BEA "Workshop".

  • E4X реалізований в SpiderMonkey (движок JavaScript на основі Gecko), починаючи з версії 1.6.0 [1], і в Rhino (ще один движок JavaScript від Mozilla, написаний на Java замість Сі), починаючи з версії 1.6R1 [2].
  • Оскільки Mozilla Firefox заснований на Gecko, то його можна використовувати для запуску скриптів, написаних з використанням E4X. Специфікація підтримується у випуску 1.5 і далі.
  • Скриптова мова ActionScript 3 від Adobe повністю підтримує E4X. Ранні попередні версії ActionScript 3 вперше стали доступні лише в кінці 2005 року. Adobe офіційно випустила мову разом з Flash Player 28 вересня червня 2006 року.
  • E4X доступний в Flash CS3, Adobe AIR та Adobe Flex, так як вони використовують ActionScript 3 в якості мови скриптів.
  • E4X також доступний в Adobe Acrobat і Adobe Reader версій 8.0 і вище.
  • E4X доступний в сервері додатків Jaxer Ajax від компанії Aptana, який використовує двигун Mozilla на стороні сервера.
  • Починаючи з релізу Alfresco Community Edition 2.9B, E4X також доступний в цій корпоративній системі документообігу.

Примітки

  1. SpiderMonkey 1.6.0 release notes - www.mozilla.org/js/spidermonkey/release-notes/JS_160.html
  2. Rhino 1.6R1 Change log - www.mozilla.org/rhino/rhino16R1.html