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