cocoon-users-fr mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Sylvain Wallez <sylv...@apache.org>
Subject Re: scripts XSLT et le cache
Date Thu, 05 Jan 2006 07:47:32 GMT
David Verdin wrote:
> Merci pour cette réponse !
> J'ai une ou deux remarques...
>
> Sylvain Wallez wrote:

<snip/>
>> Si c'est pour afficher l'heure dans la page web, mon humble avis est 
>> que l'utilisateur a fort probablement l'heure sur son écran, sa 
>> montre, son télephone portable, voire l'horloge accrochée au mur :-)
>
> Hé ! Hé ! C'est probable en effet. ;-)
> Malheureusement, ç'était un peu moins gadget : je cherche à 
> enregistrer des données de session, et de les intégrer dans des 
> fichiers identifiés par la date, pour éviter les monolithes.

"monolithes" ? Euh... qu'est-ce que ça désigne ?

> Alors j'utilise le code suivant dans un XSL :
>
>  <xsl:template match="/">
>    <racine xmlns:source="http://apache.org/cocoon/source/1.0">
>      <source:insert>
>        
> <source:source>context://documents/historiqueRequetes/<xsl:value-of 
> select="substring-before(date:date(),'+')"/>session.xml</source:source>
>        <source:fragment>
>          <session:getxml context="ontoRequete" path="/"/>
>        </source:fragment>
>        <source:path>/racine</source:path>
>      </source:insert>
>    </racine>
>  </xsl:template>

Argh, le fameux SourceWritingTransformer...

> Ceci est utilisé dans ce pipeline :
>
>      <map:match pattern="sauverRequete">
>        <map:generate src="fragmentSession.xml"/> <!-- Un fichier 
> pipeau -->
>        <map:transform 
> src="context://documents/resources/enregistreurSession.xsl"/> <!-- mon 
> XSLT -->
>        <map:transform type="session"/>
>        <map:transform type="write-source"/>
>        <map:serialize type="xml"/>
>      </map:match>
>     Et paf ! on insère dans un fichier XML les infos de session. Si le 
> fichier n'existe pas, on le crée. Et la date est sensée changer tous 
> les jours.

Ok. Vu que c'est un pipeline dont le résultat va toujours changer, tu 
peux le mettre dans un <map:pipeline type="non-caching">.

Tu peux aussi passer la date en paramètre de la xsl avec un 
<map:parameter name="date" value="{date:yyyyMMdd}"/>

> Une solution sera peut-être de vider le cache tous les jours à 0h01...
> Cela dit, il existe peut-être une autre solution pour enregistrer les 
> sessions.

Question bête : à quoi ça sert d'enregistrer les sessions ?

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


Mime
View raw message