2009-07-21 4 views
0

Ich benutze Eclipse XQDT mit Zorba 0.9.5. Ich versuche, die Zorba-interne Funktion zorba:print(...) innerhalb eines FLWOR-Ausdrucks aufzurufen, aber sie wird ignoriert.Zorba (XQuery) - mit Druckfunktionen

Insbesondere mache ich so etwas wie die folgenden

import module namespace zorba = 
     "http://www.zorba-xquery.com/zorba/internal-functions"; 

for $l in list 
    let $bar := <hello /> 
    let $foo := zorba:print($bar) 
    return (<nothing/>) 

ich nicht die print-Anweisung auf ihre eigenen stellen, da aufeinanderfolgende Anweisungen nicht in FLWOR exressions erlaubt.

Irgendeine Idee, wie ich print Anrufe zur Arbeit bekommen kann?

Antwort

0

Das Problem ist folgendes:

Sie verwenden einen FLWOR-expression zorba zu nennen: print. In einem Floor haben Sie eine faule Auswertung und da Sie $ foo nicht verwenden, wird zorba: print nicht ausgeführt.

Um also zorba: print ausgeführt zu bekommen, müssen Sie $ foo in Ihrem flowor verwenden.

In der nächsten Version von Zorba wird viel bessere Unterstützung für die neue XQuery Scripting Extension und dann wird es einfach sein, die Ausführung von Nebeneffekten Funktionen zu erzwingen.