0
votes

MarkLogic 5.x is installed on my machine, so I can use only XQuery APIs.

I am trying to get role names for some of the IDs using sec:get-role-names(), so I am getting an exception as : Exception in thread "main" com.marklogic.xcc.exceptions.XQueryException: XDMP-UNDFUN: (err:XPST0017) Undefined function sec:get-role-names()

I understand sec namespace needs to be defined but I am not getting how can I do this. So can someone please guide me on this.

Code :

Request request1=session.newAdhocQuery("sec:get-role-names(\"3855349555012759983\")");

Function to fetch document URI using XQJ APIs for MarkLogic

I am using cts:search function inside XQPreparedExpression. I am able to fetch content of the modified documents using cts:search, but didn't get any function which can give the document URIs for modified documents. So please let me know if anyone is aware of this.

Thanks

1

1 Answers

1
votes

sec:get-role-names is not a built-in function: it is in the security.xqy module.

So you need to add the module import to your query:

import module namespace sec="http://marklogic.com/xdmp/security" at "/MarkLogic/security.xqy";