ECMAScript dla XML

ECMAScript for XML ( E4X ) to standardowe rozszerzenie języka programowania ISO/IEC 22537:2006 , które dodaje natywną obsługę XML do ECMAScript (obejmującego ActionScript , JavaScript i JScript ). Celem jest zapewnienie alternatywy dla DOM , która wykorzystuje prostszą składnię do uzyskiwania dostępu do dokumentów XML. Oferuje również nowy sposób uwidocznienia XML. Przed wydaniem E4X dostęp do XML był zawsze możliwy na poziomie obiektu. Zamiast tego E4X traktuje XML jako prymityw (jak znaki, liczby całkowite i logiczne). Oznacza to szybszy dostęp, lepsze wsparcie i akceptację jako element konstrukcyjny (struktura danych) programu.

E4X jest standaryzowany przez ECMA International w standardzie ECMA-357 . Pierwsze wydanie ukazało się w czerwcu 2004 r., drugie w grudniu 2005 r.

Standard E4X został wycofany przez Fundację Mozilla w 2014 roku.

Obsługa przeglądarki

Rhino Mozilli , używany w OpenOffice.org i kilku innych projektach. Jest również obsługiwany przez Tamarin , silnik JavaScript używany w wirtualnej maszynie Flash . Nie jest obsługiwany przez inne popularne silniki, takie jak Nitro ( Safari ), V8 ( Google Chrome ), Carakan ( Opera ), Chakra ( Internet Explorer i wcześniejsze wersje Chromium Edge ).

E4X był również obsługiwany przez SpiderMonkey (używany w Firefox i Thunderbird ), ale został usunięty. W przeglądarce Firefox 10 składnia E4X nie była już akceptowana w SpiderMonkey, gdy włączony jest „tryb ścisły” ECMAScript 5 . Według Brendana Eicha , „To w ten sposób sygnalizuje rozpoczęcie wycofywania E4X w SpiderMonkey”. i „został domyślnie wyłączony dla stron internetowych (treści) w Firefoksie 17, domyślnie wyłączony dla Chrome w Firefoksie 20 i został usunięty w Firefoksie 21”

Przykład

    
       
       
       
  

    
  
       
    

 0
    
     var  sprzedaż  =  <  sprzedawca  =  "Jan"  >  <  typ  przedmiotu  =  "groszek"  cena  =  "4"  ilość  =  "6"  />  <  typ  towaru  =  "  marchewka"  cena  =  "3"  ilość  =  "10"  />  <  typ  artykułu  =  "chipsy"  cena  =  "5"  ilość  =  "3"  />  <  /sprzedaż>;  alert  (  sprzedaż  .  pozycja  .(  @  typ  ==  "marchew"  ).  @  ilość  );  alert  (  sprzedaż  .  @  sprzedawca  );  for  each  (  var  cena  w  sprzedaży  ..  @  cena  )  {  alert  (  cena  );  }  usuń  sprzedaż  .  element  [  ];  sprzedaż  .  pozycja  +=  <  typ  pozycji  =  "pomarańcze"  cena  =  "4"  />  ;  sprzedaż  .  pozycja  .(  @  typ  ==  "pomarańcze"  ).  @  ilość  =  4  ; 

Implementacje

Pierwsza implementacja E4X została zaprojektowana przez Terry'ego Lucasa i Johna Schneidera i pojawiła się w BEA 's Weblogic Workshop 7.0 wydanym w lutym 2002. Implementacja BEA była oparta na Rhino i wydana przed ukończeniem specyfikacji ECMAScript E4X w czerwcu 2004. John Schneider napisał artykuł na temat rozszerzeń XML w warsztacie BEA w tamtym czasie.

  • E4X został zaimplementowany w SpiderMonkey ( silnik JavaScript Gecko) od wersji 1.6.0 do wersji 20, a w Rhino ( inny silnik JavaScript Mozilli napisany w Javie zamiast C) od wersji 1.6R1.
  • Ponieważ Mozilla Firefox jest oparta na Gecko, starsze wersje mogą być używane do uruchamiania skryptów przy użyciu E4X. Ale ta funkcja jest przestarzała od wersji 16 i usunięta w wersji 18.
  • Adobe ActionScript 3 w pełni obsługuje E4X. Wczesne wersje zapoznawcze języka ActionScript 3 zostały po raz pierwszy udostępnione pod koniec 2005 r. Firma Adobe oficjalnie wypuściła ten język wraz z programem Flash Player 9 28 czerwca 2006 r.
  • E4X jest dostępny we Flash CS3 , Adobe AIR i Adobe Flex , ponieważ używają ActionScript 3 jako języka skryptowego.
  • E4X jest również dostępny w programach Adobe Acrobat i Adobe Reader w wersji 8.0 lub nowszej (zwłaszcza Forward Ported z SpiderMonkey w wersji 17 i sugeruje się, że może zostać usunięty w najbliższej przyszłości).
  • E4X jest również dostępny na serwerze aplikacji Jaxer Ajax firmy Aptana , który wykorzystuje silnik Mozilla po stronie serwera.
  • Od czasu wydania Alfresco Community Edition 2.9B, E4X jest również dostępny w tym korporacyjnym systemie zarządzania dokumentami .
  • E4X jest dostępny jako część silnika transformacji wiadomości JavaScript Mirth Connect .

Zobacz też

  • JSX - znaczniki oparte na XML specjalnie do manipulacji DOM

Linki zewnętrzne