Dear Oleg,

please be aware that this is an English-speaking mailing list as most of our users don't speak German. I hope you are able to understand my response.

I am not sure what you mean you imported datas.xml from the Datasbase Properties window. I guess you imported the document there. However, you also have to open the database when running your query. Your construct "//email-group" requires a context and therefore you need some referenced database. you could instead write db:open("yourdatabase")//email-group or open your database before running the query.

One note: Normally in XQuery, we don't use camel case like getGroups for function names, but a hyphen, so it would be get-groups()

Cheers
Dirk

On 03/14/2016 02:23 PM, Oleg Duvanayev wrote:
Sehr geehrte Damen und Herren,
 
ich bitte um Unterstützung bei der Lösung einer kleinen Herausforderung.
Ich habe ein Modul in das Verzeichnis „BaseXRepo“ eingefügt. Hier ist den Inhalt der Datei:
 
xquery version "1.0";
module namespace m = 'http://basex.org/modules/hello';
declare function m:getGroups() {
  for $re in //email-group
  return $re
};
declare function m:say() {
 'hallo world!'
};
 
Nun möchte ich die Funktion getGroups() abfragen:
 
import module namespace m = 'http://basex.org/modules/hello' at 'mail-dispather.xqm';
m:getGroups()
 
Und ich bekomme die Fehlermeldung:
 
Error:
Stopped at /home/admin/BaseXRepo/mail-dispather.xqm, 6/14:
[XPDY0002] root(): no context value bound.
Stack Trace:
- /home/admin/BaseXRepo/request.xq, 3/13
Compiling:
- rewriting descendant-or-self step(s)
- simplifying flwor expression
Query:
import module namespace m = 'http://basex.org/modules/hello' at 'mail-dispather.xqm'; m:getGroups()
Optimized Query:
declare function m:getGroups() { root()/descendant::email-group };
m:getGroups()
Query plan:
<QueryPlan compiled="true">
  <StaticFunc name="m:getGroups">
    <IterPath>
      <Root/>
      <IterStep axis="descendant" test="email-group"/>
    </IterPath>
  </StaticFunc>
  <StaticFuncCall name="m:getGroups" tailCall="false"/>
</QueryPlan>

Ich mache alles aus dem BaseXGUI. Die Daten (datas.xml) habe ich aus dem Properties-Fenster "Database properties" importiert.
Ich verwende BaseX 8.3.1 Beta.Das Artikel  http://docs.basex.org/wiki/Repository habe schon auch gelesen.
 
 
Wenn ich aber direkt den Inhalt der Funktion „getGroups()“ ausführe, dann alles funktioniert wunderbar.
 
Ich verstehe nicht, woran liegt das Problem. Oder wie meinen Aufruf der Funktion richtig aussehen muss?
 
Ich bitte um Hilfe
 

-- 
Dirk Kirsten, BaseX GmbH, http://basexgmbh.de
|-- Firmensitz: Blarerstrasse 56, 78462 Konstanz
|-- Registergericht Freiburg, HRB: 708285, Geschäftsführer:
|   Dr. Christian Grün, Dr. Alexander Holupirek, Michael Seiferle
`-- Phone: 0049 7531 91 68 276, Fax: 0049 7531 20 05 22