2009-07-21 8 views
0

J'utilise XQDT d'Eclipse avec Zorba 0.9.5. J'essaie d'appeler la fonction interne Zorba zorba:print(...) à partir d'une expression FLWOR, mais elle est ignorée.Zorba (XQuery) - utilisation des fonctions d'impression

Plus précisément, je fais quelque chose comme ce qui suit

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/>) 

Je ne peux pas mettre la déclaration d'impression sur son propre parce que les déclarations successives ne sont pas autorisés dans exressions de FLWOR.

Une idée de comment je peux obtenir print appels au travail?

Répondre

0

Le problème ici est la suivante:

Vous utilisez un FLWOR-expression pour appeler Zorba: print. Dans un flou, vous avez une évaluation paresseuse et comme vous n'utilisez pas $ foo, zorba: print n'est pas exécuté. Donc, pour que zorba: print soit exécuté, vous devez utiliser $ foo dans votre flwor.

Dans la prochaine version de zorba sera un bien meilleur support pour le nouveau XQuery Scripting Extension et alors il sera facile d'imposer l'exécution des fonctions d'effets secondaires.

Questions connexes