J'ai une collection de documents sur exist. A chaque
document est associé un identifiant (mon attribut)
généré automatiquent par exist. Je veux à partir du
nom du document (récupéré depuis un formulaire)
retrouvé dans ma base l'identidiant qui lui est
associé.
Pour cela j'ai procédé comme suit:
1. Récupérer le nom du document dans le flowscript
var paramNomDoc =
form.getChild("nomDoc").getValue();
2. Ensuite je fais une requete xquery ds ma base:
cocoon.sendPageAndWait("getUserId.xq",{nom:
paramNomDoc});
le pipeline:
<map:match pattern="getDocId.xq">
<map:generate type="xquery" src="xquery/getDocId.xq" >
<map:parameter name="nom" value="{flow-attr:nom}" />
</map:generate>
<map:serialize type="xml"/>
</map:match>
fichier xq:
xquery version "1.0" encoding "ISO-8859-1";
<identifiants>
{
for $doc in collection("/societe/document")/document
where $doc/nom = $nom
return
<identifiant>
{$doc/@id}
</identifiant>
}
</identifiants>
3. J'affiche la valeur de l'id par:
print(cocoon.request.getAttribute("id"));
Je crains aussi que l'exécution de mon flowscript soit
arrétée apres le sendPageAndWait càd qu'il m'affiche
sur le navigateur le fichier xml.
Est ce que cette démarche est bonne?
--- Sylvain Wallez <[EMAIL PROTECTED]> a écrit :
> gueye weuz wrote:
> > J'appelle le pipeleline parce que le resultat je
> > l'obtiens à la suite d'une requete xquery.
> > J'ai essayé d'utiliser
> > cocoon.request.getAttribute("monAttribut")apres un
> > sendPage(monURI) et j'obtiens:
> > 1. un 'null" dans le console cocoon.
> >
> Qui est-ce qui positionne cet attribut de requête ?
>
> > 2. une exception:
> "java.lang.IllegalStateException:
> > Pipeline has already been processed for this
> request".
> >
>
> Hmm... il doit y avoir un deuxième sendPage(). La
> stacktrace devrait te
> donner l'emplacement de cet appel.
>
> Sylvain
>
> --
> Sylvain Wallez Anyware
> Technologies
> http://bluxte.net
> http://www.anyware-tech.com
> Apache Software Foundation Member Research &
> Technology Director
>
>
>
---------------------------------------------------------------------
> Liste francophone Apache Cocoon --
> http://cocoon.apache.org/fr/
> Pour vous desinscrire :
> mailto:[EMAIL PROTECTED]
> Autres commandes :
> mailto:[EMAIL PROTECTED]
>
>
___________________________________________________________________________
Nouveau : téléphonez moins cher avec Yahoo! Messenger ! Découvez les tarifs
exceptionnels pour appeler la France et l'international.
Téléchargez sur http://fr.messenger.yahoo.com
---------------------------------------------------------------------
Liste francophone Apache Cocoon -- http://cocoon.apache.org/fr/
Pour vous desinscrire : mailto:[EMAIL PROTECTED]
Autres commandes : mailto:[EMAIL PROTECTED]