cocoon-users-fr mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From e.franci...@free.fr
Subject Recuperation de plusieurs fichiers XMLs pour mettre dans un seul XML
Date Fri, 21 Oct 2005 15:38:45 GMT
Bonjour,

Je suis entrain de recuperer plusieur information en format xml pour mettre dans
un seul fichier xml, pour cela, j'utilise Cinclude.

------------------

Voici mon sitemap

<!-- la liste complet etudiant -->

<map:pipeline type="caching">
    <map:parameter name="expires" value="access plus 1 hours"/>
    <map:match pattern="Source/*/Status/*/Complet_Etudiant/Pole/*/Liste.xml">
     <map:generate src="cocoon:/Source/{1}/Etudiant/Pole/{3}/Liste.xml"/>
     <map:transform src="filtre/xml-complet_etudiant.xsl">
       <map:parameter name="URLLotus" value="{1}"/>
       <map:parameter name="status" value="{2}"/>
       <map:parameter name="pole" value="{3}"/>
     </map:transform>
     <map:transform type="cinclude"/>
     <map:serialize type="xml"/>
    </map:match>
</map:pipeline>

<!-- information d'un seul etudiant -->

<map:pipeline type="caching">
    <map:parameter name="expires" value="access plus 1 hours"/>
    <map:match pattern="Source/*/Etudiant/Pole/*/*.xml">
      <map:generate src="http://{1}/ThES_{2}.nsf/viewXML_et/{3}"/>
      <map:serialize type="xml"/>
   </map:match>
</map:pipeline>

voici la feuille de style :

<?xml version="1.0" encoding="ISO-8859-1"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:ci="http://apache.org/cocoon/include/1.0">
 <xsl:param name="URLLotus" />
 <xsl:param name="pole" />
 <xsl:param name="status" />

 <xsl:template match="/">
   <liste_Et>
      <xsl:if test="not($status='*')">
        <xsl:apply-templates select="/liste_Et/et[identite/status=$status]" />
      </xsl:if>
      <xsl:if test="$status='*'">
        <xsl:apply-templates select="/liste_Et/et" />
      </xsl:if>
    </liste_Et>
 </xsl:template>
 <xsl:template match="et">
    <xsl:variable name="idEt" select="@id" />
     <ci:include
src="{concat('cocoon://ThES_test/Source/Source/',$URLLotus,'/Etudiant/Pole/',$pole,'/',$idEt,'.xml')}"
>
     </ci:include>
  </xsl:template>
</xsl:stylesheet>

---------------

Explication: Je recupere la liste complete des etudiants, puis avec le Cinclude,
je recupere tout les informations de chaque Etudiant pour mettre dans un seul
fichier XML pour faire après d'autre traitement.

Le Problème est que j'ai environ 2000 étudiants donc pour recuperer le fichier
de sortir il me faut environ 10min à 20min donc ce n'est pas trop terrible.

Je recherche trouver la meillieur solution pour optimiser, mais je ne trouve pas
de solution :-(



Nb: Entre le serveur (Serveur Lotus Notes) que je recupere les données XML et le
serveur cocoon, il y a une connexion de 10 Mbits.
Le fichier XML de sortie fait environ 2Mo.

Emmanuel FRANCISCO


---------------------------------------------------------------------
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