Bonjour,
J'ai un soucis dans le code suivant :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 <xsl:template name="elementRes"> <xsl:param name="compteur" /> <xsl:param name="hasEntete" /> <xsl:if test="$hasEntete = 'true'"> <entete></entete> </xsl:if> <xsl:element name = "{concat('Z',$compteur)}"> </xsl:element> </xsl:template>Je définis une variable nbElements qui va matcher le nombre écrit entre les balises <Nb_Element_Par_Page> et </Nb_Element_Par_Page> (élement fils de /Transaction/Res).
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 match="/Transaction/Res"> <xsl:variable name="nbElements" select="number(Nb_Element_Par_Page)"> </xsl:variable> <xsl:for-each select="/Transaction/listePrix/prix"> <xsl:call-template name="elementRes"> <xsl:variable name="compteurVar" select="position()"> </xsl:variable> <xsl:with-param name="compteur" select="$compteurVar" /> <xsl:choose> <xsl:when test="mod(nbElements , compteurVar - 1) = 0"> <xsl:with-param name="hasEntete" select="'true'"/> </xsl:when> <xsl:otherwise> <xsl:with-param name="hasEntete" select="'false'"/> </xsl:otherwise> </xsl:choose> </xsl:call-template> </xsl:for-each> </xsl:template>
Je boucle sur chaque prix, et pour chacun d'eux :
- je récupère dans compteurVar la position de celui-ci.
- je veux appeler un template elementRes avec certains paramètres (compteur et hasEntete).
Je constate que compteur est appelé correctement car j'arrive pour chaque élément à avoir les balises Z1, Z2...mais qaudn j'essaie d'appeler "hasEntete" avec true ou false, selon ma condition, j'ai une erreur de compilation de ma feuille xsl.
Une idée du soucis?
Merci :-)
Partager