Bonjour,
J'ai un fichier XML qui se présente sous la forme suivante :
Sur base de ce fichier XML, je veux créer un template XSL qui me permet d'afficher X tableaux :
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 <Root> <Vagues> <Vague Id=1 ...> <kpi ca=100 qte=5/> </Vague> <Vague Id=2 ...> <kpi ca=100 qte=5/> </Vague> ... <Vague Id=n ...> <kpi ca=100 qte=5/> </Vague> </Vagues> </Root>
1. Vision de toutes les vagues
2. Vague 1
3. Vague 2
...
N. Vague N
Pour ça, j'ai créé un template de la façon suivante :
Ce que je voudrais c'est passer dans pVagueId :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 <xsl:template name="DetailVague"> <xsl:param name="pVagueId" select="0"/> <xsl:variable name="vCA" select="sum(/Root/Vagues/Vague[@Id=$pVagueId]/kpi/@ca)"/> </xsl:template>
- Soit "Toutes" pour avoir le CA de toutes mes vagues, quel que soit l'id
En gros, avoir [@Id=@*]
- Soit une vague pour avoir le CA de celle-ci uniquement, c'est-à-dire un id donné
En gros, avoir [@Id=1]
Mon problème, c'est que je ne parviens pas à variabiliser le @*... J'ai écrit l'instruction ci-dessous, mais ça ne fonctionne pas...
J'ai également essayé de la mofier avec des "{ }" ou des "[ ]" mais rien n'y fait...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 <xsl:variable name="vSelectionVague"> <xsl:choose> <xsl:when test="$pVagueId='Toutes'"> @* </xsl:when> <xsl:otherwise> <xsl:value-of select="$pVagueId"/> </xsl:otherwise> </xsl:choose> </xsl:variable> <xsl:variable name="vCA" select="sum(/Root/Vagues/Vague[@Id=$vSelectionVague]/kpi/@ca)"/>
Est-ce que qqn aurait une idée pour me débloquer svp ?
Vous remerciant par avance pour votre aide.
Partager