You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users-fr@cocoon.apache.org by Marc Salvetti <ma...@notremanou.net> on 2005/06/13 14:56:23 UTC
cforms / JX generator
Bonjour,
je suis en train d'essayer de creer un formulaire generé avec jx
(jusqu'a mainteant j'avais utilisé le transformer cforms).
J'ai trouvé deux exemples de ce que je veux faire dans le bloc cforms
(dynamic repeater template)
-dans le 1er exemple, dans le fichier dynamicrepeater_template.xml, il y
a l'instruction
<jx:import
uri="resource://org/apache/cocoon/forms/generation/template.jx"/>
qui apparement fait planter l'exemple (uniqueTag NOT FOUND is not a
function)
1ere question : cette instruction est elle toujours d'actualité ou
s'agit il d'un probleme de doc ? (en enlevant cette ligne, l'exemple
marche tres bien)
-dans le 2eme exemple, l'instruction n'y est pas mais l'exemple plante
aussi avec une NullPointerException quand on commence a jouer avec les
controles. la doc precise qq chose au sujet du debugger rhino mais a ma
conaissance je n'utilise pas de debugger javascript.
Mon probleme est que dans le cas de mon formulaire, le fait d'activer le
jx generator fait planter la suppression des lignes dans le repeater. Si
je coche une ligne et que je supprime, le formulaire est rechargé et la
ligne reste presente. Si j'utilise le forms transformer, la suppression
marche, mais je ne peux plus utiliser les instruction jx dont j'ai besoin.
Quelqu'un sait ce qui pourrait faire planter la suppression des lignes
dans le cas de l'utilisation de jx ?
Merci.
Marc
___________________________________________________________________________
Appel audio GRATUIT partout dans le monde avec le nouveau Yahoo! Messenger
Téléchargez cette version sur http://fr.messenger.yahoo.com
---------------------------------------------------------------------
Liste francophone Apache Cocoon -- http://cocoon.apache.org/fr/
Pour vous desinscrire : mailto:users-fr-unsubscribe@cocoon.apache.org
Autres commandes : mailto:users-fr-help@cocoon.apache.org
Re: cforms / JX generator
Posted by Marc Salvetti <ma...@notremanou.net>.
>
> Compris!
>
> Le point important à comprendre, c'est que jx-macros.xml est une
> *implémentation* du langage de templates CForms.
>
> Il vient donc remplacer le forms-transformer, en ajoutant des
> fonctionnalités, principalement la création de variables JX "widget"
> au fur et à mesure qu'on parcourt les widgets du formulaire.
>
> En sortie de ce générateur, on n'a donc plus aucun "ft:*", mais des
> "fi:*" (expansion du template en instances), ce qui explique que la
> XSL ne retrouve pas ses petits...
>
Effectivement, ca explique tout :)
> Si c'est une "row-action", le "event.source.parent" n'est pas le
> repeater, mais une "row", le conteneur qui contient les widgets d'une
> ligne (classe org.apache.cocoon.forms.formmodel.Repeater$RepeaterRow)
>
> Tu peux connaitre sa position (partant de 0) avec
> Repeater.indexOf(RepeaterRow) :
> var row = event.source.parent;
> var repeater = row.parent;
> var pos = repeater.indexOf(row);
>
Ici je suis dans le cas d'une repeater-action, je n'avais pas tres bien
compris la difference jusqu'ici, maintenant tout s'eclaire :)
>
> Le binding est totalement déconnecté de tout ce qui peut se passer sur
> le repeater pendant l'interaction avec le formulaire. C'est pour ça
> que <fb:repeater> a une complexité certaine pour pouvoir faire du
> différentiel.
>
> Sylvain
>
Tu veux dire que ca ne sert a rien d'agir sur le document à cet endroit
la ?
Dans ce cas il faudrais que je mette en attribut du formulaire les
données que je veux modifier dans le handler (la facture) pour que le
formulaire puisse charger les modifs ?
Je veux dire stocker le xml de la facture dans le formulaire a la
creation. Et modifier la template pour utiliser ce qui est stocké plutot
que le binding. En plus, c'est plus logique que d'utiliser le binding
puisqu'il s'agit de données destinés à l'affichage uniquement (fd:output).
Marc
___________________________________________________________________________
Appel audio GRATUIT partout dans le monde avec le nouveau Yahoo! Messenger
Téléchargez cette version sur http://fr.messenger.yahoo.com
---------------------------------------------------------------------
Liste francophone Apache Cocoon -- http://cocoon.apache.org/fr/
Pour vous desinscrire : mailto:users-fr-unsubscribe@cocoon.apache.org
Autres commandes : mailto:users-fr-help@cocoon.apache.org
Re: cforms / JX generator
Posted by Sylvain Wallez <sy...@apache.org>.
Marc Salvetti wrote:
>
>>
>> Je ne comprends pas bien le "jx generator ne transmet pas directement
>> les événements" (ce qu'il fait bien) et la relation avec l'attribut
>> action.
>
>
> Ce qui me fait dire ca, c'est que si je fait un pipe test
> <map:match pattern="test">
> <map:generate type="jx" src="template.xml"/>
> <map:serialize type="xml"/>
>
> et que j'appelle ce pipe dans le navigateur, seul la racine du fichier
> est affichee.
> mon fichier template commence comme ca. peut etre que j'ai oublié qq
> chose.
Oui :-)
<ft:form-template> va chercher la form à afficher, et ne la trouve pas,
puisqu'on ne vient pas d'un flowscript. Par contre, plutôt que d'ignorer
ces tags, tu devrais avoir une jolie "NullPointerException: There hasn't
been passed a form object to the template!"
> <form xmlns:ft="http://apache.org/cocoon/forms/1.0#template"
> xmlns:fi="http://apache.org/cocoon/forms/1.0#instance"
> xmlns:jx="http://apache.org/cocoon/templates/jx/1.0"
> xmlns:i18n="http://apache.org/cocoon/i18n/2.1">
>
> <jx:import
> uri="resource://org/apache/cocoon/forms/generation/jx-macros.xml"/>
>
> <ft:form-template
> action="cart.continue?continuation=#{$cocoon/continuation/id}"
> method="POST">
>
>
>> Pour info, mon approche sur cet attribut a évolué au cours du temps:
>>
>> - au début, je faisais un action="" (on renvoie à la même URL) avec
>> un sélecteur sur la méthode http (get/post) pour choisir entre le
>> call function ou le call continuation. Très pratique en apparence (on
>> ne se soucie plus de l'url) cette méthode a montré ses limites le
>> jour où l'URL appelée avait un paramètre qui existait aussi dans la
>> form, aboutissant à avoir plusieurs valeurs pour ce champ.
>>
>> - maintenant, j'ai action="continue" ou action="continue.html". Ca
>> résoud le problème précédent en conservant le fait de ne pas se
>> préoccuper de l'URL où le formulaire est posté.
>>
> Jusqu'ici j'avais ca :
>
> <ft:form-template action="#{$cocoon/continuation/id}" method="POST">
> et une template xsl apres le generateur :
>
> <xsl:param name="action"/>
> <xsl:template match="ft:form-template">
> <xsl:copy>
> <xsl:copy-of select="@enctype"/>
> <xsl:attribute name="action"><xsl:value-of
> select="$action"/>?continuation=<xsl:value-of
> select="@action"/></xsl:attribute>
> <xsl:copy-of select="./*"/>
> </xsl:copy>
> </xsl:template>
>
> et je passais le nom du form par la sitemap, mais apparement ca ne
> marche pas avec jx
Compris!
Le point important à comprendre, c'est que jx-macros.xml est une
*implémentation* du langage de templates CForms.
Il vient donc remplacer le forms-transformer, en ajoutant des
fonctionnalités, principalement la création de variables JX "widget" au
fur et à mesure qu'on parcourt les widgets du formulaire.
En sortie de ce générateur, on n'a donc plus aucun "ft:*", mais des
"fi:*" (expansion du template en instances), ce qui explique que la XSL
ne retrouve pas ses petits...
>> Bien sûr ! Les repeater-action et row-action, tout comme les actions
>> normales, peuvent avoir des handler <on-action>. Voir par exemple
>> exemples "dynamicrepater.xml". Et depuis un handler en javascript, tu
>> peux appeler non seulement du code Java, mais aussi les fonctions du
>> flowscript qui a affiché la form.
>>
>
> Ca y est, j'ai crée le handler, ca a l'air de fonctionner, par contre
> je n'arrive pas a recuperer l'id de la ligne supprimée dans ma
> fonction. je suppose que ca commence par event.getSource().... mais si
> l'evenement est envoyé par le repeater, comment connaitre la ligne ?
Si c'est une "row-action", le "event.source.parent" n'est pas le
repeater, mais une "row", le conteneur qui contient les widgets d'une
ligne (classe org.apache.cocoon.forms.formmodel.Repeater$RepeaterRow)
Tu peux connaitre sa position (partant de 0) avec
Repeater.indexOf(RepeaterRow) :
var row = event.source.parent;
var repeater = row.parent;
var pos = repeater.indexOf(row);
> Et y a t'il une possibilité d'avoir un evenement après la suppression
> ? le but de la fonction est de recalculer la facture a partir du
> caddie, j'ai donc besoin de calculer ca apres que la ligne ai été
> suprimée, .
Les event-listeners des row-actions sont appelés après l'action *sauf*
dans le cas de la suppression d'une ligne ou l'appel est effectué avant
la suppression pour qu'on puisse savoir ce qu'il y avait dans cette ligne...
> ou alors la supprimer manuellement dans le handler avant de lancer le
> calcul, mais je me demande comment reagira le binding a la sortie de
> l'evenement, quand il devra supprimer la ligne ?
Le binding est totalement déconnecté de tout ce qui peut se passer sur
le repeater pendant l'interaction avec le formulaire. C'est pour ça que
<fb:repeater> a une complexité certaine pour pouvoir faire du différentiel.
Sylvain
--
Sylvain Wallez Anyware Technologies
http://apache.org/~sylvain http://anyware-tech.com
Apache Software Foundation Member Research & Technology Director
---------------------------------------------------------------------
Liste francophone Apache Cocoon -- http://cocoon.apache.org/fr/
Pour vous desinscrire : mailto:users-fr-unsubscribe@cocoon.apache.org
Autres commandes : mailto:users-fr-help@cocoon.apache.org
Re: cforms / JX generator
Posted by Marc Salvetti <ma...@notremanou.net>.
>
> Je ne comprends pas bien le "jx generator ne transmet pas directement
> les événements" (ce qu'il fait bien) et la relation avec l'attribut
> action.
Ce qui me fait dire ca, c'est que si je fait un pipe test
<map:match pattern="test">
<map:generate type="jx" src="template.xml"/>
<map:serialize type="xml"/>
et que j'appelle ce pipe dans le navigateur, seul la racine du fichier
est affichee.
mon fichier template commence comme ca. peut etre que j'ai oublié qq chose.
<form xmlns:ft="http://apache.org/cocoon/forms/1.0#template"
xmlns:fi="http://apache.org/cocoon/forms/1.0#instance"
xmlns:jx="http://apache.org/cocoon/templates/jx/1.0"
xmlns:i18n="http://apache.org/cocoon/i18n/2.1">
<jx:import
uri="resource://org/apache/cocoon/forms/generation/jx-macros.xml"/>
<ft:form-template
action="cart.continue?continuation=#{$cocoon/continuation/id}"
method="POST">
> Pour info, mon approche sur cet attribut a évolué au cours du temps:
>
> - au début, je faisais un action="" (on renvoie à la même URL) avec un
> sélecteur sur la méthode http (get/post) pour choisir entre le call
> function ou le call continuation. Très pratique en apparence (on ne se
> soucie plus de l'url) cette méthode a montré ses limites le jour où
> l'URL appelée avait un paramètre qui existait aussi dans la form,
> aboutissant à avoir plusieurs valeurs pour ce champ.
>
> - maintenant, j'ai action="continue" ou action="continue.html". Ca
> résoud le problème précédent en conservant le fait de ne pas se
> préoccuper de l'URL où le formulaire est posté.
>
Jusqu'ici j'avais ca :
<ft:form-template action="#{$cocoon/continuation/id}" method="POST">
et une template xsl apres le generateur :
<xsl:param name="action"/>
<xsl:template match="ft:form-template">
<xsl:copy>
<xsl:copy-of select="@enctype"/>
<xsl:attribute name="action"><xsl:value-of
select="$action"/>?continuation=<xsl:value-of
select="@action"/></xsl:attribute>
<xsl:copy-of select="./*"/>
</xsl:copy>
</xsl:template>
et je passais le nom du form par la sitemap, mais apparement ca ne
marche pas avec jx
> Bien sûr ! Les repeater-action et row-action, tout comme les actions
> normales, peuvent avoir des handler <on-action>. Voir par exemple
> exemples "dynamicrepater.xml". Et depuis un handler en javascript, tu
> peux appeler non seulement du code Java, mais aussi les fonctions du
> flowscript qui a affiché la form.
>
Ca y est, j'ai crée le handler, ca a l'air de fonctionner, par contre je
n'arrive pas a recuperer l'id de la ligne supprimée dans ma fonction. je
suppose que ca commence par event.getSource().... mais si l'evenement
est envoyé par le repeater, comment connaitre la ligne ?
Et y a t'il une possibilité d'avoir un evenement après la suppression ?
le but de la fonction est de recalculer la facture a partir du caddie,
j'ai donc besoin de calculer ca apres que la ligne ai été suprimée, .ou
alors la supprimer manuellement dans le handler avant de lancer le
calcul, mais je me demande comment reagira le binding a la sortie de
l'evenement, quand il devra supprimer la ligne ?
Merci encore.
Marc
___________________________________________________________________________
Appel audio GRATUIT partout dans le monde avec le nouveau Yahoo! Messenger
Téléchargez cette version sur http://fr.messenger.yahoo.com
---------------------------------------------------------------------
Liste francophone Apache Cocoon -- http://cocoon.apache.org/fr/
Pour vous desinscrire : mailto:users-fr-unsubscribe@cocoon.apache.org
Autres commandes : mailto:users-fr-help@cocoon.apache.org
Re: cforms / JX generator
Posted by Sylvain Wallez <sy...@apache.org>.
Marc Salvetti wrote:
> Probleme résolu, en fait j'utilisait xsl pour remplacer l'attribut
> action du ft:template mais apparement, le jx generator ne transmet pas
> directement les evenements sax ft:template au pipeline, du coup mon
> attribut action etait vide, ce qui a pour effet de recharger le
> formulaire quand on manipule les lignes, et ceci sans creer
> d'erreur... bug ou comportement normal ?
Je ne comprends pas bien le "jx generator ne transmet pas directement
les événements" (ce qu'il fait bien) et la relation avec l'attribut action.
Pour info, mon approche sur cet attribut a évolué au cours du temps:
- au début, je faisais un action="" (on renvoie à la même URL) avec un
sélecteur sur la méthode http (get/post) pour choisir entre le call
function ou le call continuation. Très pratique en apparence (on ne se
soucie plus de l'url) cette méthode a montré ses limites le jour où
l'URL appelée avait un paramètre qui existait aussi dans la form,
aboutissant à avoir plusieurs valeurs pour ce champ.
- maintenant, j'ai action="continue" ou action="continue.html". Ca
résoud le problème précédent en conservant le fait de ne pas se
préoccuper de l'URL où le formulaire est posté.
A noter que dans ces 2 cas l'id de continuation est passé en champ
caché. On peut aussi le mettre dans le champ action, mais perso je
n'aime pas trop ces identifiants à rallonge dans l'URL affichée :-)
> J'ai une autre question sur ce formulaire, j'ai besoin de faire des
> calculs relativements complexes lors de la suppression des lignes,
> j'aurai donc besoin d'un point d'entree dans le flot sur l'evenement
> on-delete-node ou quelque chose comme ca. Est-ce que c'est possible de
> definir un handler quelque part et si oui, à quel endroit ?
Bien sûr ! Les repeater-action et row-action, tout comme les actions
normales, peuvent avoir des handler <on-action>. Voir par exemple
exemples "dynamicrepater.xml". Et depuis un handler en javascript, tu
peux appeler non seulement du code Java, mais aussi les fonctions du
flowscript qui a affiché la form.
Sylvain
--
Sylvain Wallez Anyware Technologies
http://apache.org/~sylvain http://anyware-tech.com
Apache Software Foundation Member Research & Technology Director
---------------------------------------------------------------------
Liste francophone Apache Cocoon -- http://cocoon.apache.org/fr/
Pour vous desinscrire : mailto:users-fr-unsubscribe@cocoon.apache.org
Autres commandes : mailto:users-fr-help@cocoon.apache.org
Re: cforms / JX generator
Posted by Marc Salvetti <ma...@notremanou.net>.
Probleme résolu, en fait j'utilisait xsl pour remplacer l'attribut
action du ft:template mais apparement, le jx generator ne transmet pas
directement les evenements sax ft:template au pipeline, du coup mon
attribut action etait vide, ce qui a pour effet de recharger le
formulaire quand on manipule les lignes, et ceci sans creer d'erreur...
bug ou comportement normal ?
J'ai une autre question sur ce formulaire, j'ai besoin de faire des
calculs relativements complexes lors de la suppression des lignes,
j'aurai donc besoin d'un point d'entree dans le flot sur l'evenement
on-delete-node ou quelque chose comme ca. Est-ce que c'est possible de
definir un handler quelque part et si oui, à quel endroit ?
Merci encore.
Marc
Marc Salvetti a écrit :
> Je viens de m'apercevoir en mettant un print avant le showForm() que
> la fonction de creation du formulaire est appelée à chaque fois que
> j'essaye de supprimer une ligne (je n'ai pas de bouton ajout sur ce
> form).
> Ca ressemble bien à la cause du problème, mais je ne comprend pas
> pourquoi cette fonction est rappelée.
>
> Marc
>
> Marc Salvetti a écrit :
>
>> Oui, je crois bien avoir fait ce que dit la doc, voici mon pipe form :
>>
>> <map:resource name="form">
>> <map:generate type="jx" src="{form-template}"/>
>> <!--map:generate src="{form-template}"/-->
>> <!--map:transform type="forms"/-->
>> <map:transform src="resources/forms-samples-styling.xsl"/>
>> <map:transform type="i18n">
>> <map:parameter name="locale" value="{locale}"/>
>> </map:transform>
>> <map:serialize type="xml"/>
>> <!--map:transform src="stylesheets/custom-forms-styling.xsl">
>> <map:parameter name="resources-uri" value="resources"/>
>> </map:transform-->
>> </map:resource>
>>
>> merci pour ton aide,
>>
>> Marc
>>
>>
>> Sylvain Wallez a écrit :
>>
>>> Marc Salvetti wrote:
>>>
>>>> bin non, le comportement que je decris est en utilisant
>>>> jx-macro.xml . si j'utilise l'autre fichier, ca ne fonctionne plus
>>>> du tout et j'obtiens l'erreur dont je parlais (not found is not a
>>>> fonction)
>>>>
>>>> Du coup je ne sait pas trop que faire. Aucune trace d'erreur dans
>>>> les logs, juste les lignes ne sont pas effacees.
>>>
>>>
>>>
>>>
>>>
>>> Bizarre...
>>>
>>> Est-ce que tu as bien changé le générateur en "jx" au lieu du "file"
>>> par défaut ?
>>>
>>> Sylvain
>>>
>>
>>
>>
>> ___________________________________________________________________________
>> Appel audio GRATUIT partout dans le monde avec le nouveau Yahoo!
>> Messenger Téléchargez cette version sur http://fr.messenger.yahoo.com
>>
>>
>> ---------------------------------------------------------------------
>> Liste francophone Apache Cocoon -- http://cocoon.apache.org/fr/
>> Pour vous desinscrire : mailto:users-fr-unsubscribe@cocoon.apache.org
>> Autres commandes : mailto:users-fr-help@cocoon.apache.org
>>
>>
>>
>>
>
>
>
>
>
> ___________________________________________________________________________
> Appel audio GRATUIT partout dans le monde avec le nouveau Yahoo!
> Messenger Téléchargez cette version sur http://fr.messenger.yahoo.com
>
>
> ---------------------------------------------------------------------
> Liste francophone Apache Cocoon -- http://cocoon.apache.org/fr/
> Pour vous desinscrire : mailto:users-fr-unsubscribe@cocoon.apache.org
> Autres commandes : mailto:users-fr-help@cocoon.apache.org
>
>
>
>
___________________________________________________________________________
Appel audio GRATUIT partout dans le monde avec le nouveau Yahoo! Messenger
Téléchargez cette version sur http://fr.messenger.yahoo.com
---------------------------------------------------------------------
Liste francophone Apache Cocoon -- http://cocoon.apache.org/fr/
Pour vous desinscrire : mailto:users-fr-unsubscribe@cocoon.apache.org
Autres commandes : mailto:users-fr-help@cocoon.apache.org
Re: cforms / JX generator
Posted by Marc Salvetti <ma...@notremanou.net>.
Je viens de m'apercevoir en mettant un print avant le showForm() que la
fonction de creation du formulaire est appelée à chaque fois que
j'essaye de supprimer une ligne (je n'ai pas de bouton ajout sur ce form).
Ca ressemble bien à la cause du problème, mais je ne comprend pas
pourquoi cette fonction est rappelée.
Marc
Marc Salvetti a écrit :
> Oui, je crois bien avoir fait ce que dit la doc, voici mon pipe form :
>
> <map:resource name="form">
> <map:generate type="jx" src="{form-template}"/>
> <!--map:generate src="{form-template}"/-->
> <!--map:transform type="forms"/-->
> <map:transform src="resources/forms-samples-styling.xsl"/>
> <map:transform type="i18n">
> <map:parameter name="locale" value="{locale}"/>
> </map:transform>
> <map:serialize type="xml"/>
> <!--map:transform src="stylesheets/custom-forms-styling.xsl">
> <map:parameter name="resources-uri" value="resources"/>
> </map:transform-->
> </map:resource>
>
> merci pour ton aide,
>
> Marc
>
>
> Sylvain Wallez a écrit :
>
>> Marc Salvetti wrote:
>>
>>> bin non, le comportement que je decris est en utilisant jx-macro.xml
>>> . si j'utilise l'autre fichier, ca ne fonctionne plus du tout et
>>> j'obtiens l'erreur dont je parlais (not found is not a fonction)
>>>
>>> Du coup je ne sait pas trop que faire. Aucune trace d'erreur dans
>>> les logs, juste les lignes ne sont pas effacees.
>>
>>
>>
>>
>> Bizarre...
>>
>> Est-ce que tu as bien changé le générateur en "jx" au lieu du "file"
>> par défaut ?
>>
>> Sylvain
>>
>
>
>
>
>
> ___________________________________________________________________________
> Appel audio GRATUIT partout dans le monde avec le nouveau Yahoo!
> Messenger Téléchargez cette version sur http://fr.messenger.yahoo.com
>
>
> ---------------------------------------------------------------------
> Liste francophone Apache Cocoon -- http://cocoon.apache.org/fr/
> Pour vous desinscrire : mailto:users-fr-unsubscribe@cocoon.apache.org
> Autres commandes : mailto:users-fr-help@cocoon.apache.org
>
>
>
>
___________________________________________________________________________
Appel audio GRATUIT partout dans le monde avec le nouveau Yahoo! Messenger
Téléchargez cette version sur http://fr.messenger.yahoo.com
---------------------------------------------------------------------
Liste francophone Apache Cocoon -- http://cocoon.apache.org/fr/
Pour vous desinscrire : mailto:users-fr-unsubscribe@cocoon.apache.org
Autres commandes : mailto:users-fr-help@cocoon.apache.org
Re: cforms / JX generator
Posted by Marc Salvetti <ma...@notremanou.net>.
Oui, je crois bien avoir fait ce que dit la doc, voici mon pipe form :
<map:resource name="form">
<map:generate type="jx" src="{form-template}"/>
<!--map:generate src="{form-template}"/-->
<!--map:transform type="forms"/-->
<map:transform src="resources/forms-samples-styling.xsl"/>
<map:transform type="i18n">
<map:parameter name="locale" value="{locale}"/>
</map:transform>
<map:serialize type="xml"/>
<!--map:transform src="stylesheets/custom-forms-styling.xsl">
<map:parameter name="resources-uri" value="resources"/>
</map:transform-->
</map:resource>
merci pour ton aide,
Marc
Sylvain Wallez a écrit :
> Marc Salvetti wrote:
>
>> bin non, le comportement que je decris est en utilisant jx-macro.xml
>> . si j'utilise l'autre fichier, ca ne fonctionne plus du tout et
>> j'obtiens l'erreur dont je parlais (not found is not a fonction)
>>
>> Du coup je ne sait pas trop que faire. Aucune trace d'erreur dans les
>> logs, juste les lignes ne sont pas effacees.
>
>
>
> Bizarre...
>
> Est-ce que tu as bien changé le générateur en "jx" au lieu du "file"
> par défaut ?
>
> Sylvain
>
___________________________________________________________________________
Appel audio GRATUIT partout dans le monde avec le nouveau Yahoo! Messenger
Téléchargez cette version sur http://fr.messenger.yahoo.com
---------------------------------------------------------------------
Liste francophone Apache Cocoon -- http://cocoon.apache.org/fr/
Pour vous desinscrire : mailto:users-fr-unsubscribe@cocoon.apache.org
Autres commandes : mailto:users-fr-help@cocoon.apache.org
Re: cforms / JX generator
Posted by Sylvain Wallez <sy...@apache.org>.
Marc Salvetti wrote:
> bin non, le comportement que je decris est en utilisant jx-macro.xml .
> si j'utilise l'autre fichier, ca ne fonctionne plus du tout et
> j'obtiens l'erreur dont je parlais (not found is not a fonction)
>
> Du coup je ne sait pas trop que faire. Aucune trace d'erreur dans les
> logs, juste les lignes ne sont pas effacees.
Bizarre...
Est-ce que tu as bien changé le générateur en "jx" au lieu du "file" par
défaut ?
Sylvain
--
Sylvain Wallez Anyware Technologies
http://apache.org/~sylvain http://anyware-tech.com
Apache Software Foundation Member Research & Technology Director
---------------------------------------------------------------------
Liste francophone Apache Cocoon -- http://cocoon.apache.org/fr/
Pour vous desinscrire : mailto:users-fr-unsubscribe@cocoon.apache.org
Autres commandes : mailto:users-fr-help@cocoon.apache.org
Re: cforms / JX generator
Posted by Marc Salvetti <ma...@notremanou.net>.
bin non, le comportement que je decris est en utilisant jx-macro.xml .
si j'utilise l'autre fichier, ca ne fonctionne plus du tout et j'obtiens
l'erreur dont je parlais (not found is not a fonction)
Du coup je ne sait pas trop que faire. Aucune trace d'erreur dans les
logs, juste les lignes ne sont pas effacees.
Marc
Sylvain Wallez a écrit :
> Marc Salvetti wrote:
>
>> Bonjour,
>> je suis en train d'essayer de creer un formulaire generé avec jx
>> (jusqu'a mainteant j'avais utilisé le transformer cforms).
>> J'ai trouvé deux exemples de ce que je veux faire dans le bloc cforms
>> (dynamic repeater template)
>>
>> -dans le 1er exemple, dans le fichier dynamicrepeater_template.xml,
>> il y a l'instruction
>> <jx:import
>> uri="resource://org/apache/cocoon/forms/generation/template.jx"/>
>> qui apparement fait planter l'exemple (uniqueTag NOT FOUND is not a
>> function)
>> 1ere question : cette instruction est elle toujours d'actualité ou
>> s'agit il d'un probleme de doc ? (en enlevant cette ligne, l'exemple
>> marche tres bien)
>
>
>
> Le fichier importé n'est pas le bon:
> <jx:import
> uri="resource://org/apache/cocoon/forms/generation/jx-macros.xml"/>
>
> Le "template.jx" est un vieux prototype de ce qui se trouve dans
> jx-macros.xml et doit être considéré comme obsolète.
>
>> -dans le 2eme exemple, l'instruction n'y est pas mais l'exemple
>> plante aussi avec une NullPointerException quand on commence a jouer
>> avec les controles. la doc precise qq chose au sujet du debugger
>> rhino mais a ma conaissance je n'utilise pas de debugger javascript.
>
>
>
> Bizarre bizarre : ces exemples (dont je suis l'humble auteur)
> fonctionnent très bien...
>
>> Mon probleme est que dans le cas de mon formulaire, le fait d'activer
>> le jx generator fait planter la suppression des lignes dans le
>> repeater. Si je coche une ligne et que je supprime, le formulaire est
>> rechargé et la ligne reste presente. Si j'utilise le forms
>> transformer, la suppression marche, mais je ne peux plus utiliser les
>> instruction jx dont j'ai besoin.
>>
>> Quelqu'un sait ce qui pourrait faire planter la suppression des
>> lignes dans le cas de l'utilisation de jx ?
>
>
>
> Avec "jx-macros.xml", est-ce que ça fonctionne mieux?
>
> Sylvain
>
___________________________________________________________________________
Appel audio GRATUIT partout dans le monde avec le nouveau Yahoo! Messenger
Téléchargez cette version sur http://fr.messenger.yahoo.com
---------------------------------------------------------------------
Liste francophone Apache Cocoon -- http://cocoon.apache.org/fr/
Pour vous desinscrire : mailto:users-fr-unsubscribe@cocoon.apache.org
Autres commandes : mailto:users-fr-help@cocoon.apache.org
Re: cforms / JX generator
Posted by Sylvain Wallez <sy...@apache.org>.
Marc Salvetti wrote:
> Bonjour,
> je suis en train d'essayer de creer un formulaire generé avec jx
> (jusqu'a mainteant j'avais utilisé le transformer cforms).
> J'ai trouvé deux exemples de ce que je veux faire dans le bloc cforms
> (dynamic repeater template)
>
> -dans le 1er exemple, dans le fichier dynamicrepeater_template.xml, il
> y a l'instruction
> <jx:import
> uri="resource://org/apache/cocoon/forms/generation/template.jx"/>
> qui apparement fait planter l'exemple (uniqueTag NOT FOUND is not a
> function)
> 1ere question : cette instruction est elle toujours d'actualité ou
> s'agit il d'un probleme de doc ? (en enlevant cette ligne, l'exemple
> marche tres bien)
Le fichier importé n'est pas le bon:
<jx:import
uri="resource://org/apache/cocoon/forms/generation/jx-macros.xml"/>
Le "template.jx" est un vieux prototype de ce qui se trouve dans
jx-macros.xml et doit être considéré comme obsolète.
> -dans le 2eme exemple, l'instruction n'y est pas mais l'exemple plante
> aussi avec une NullPointerException quand on commence a jouer avec les
> controles. la doc precise qq chose au sujet du debugger rhino mais a
> ma conaissance je n'utilise pas de debugger javascript.
Bizarre bizarre : ces exemples (dont je suis l'humble auteur)
fonctionnent très bien...
> Mon probleme est que dans le cas de mon formulaire, le fait d'activer
> le jx generator fait planter la suppression des lignes dans le
> repeater. Si je coche une ligne et que je supprime, le formulaire est
> rechargé et la ligne reste presente. Si j'utilise le forms
> transformer, la suppression marche, mais je ne peux plus utiliser les
> instruction jx dont j'ai besoin.
>
> Quelqu'un sait ce qui pourrait faire planter la suppression des lignes
> dans le cas de l'utilisation de jx ?
Avec "jx-macros.xml", est-ce que ça fonctionne mieux?
Sylvain
--
Sylvain Wallez Anyware Technologies
http://apache.org/~sylvain http://anyware-tech.com
Apache Software Foundation Member Research & Technology Director
---------------------------------------------------------------------
Liste francophone Apache Cocoon -- http://cocoon.apache.org/fr/
Pour vous desinscrire : mailto:users-fr-unsubscribe@cocoon.apache.org
Autres commandes : mailto:users-fr-help@cocoon.apache.org