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

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