/ / Invocar dinámicamente una XQuery en eXist-db como en MarkLogic - marklogic, exist-db

Invocación dinámica de una XQuery en eXist-db como en MarkLogic - marklogic, exist-db

En MarkLogic, usamos xdmp:invoke función para ejecutar dinámicamente una XQuery y pasar algunos parámetros. ¿Hay un equivalente en eXist-db, y en caso afirmativo, podría dar un ejemplo?

Respuestas

4 para la respuesta № 1

Hay varias formas de hacer esto en eXist, dependiendo de lo que intente lograr, una forma puede ser mejor que otra.

1) Evaluación de una consulta externa:

util:eval(util:base64-decode(util:binary-doc("/db/other.xqy") cast as xs:string))

2) Importar dinámicamente un módulo externo en el contexto:

util:import-module("http://my-other-module-ns", "other", "/db/other.xqy"),
util:eval("other:some-function("hello")")

ACTUALIZAR

Adición importante de XQuery wikibook:

Debido a que el espacio de nombres se declara dinámicamente, las funciones importadas tiene que ser invocado usando util: eval.