1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36
| <xsl:template name="Replace">
<!--remplace une chaine par une autre-->
<xsl:param name="chaine"/>
<xsl:param name="chaineCherche"/>
<xsl:param name="chaineRempl"/>
<xsl:param name="Occur"/>
<!--si Occur n'est pas rempli il remplace toutes les occurences-->
<xsl:choose>
<xsl:when test="contains($chaine,$chaineCherche) ">
<xsl:choose>
<xsl:when test="number($Occur)=0">
<xsl:value-of select="$chaine"/>
</xsl:when>
<xsl:when test="$Occur>0">
<xsl:call-template name="Replace">
<xsl:with-param name="chaine" select="concat(substring-before($chaine,$chaineCherche),$chaineRempl,substring-after($chaine,$chaineCherche))"/>
<xsl:with-param name="chaineCherche" select="$chaineCherche"/>
<xsl:with-param name="chaineRempl" select="$chaineRempl"/>
<xsl:with-param name="Occur" select="$Occur - 1"/>
</xsl:call-template>
</xsl:when>
<xsl:otherwise>
<xsl:call-template name="Replace">
<xsl:with-param name="chaine" select="concat(substring-before($chaine,$chaineCherche),$chaineRempl,substring-after($chaine,$chaineCherche))"/>
<xsl:with-param name="chaineCherche" select="$chaineCherche"/>
<xsl:with-param name="chaineRempl" select="$chaineRempl"/>
</xsl:call-template>
</xsl:otherwise>
</xsl:choose>
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="$chaine"/>
</xsl:otherwise>
</xsl:choose>
</xsl:template> |
Partager