2016-12-26 4 views
1

Согласно Саксон documentation,Saxon-HE 9,7: «нет базового URI не доступен» ошибка, при попытке запустить строку запроса из Баш

java net.sf.saxon.Query -qs:doc('a.xml')//p 1 selects elements within the file a.xml in the current directory.

Я пытаюсь сделать это с Баш скрипт:

java net.sf.saxon.Query -qs:doc"('myFile.xml')"/rootElt/@myAtt 

Однако, я получаю следующее сообщение об ошибке: XTDE1162: Relative URI passed to document() function (myFile.xml); but no base URI is available

Согласно документации, это не должно произойти:

The static base URI (used when calling the doc() function) is the current directory.

Я попытался использовать абсолютный URI, но, на удивление, я все равно получаю то же сообщение об ошибке.

Могу я использовать некоторую помощь?

ответ

2

Решено. При передаче строки запроса, нет базового URI (нет ресурса в файловой системе, содержащей запрос), так разъехаться с resolve-uri() в качестве второго аргумента:

-qs:"doc(resolve-uri('myFile.xml', 'file:$PWD/'))/rootElt/@myAtt/xs:string(.)" 

Мне кажется, что Saxonica следует обновить документацию для опции командной строки -qs с этой деталью (это может занять некоторое время, чтобы понять это самостоятельно).

 Смежные вопросы

  • Нет связанных вопросов^_^