Bonjour,
J'ai besoin de faire une XSLT à laquelle je passe en paramètre le chemin d'une balise, une valeur cible et une condition :
but : remplacer la valeur de la balise par valCible si le contenu de nomElement = conditionTrue

MAis ça ne fonctionne pas.
Auriez-vous une idée?

Merci d'avance.

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
<xsl:param name="nomElement">Nom_Element</xsl:param>
	<xsl:param name="valCible">Valeur Cible</xsl:param>
	<xsl:param name="conditionTrue">Condition</xsl:param>
	<xsl:template match="node() | @*">
		<xsl:copy>
			<xsl:choose>
				<xsl:when test="name()=$nomElement">
				<xsl:if test=".=$conditionTrue"><xsl:value-of select="$valCible"></xsl:value-of></xsl:if>
				<xsl:if test=".!=$conditionTrue"><xsl:apply-templates select="@* | node()"/></xsl:if>
				</xsl:when>
				<xsl:otherwise>
					<xsl:apply-templates select="@* | node()"/>
				</xsl:otherwise>	
			</xsl:choose>
		</xsl:copy>
	</xsl:template>