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 "John S.Washington" <jo...@gmail.com> on 2005/12/08 16:23:11 UTC

Jx Macros/ Taglib

Bonjour,

Je voudrais utiliser les macros JX pour créér une taglib.
Pour l'instant j'ai fait quelques  tests très basiques avec cocoon 2.1.8.
J'utilise le generator jx auquel je passe un fichier qui contient mon
document avec les tags à expanser mais aussi la déclaration des macros.
Et je voudrais évidement séparer ces 2 parties, mais je ne vois pas trop
comment.
Le plus logique pour moi ca serait de passer mon document au jx generator et
d'avoir un "macro transformer" qui prend en paramètre le fichier de
déclaration des macros.

Est ce que quelque chose de ce type existe?
Ou sinon quelle est la démarche à adopter pour réaliser cela?

Merci

Re: Jx Macros/ Taglib

Posted by "John S.Washington" <jo...@gmail.com>.
On 12/9/05, John S.Washington <jo...@gmail.com> wrote:
>
>
> Bon j'ai maintenant une question purement sur les jx-macros et JSTL
>

Je voulais dire JXPath ou Jexl  ;-)

 Si j'ai un document XML du genre :
>
> <Doc>
>
>  <A>
>   <myTag/>
>  </A>
>
>  <B>
>   <myTag/>
>  </B>
>
> </Doc>
>
> Avec ma macro :
> <jx:macro name="myTag">
> ...
> </jx:macro>
>
> En fait je voudrais que le traitement différe selon le "contexte" dans
> lequel se trouve mon tag.
> Par exemple je voudrais que le résultat ne soit pas le même selon si le
> parent de mon tag "myTag" est A ou B.
>
> Est ce qu'il existe un moyen simple de récupérer cette information dans ma
> macro?
>


J'ai l'impression que ce que je veux faire n'est pas possible avec les
macros.
Par contre j'ai découvert le tag transformer.
Je n'ai pas vu de documentation dessus mais j'ai l'impression qu'on peut
faire des macros exactement comme avec des JX-templates.
Par contre pour créer des tags plus complexes comme ceux je voudrais on peut
utiliser java avec une API standard de taglib.

Donc je me demande si je ne devrais pas utiliser ça plutôt. Mais comme je
n'ai pas vu beaucoup d'informations sur ce transformer je voudrais aussi
savoir si ce n'est pas un projet qui a été abandonné.

Merci

Re: Jx Macros/ Taglib

Posted by "John S.Washington" <jo...@gmail.com>.
On 12/8/05, Sylvain Wallez <sy...@apache.org> wrote:
>
> Philippe Gassmann wrote:
> > Tu peux toujours faire un map:generate type="jx" src="cocoon://mondoc">
> > et dans le pipeline mon doc, tu passes une xsl sur ton document pour
> > lui ajouter : <jx:import/> C'est un peu tordu, mais c'est une
> solution...
>
> Argh les perfs!


Héhé dans le genre tordu j'avais pensé à quelque chose à base de Cinclude ou
d'agregate ;)

Bon j'ai maintenant une question purement sur les jx-macros et JSTL

Si j'ai un document XML du genre :

<Doc>

 <A>
  <myTag/>
 </A>

 <B>
  <myTag/>
 </B>

</Doc>

Avec ma macro :
<jx:macro name="myTag">
...
</jx:macro>

En fait je voudrais que le traitement différe selon le "contexte" dans
lequel se trouve mon tag.
Par exemple je voudrais que le résultat ne soit pas le même selon si le
parent de mon tag "myTag" est A ou B.

Est ce qu'il existe un moyen simple de récupérer cette information dans ma
macro?

Merci

Re: Jx Macros/ Taglib

Posted by Sylvain Wallez <sy...@apache.org>.
Philippe Gassmann wrote:
> Tu peux toujours faire un map:generate type="jx" src="cocoon://mondoc">
> et dans le pipeline mon doc, tu passes une xsl sur ton document pour 
> lui ajouter : <jx:import/> C'est un peu tordu, mais c'est une solution...

Argh les perfs!

> John S.Washington a écrit :
>
>> Merci je n'avais même pas pensé à cette solution là  :s
>> En fait l'idéal aurait été que mes documents n'aient aucune référence 
>> à la
>> définition des macros mais que celle-ci soit plutôt transmise au 
>> niveau de
>> la sitemap.
>> Mais ce n'est peut être pas possible et en attendant ta solution me
>> satisfait largement :)

Effectivement, il n'y a pas de moyen de "prédéclarer" des fichiers de 
macros.

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:users-fr-unsubscribe@cocoon.apache.org
Autres commandes : mailto:users-fr-help@cocoon.apache.org


Re: Jx Macros/ Taglib

Posted by Philippe Gassmann <ph...@anyware-tech.com>.
Tu peux toujours faire un map:generate type="jx" src="cocoon://mondoc">
et dans le pipeline mon doc, tu passes une xsl sur ton document pour lui 
ajouter : <jx:import/> C'est un peu tordu, mais c'est une solution...

John S.Washington a écrit :

