IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

XSL/XSLT/XPATH XML Discussion :

[XSL] Prob. de tri sur un template


Sujet :

XSL/XSLT/XPATH XML

  1. #1
    Membre à l'essai
    Inscrit en
    Février 2004
    Messages
    15
    Détails du profil
    Informations forums :
    Inscription : Février 2004
    Messages : 15
    Points : 15
    Points
    15
    Par défaut [XSL] Prob. de tri sur un template
    Bonjour,

    voilà je souhaite faire un tri au sein d'une balise <for:each...>.
    Pour cela j'utilise la balise <xsl:sort..>.
    D'abord mon fichier xml :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    <racine>
    	<row acs="1.7" libelle="Morteau CRD" 
    	indicateur1="Truc" valeur1="13" unite1="" 
    	indicateur2="Machin" valeur2="50" unite2="" 
    	indicateur3="Chose" valeur3="47" unite3="" 
    	indicateur4="Bordel" valeur4="190" unite4="" />
    </racine

    Voici la partie du xsl posant problème :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    	<xsl:for-each select="racine/row">
    	<xsl:sort select="@indicateur1" order="ascending" data-Type="number"/>
    		<tr>		
    			<td class="11px" align="center"><xsl:value-of select="@libelle"/></td>
     
    <!-- template générant les autres colonnes-->
    			<xsl:call-template name="colonne">
    				<xsl:with-param name="debut" select="1" />
    				<xsl:with-param name="fin" select="$nbColonne" />
    			</xsl:call-template>
     
    		</tr>
    	</xsl:for-each>
    Si j'effectue un tri sur le "libelle" -> aucun prob.
    Par contre si j'effectue un tri sur 'indicateur1', colonne construite dans le template, --> pas de tri. Ca marche pas.
    Voici mon template :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
     
    <xsl:template name="colonne">
    	<xsl:param name="debut" select="0" />
    	<xsl:param name="fin" select="0" />
     
    	<xsl:param name="nomValeur" select="concat('valeur',$debut)" />
    	<xsl:param name="nomUnite" select="concat('unite',$debut)" />
     
    	<!-- colonne du tableau -->
    	<td class="11px" align="right"><xsl:value-of select="@*[name()=$nomValeur]"/><xsl:text> </xsl:text>
    								   <xsl:value-of select="@*[name()=$nomUnite]"/></td>
     
    	<xsl:if test="$debut &lt; $fin">
    		<xsl:call-template name="ligne">
    			<xsl:with-param name="debut" select="($debut)+1" />
    			<xsl:with-param name="fin" select="$fin" />
    		</xsl:call-template>
    	</xsl:if>
    </xsl:template>
    Je suis obligé d'utiliser ce template pour fabriquer de manière générique mes colonnes. En effet le nombre d'attributs 'indicateur', 'valeur' et 'unite' est indétermminé.

    Si quelqu'un a une idée ... merci !

  2. #2
    Membre à l'essai
    Inscrit en
    Février 2004
    Messages
    15
    Détails du profil
    Informations forums :
    Inscription : Février 2004
    Messages : 15
    Points : 15
    Points
    15
    Par défaut
    C bon j'ai trouvé, problème de logique...
    Le tri marche bien avec les templates. Autant pour moi.

    Mille excuse pour ceux qui se sont creusés la tête...

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 5
    Dernier message: 21/04/2004, 11h43
  2. Tri sur code hiérarchique
    Par cafou33 dans le forum SQL
    Réponses: 5
    Dernier message: 22/03/2004, 17h19
  3. Tri sur DBgrid
    Par julien41 dans le forum Bases de données
    Réponses: 21
    Dernier message: 19/02/2004, 17h33
  4. tri sur la xème colonne
    Par r-zo dans le forum Langage SQL
    Réponses: 5
    Dernier message: 23/07/2003, 13h41
  5. [VB6] [MSHFlexGrid] Tri sur clic dans la première ligne
    Par degreste dans le forum VB 6 et antérieur
    Réponses: 5
    Dernier message: 06/03/2003, 00h42

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo