Bonjour,
J'utilise Cocoon *2.1.5.1 *sur Tomcat 5.0.28.
J'utilise des scripts XSLT pour générer mes pages, que ce soit les
scripts fournis dans les samples pour la mise en page, ou bien des
scripts perso.
Dans tous, les cas, je constate que le script n'est pas systématiquement
rechargé par Cocoon lors de son utilisation. En d'autres termes : il
reste identique dans le cache, même quand cela ne devrait pas être le cas.
J'ai lu la doc du système de cache de Cocoon, et il apparaît que les
fichiers en cache ne sont relus depuis la source que si leur date de
modification a changé. Système qui semble logique, puisqu'il évite de
relire un fichier inchangé.
Les problèmes que j'observe sont :
1- Les fichiers appelés lors de l'utilisation d'une balise
<xsl:include/> ne sont pas rechargés après leur modification, mais
seulement après modification du fichier xsl qui est utilisé par le
sitemap et qui les appelle. Par exemple, «
forms-advanced-field-styling.xsl » est appelé par «
forms-samples-styling.xsl ». Ce dernier est utilisé dans le sitemap pour
mettre en page les formulaires. Si on modifie «
forms-advanced-field-styling.xsl » seul, les modifications ne seront pas
prises en compte, à moins que l'on modifie « forms-samples-styling.xsl »
où que l'on recharge Cocoon, ou bien qu'on vide le cache.
2- Certaines expressions ne sont pas réévaluées à l'intérieur d'un
script dont le fichier n'a pas été modifié. J'utilise ainsi la fonction
date:date() d'EXSLT, implémentée par xalan. Après la première
utilisation du script par Cocoon, la date n'est plus modifiées, à moins
de réinitialiser le cache.
Je souhaiterais donc me débarasser de la mise en cache des scripts XSLT,
mais sans pour autant supprimer l'utilisation du cache pour tout le
pipeline : ça peut être utile pour le images, les CSS, enfin plein
d'autres types de fichiers utilisés dans le pipeline et pour qui le
système de cache fonctionne très bien !
Avez-vous des indices ?
À bientôt !
David Verdin
---------------------------------------------------------------------
Liste francophone Apache Cocoon -- http://cocoon.apache.org/fr/
Pour vous desinscrire : mailto:[EMAIL PROTECTED]
Autres commandes : mailto:[EMAIL PROTECTED]