In MarkLogic verwenden wir xdmp:invoke
Funktion, um eine XQuery dynamisch auszuführen und einige Parameter zu übergeben. Gibt es in eXist-db ein Äquivalent, und wenn ja, bitte geben Sie ein Beispiel an.
Antworten:
4 für die Antwort № 1Es gibt mehrere Möglichkeiten, dies in eXist zu tun, je nachdem, was Sie zu erreichen versuchen.
1) Auswertung einer externen Abfrage:
util:eval(util:base64-decode(util:binary-doc("/db/other.xqy") cast as xs:string))
2) Dynamisches Importieren eines externen Moduls in den Kontext:
util:import-module("http://my-other-module-ns", "other", "/db/other.xqy"),
util:eval("other:some-function("hello")")
AKTUALISIEREN
Wichtiger Zusatz von XQuery Wikibook:
Da der Namespace dynamisch deklariert wird, funktionieren die importierten Funktionen müssen mit util: eval aufgerufen werden.