说,我在多个目录中有一个模块abc.xqy:
这是从java触发/调用我想在执行时找到该文件的绝对位置(当执行xqy时我希望获得该文件中的路径),基于此我可以编写逻辑。如何实现?
当我从java执行newmoduleinvoke时,xdmp:get-invoked-path
无效。它仅在我执行xdmp:invoke
时才有效。
答案 0 :(得分:1)
很难检测到您所处的物理文件(特别是如果它是库模块)而不抛出和捕获异常,并分析堆栈跟踪。但是在xdmp:get-invoked-path
旁边,您还有xdmp:get-request-path
,xdmp:modules-root
也可能相关..
HTH!
答案 1 :(得分:0)
试试xdmp:get-request-url。来自文档:
返回host_name:port_number之后的URL部分。输出不包括随URL提供的任何片段标识符(即,它不包括#符号或#符号后面的任何内容)。请注意,使用URL重写器时,此函数将返回重写的URL。
这应该标识正在使用的主要模块。我没有看到识别当前库模块的方法。