Динамический XQuery с использованием saxon:evaluate не работает в Oxygen с выражением типа XPath 3.1?
Меня интересует использование saxon:evaluate в XQuery (с использованием XML-редактора Oxygen 24.0), и я хотел увидеть, как он работает в очень простом примере с использованием выражения типа XPath 3.1, чтобы я мог выбрать значение из проанализированного объекта JSON (используя Saxon-EE XQuery 9.9). Однако при этом я получаю сообщение об ошибке. Статическая ошибка в выражении XPath, предоставленном saxon:evaluate: Анализатор XPath не настроен на использование синтаксиса XPath 3.1?
Я попробовал следующее:
let $rawJ :=
<jroot><![CDATA[
{
"siam_envelope":
{
"protocol_version": "1"
}
}]]>
</jroot>
let $j := parse-json($rawJ)
let $expression := "$p1?siam_envelope?protocol_version"
let $result := saxon:evaluate($expression, $j)
return $result
Я ожидал, что это вернет значение «1», но вместо этого появилось сообщение «Статическая ошибка в выражении XPath, переданном в saxon:evaluate: синтаксический анализатор XPath не настроен на использование синтаксиса XPath 3.1»
Предположительно, это связано с тем, что я использую тип карты XPath, который поддерживается только в XPath 3.1. Однако, поскольку отчеты об ошибках «не настроены», я надеюсь, что есть какая-то конфигурация, которую я могу применить, чтобы это заработало? Если нет, знает ли кто-нибудь в этом сообществе, как запустить динамическое выражение типа XPath 3.1 в XQuery? Конечно, это должно быть возможно?
Заранее спасибо за любые полезные предложения!