Использовать E4X с jrunscript? - PullRequest
0 голосов
/ 06 апреля 2011

Я использую jrunscript для некоторого JavaScript. Работает как шарм. Теперь я хотел использовать E4X в JRunScript. Следующие утверждения должны работать:

var x = <hello />;
var y = new XML();

но я получаю:

js> var x = <hello />;
script error: sun.org.mozilla.javascript.internal.EvaluatorException:
syntax error (<STDIN>#1) in <STDIN> at line number 1
js> var x = new XML(); 
script error: sun.org.mozilla.javascript.internal.EcmaError:
ReferenceError: "XML" is not defined. (<STDIN>#1) in <STDIN> at line number 1
js> 

Обдумывая, я нашел ссылки на xmlbeans.jar как обязательное условие, но xmlbeans-2.4.0.jar находится в lib / ext.

java -version :
IBM J9 VM (build 2.4, JRE 1.6.0 IBM J9 2.4 Linux x86-32
jrunscript -q :
Language ECMAScript 1.6 implemention "Mozilla Rhino" 1.6 release 2

Так чего мне не хватать, что E4X недоступен в моем jrunscript?

Ответы [ 2 ]

1 голос
/ 09 ноября 2011

Взгляните на Руководство по программированию Java Scripting , а именно:

E4X (ECMAScript для XML - стандарт ECMA 357) исключен .Использование литерала XML в коде JavaScript приведет к синтаксической ошибке.Обратите внимание, что поддержка E4X является необязательной в стандарте ECMAScript - реализация может опустить поддержку E4X и при этом быть совместимой реализацией ECMAScript.

0 голосов
/ 10 апреля 2011

Обязательно установите правильную версию JavaScript перед запуском сценария, вызвав version(160) или используя флаг запуска -version 160.Вы также сможете использовать 180 (JavaScript 1.8), если обновите Rhino до более новой версии.

...