Xquery 撒克逊河9.7节:“;“没有可用的基本URI”;尝试从bash运行查询字符串时出错
根据撒克逊的说法 java net.sf.saxon.Query-qs:doc('a.xml')//p选择 当前目录中的文件a.xml 我正试图从bash脚本中实现这一点:Xquery 撒克逊河9.7节:“;“没有可用的基本URI”;尝试从bash运行查询字符串时出错,xquery,saxon,Xquery,Saxon,根据撒克逊的说法 java net.sf.saxon.Query-qs:doc('a.xml')//p选择 当前目录中的文件a.xml 我正试图从bash脚本中实现这一点: java net.sf.saxon.Query -qs:doc"('myFile.xml')"/rootElt/@myAtt 但是,我得到了以下错误:XTDE1162:传递给document()函数(myFile.xml)的相对URI;但没有可用的基本URI 根据文件,这不应该发生: 静态基本URI(在调用doc()函数时
java net.sf.saxon.Query -qs:doc"('myFile.xml')"/rootElt/@myAtt
但是,我得到了以下错误:XTDE1162:传递给document()函数(myFile.xml)的相对URI;但没有可用的基本URI
根据文件,这不应该发生:
静态基本URI(在调用doc()函数时使用)是
当前目录
我尝试过使用绝对URI,但令人惊讶的是,我仍然得到完全相同的错误消息
我可以需要帮助吗?已解决。传递查询字符串时,没有基本URI(包含查询的文件系统中没有资源),因此传递一个带有
resolve-URI()
的URI作为其第二个参数:
-qs:"doc(resolve-uri('myFile.xml', 'file:$PWD/'))/rootElt/@myAtt/xs:string(.)"
在我看来,Saxonica应该用这个细节更新命令行选项-qs
的文档(您自己可能需要一段时间才能弄清楚)