Я хотел бы поэкспериментировать с функциями карты в Saxon (http://www.saxonica.com/documentation/expressions/xpath30maps.xml), но я не могу получить компиляцию запроса. Возможно, мне не хватает какого-либо параметра или я использую неправильное пространство имен, но я просто не могу найти правильный ответ. Это мой код запроса:XQuery 3.0 и карты в Saxon
xquery version "3.0";
(: i have also tried http://www.w3.org/2005/xpath-functions/map, no difference :)
import module namespace map = "http://ns.saxonica.com/map";
map:get(map { 1 := 'aaa'}, 1)
вызывается из командной строки:
"c:\Program Files\Saxonica\SaxonEE9.4N\bin\Query.exe" -s:play.xml -q:play2.xq" -qversion:3.0
Эти команды завершается с ошибкой не удается найти модуль для пространства имен «http://ns.saxonica.com/map» Когда Я не указываю объявление карты пространства имен модуля, ошибка - это префиксная карта, которая не была объявлена, поэтому я предполагаю, что она должна быть.
Я вижу, что функция карты реализована только в Saxon 9.4. Вы подтвердили, что версия саксона, которую вы используете, действительно 9.4? –
Если у вас действительно есть Saxon 9.4, ознакомьтесь с этим примером кода: http://www.saxonica.com/documentation/extensions/map.xml. Хотя это XSLT, вы можете легко преобразовать его в эквивалентный код XQuery. –