>Merci je n'avais même pas pensé à cette solution là  :s
>En fait l'idéal aurait été que mes documents n'aient aucune référence à la
>définition des macros mais que celle-ci soit plutôt transmise au niveau de
>la sitemap.
>Mais ce n'est peut être pas possible et en attendant ta solution me
>satisfait largement :)
>
>
>On 12/8/05, Philippe Gassmann <ph...@anyware-tech.com> wrote:
>  
>
>>John S.Washington a écrit :
>>
>>    
>>
>>>Bonjour,
>>>
>>>Je voudrais utiliser les macros JX pour créér une taglib.
>>>Pour l'instant j'ai fait quelques  tests très basiques avec cocoon 2.1.8.
>>>J'utilise le generator jx auquel je passe un fichier qui contient mon
>>>document avec les tags à expanser mais aussi la déclaration des macros.
>>>Et je voudrais évidement séparer ces 2 parties, mais je ne vois pas trop
>>>comment.
>>>Le plus logique pour moi ca serait de passer mon document au jx generator
>>>      
>>>
>>et
>>    
>>
>>>d'avoir un "macro transformer" qui prend en paramètre le fichier de
>>>déclaration des macros.
>>>
>>>Est ce que quelque chose de ce type existe?
>>>Ou sinon quelle est la démarche à adopter pour réaliser cela?
>>>
>>>Merci
>>>
>>>
>>>
>>>      
>>>
>>Tu peux créer un fichier de macro séparé et l'inclure dans ton jx avec :
>><jx:import uri="...."/>
>>
>>--
>>Philippe GASSMANN
>>Systèmes d'Information
>>ANYWARE TECHNOLOGIES
>>Tel : +33 (0)5 61 00 52 90
>>Fax : +33 (0)5 61 00 51 46
>>http://www.anyware-tech.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
>>
>>
>>    
>>
>
>  
>


-- 
Philippe GASSMANN
Systèmes d'Information
ANYWARE TECHNOLOGIES
Tel : +33 (0)5 61 00 52 90
Fax : +33 (0)5 61 00 51 46
http://www.anyware-tech.com/


Re: Jx Macros/ Taglib

Posted by "John S.Washington" <jo...@gmail.com>.
Merci je n'avais même pas pensé à cette solution là  :s
En fait l'idéal aurait été que mes documents n'aient aucune référence à la
définition des macros mais que celle-ci soit plutôt transmise au niveau de
la sitemap.
Mais ce n'est peut être pas possible et en attendant ta solution me
satisfait largement :)


On 12/8/05, Philippe Gassmann <ph...@anyware-tech.com> wrote:
>
> John S.Washington a écrit :
>
> >Bonjour,
> >
> >Je voudrais utiliser les macros JX pour créér une taglib.
> >Pour l'instant j'ai fait quelques  tests très basiques avec cocoon 2.1.8.
> >J'utilise le generator jx auquel je passe un fichier qui contient mon
> >document avec les tags à expanser mais aussi la déclaration des macros.
> >Et je voudrais évidement séparer ces 2 parties, mais je ne vois pas trop
> >comment.
> >Le plus logique pour moi ca serait de passer mon document au jx generator
> et
> >d'avoir un "macro transformer" qui prend en paramètre le fichier de
> >déclaration des macros.
> >
> >Est ce que quelque chose de ce type existe?
> >Ou sinon quelle est la démarche à adopter pour réaliser cela?
> >
> >Merci
> >
> >
> >
> Tu peux créer un fichier de macro séparé et l'inclure dans ton jx avec :
> <jx:import uri="...."/>
>
> --
> Philippe GASSMANN
> Systèmes d'Information
> ANYWARE TECHNOLOGIES
> Tel : +33 (0)5 61 00 52 90
> Fax : +33 (0)5 61 00 51 46
> http://www.anyware-tech.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: Jx Macros/ Taglib

Posted by Philippe Gassmann <ph...@anyware-tech.com>.
John S.Washington a écrit :

>Bonjour,
>
>Je voudrais utiliser les macros JX pour créér une taglib.
>Pour l'instant j'ai fait quelques  tests très basiques avec cocoon 2.1.8.
>J'utilise le generator jx auquel je passe un fichier qui contient mon
>document avec les tags à expanser mais aussi la déclaration des macros.
>Et je voudrais évidement séparer ces 2 parties, mais je ne vois pas trop
>comment.
>Le plus logique pour moi ca serait de passer mon document au jx generator et
>d'avoir un "macro transformer" qui prend en paramètre le fichier de
>déclaration des macros.
>
>Est ce que quelque chose de ce type existe?
>Ou sinon quelle est la démarche à adopter pour réaliser cela?
>
>Merci
>
>  
>
Tu peux créer un fichier de macro séparé et l'inclure dans ton jx avec : 
<jx:import uri="...."/>

-- 
Philippe GASSMANN
Systèmes d'Information
ANYWARE TECHNOLOGIES
Tel : +33 (0)5 61 00 52 90
Fax : +33 (0)5 61 00 51 46
http://www.anyware-tech.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