Zorba (XQuery) - использование функций печати

Я использую Eclipse XQDT с Zorba 0.9.5. Я пытаюсь вызвать внутреннюю функцию Zorba zorba:print(...) из выражения FLWOR, но оно игнорируется.

В частности, я делаю что-то вроде следующего

import module namespace zorba =
      "http://www.zorba-xquery.com/zorba/internal-functions";

for $l in list 
  let $bar := <hello />
  let $foo := zorba:print($bar)
  return (<nothing/>)

Я не могу поставить оператор print сам по себе, потому что последовательные операторы не допускаются в выражениях FLWOR.

Любая идея, как я могу получить print звонки на работу?

1 ответ

Проблема здесь заключается в следующем:

Вы используете выражение flwor для вызова zorba:print. Во втором случае у вас ленивая оценка, и поскольку вы не используете $foo, zorba: print не выполняется.

Поэтому, чтобы выполнить zorba: print, вы должны использовать $foo в вашем flwor.

В следующем выпуске zorba будет значительно улучшена поддержка нового расширения сценариев XQuery, и тогда будет легко обеспечить выполнение функций побочных эффектов.

Другие вопросы по тегам