我有一个与TabBar
处于同一级别的文件,即它不存在于特定目录中。当我为它声明rewrite.xqy
时,我收到以下错误 -
module namespace
这背后的逻辑是什么,因为当我删除<error:message>Cannot evaluate library module</error:message>
<error:format-string>XDMP-EVALLIBMOD: Cannot evaluate library module:
时,它的工作正常。这些是我的文件的起始行 -
module namespace
答案 0 :(得分:3)
定义模块命名空间时,模块应该是带有函数集合的library module。你没有&#34;跑步&#34;虽然是图书馆模块。如果您尝试运行此代码,例如通过粘贴到QConsole,您将收到 XDMP-EVALLIBMOD 错误。
预计main module将作为XQuery程序执行。删除模块名称空间module namespace adv = "http://***/***/adv";
,它将无误地执行。
或者您可以将代码作为库模块插入,并将逻辑作为函数体包含在内,将该模块导入主模块并调用该函数。
答案 1 :(得分:1)
错误
<error:message>Cannot evaluate library module</error:message>
<error:format-string>XDMP-EVALLIBMOD: Cannot evaluate library module:
表示您试图直接评估您的代码/模块而不是导入它。 你是怎么得到这个错误的? 对于xquery模块,您无法直接调用它,您必须将其导入另一个文件(通常是您正在调用的文件)。
XQuery不允许单个文件既是主入口点又是模块。 当你说'工作正常'时 - 这是一个停下来的好地方。