我是 eXist 和 xPath 的新手。我正在尝试使用小写函数。这是我的java代码。
CompiledExpression compiled = xQueryService.compile("/realestatedata/agents/author/name[lower_case(text())='" + authorName.toLowerCase() + "']");
它给出了以下错误。
Caused by: org.exist.xquery.XPathException: exerr:ERROR err:XPST0017 Function lower_case() is not defined in module namespace: http://www.w3.org/2005/xpath-functions [at line 1, column 36] [at line 1, column 36]
我在文档中读到必须包含模块,因此我将以下内容放在 xquery->builtin-modules 下的 conf.xml 中。
<module uri="http://www.w3.org/2005/xpath-functions" class="org.exist.xquery.functions.fn.FnModule" />
存在重启后我得到同样的错误。我也尝试将 XQueryService 从更改org.xmldb.api.modules.XQueryService
为org.xmldb.api.modules.XMLResource