Выражение JSLT с использованием промежуточных переменных не компилируется ⇐ JAVA

Программисты JAVA общаются здесь
Anonymous
Выражение JSLT с использованием промежуточных переменных не компилируется

Сообщение Anonymous »

Я пытаюсь скомпилировать выражение JSLT на Java с помощью com.schibsted.spt.data. Выражению нужны промежуточные переменные, и я получил ошибки компиляции.
Вот что я пробовал:

Код: Выделить всё

String jsltExpression = "let parts = split(.id, \"/\") { \"result\": parts[1] + parts[3] }";
Expression jslt = Parser.compileString(jsltExpression);
ошибка:

Код: Выделить всё

com.schibsted.spt.data.jslt.JsltException: Parse error: Encountered " "[" "[ "" at line 1, column 46.
Was expecting:
"(" ...
at :1:41
at com.schibsted.spt.data.jslt.parser.ParserImpl.compileExpression(ParserImpl.java:62)
at com.schibsted.spt.data.jslt.Parser.compile(Parser.java:226)
at com.schibsted.spt.data.jslt.Parser.compileString(Parser.java:86)
at com.schibsted.spt.data.jslt.Parser.compileString(Parser.java:74)
Также пробовал:

Код: Выделить всё

String jsltExpression = "{ \"result\": let(parts = split(.id, \"/\")) parts[1] + parts[3] }";
Expression jslt = Parser.compileString(jsltExpression);
ошибка:

Код: Выделить всё

com.schibsted.spt.data.jslt.JsltException: Parse error: Encountered " "let" "let "" at line 1, column 13.
Was expecting one of:
 ...
 ...
 ...
"[" ...
"{" ...
"true" ...
"false" ...
"." ...
"if" ...
"(" ...
 ...
...
 ...
at :1:11
at com.schibsted.spt.data.jslt.parser.ParserImpl.compileExpression(ParserImpl.java:62)
at com.schibsted.spt.data.jslt.Parser.compile(Parser.java:226)
at com.schibsted.spt.data.jslt.Parser.compileString(Parser.java:86)
at com.schibsted.spt.data.jslt.Parser.compileString(Parser.java:74)
Можно ли скомпилировать экспрессную версию с помощью com.schibsted.spt.data? или есть какие-то ограничения?


Подробнее здесь: https://stackoverflow.com/questions/791 ... ot-compile

Вернуться в «JAVA»