Bonjour,

Je cherche a faire un str_replace dans une feuille xsl.
J'ai utilisé le template str.replace propose par www.exslt.org/st dans une feuille xsl sans résultat.

Est-ce que je pourrais trouver une fonction de ce type dans les class proposées par www.jclark.com/xt ?

Quelqu’un a-t-il une solution ou une piste de recherche.
Merci des réponses.

Maurice
Modifié par mdisc (11 Apr 2007 - 20:54)
Bonjour,

si tu veux faire le remplacement de certains caractères (accents nottement) tu peux utiliser la fonction translate.

Ex:

<xsl:value-of select="translate(string,'éèêûüàâôöïî','eeeuuaaooii')"/>


Pour ce qui est d'elements plus complets, je ne m'en suis jamais servit donc je ne sais pas.


Voilà, avec de la chance c'est de ça dont tu avais besoin !
Bonjour,

J'ai trouvé une solution avec un template
@+

<xsl:template name="string-replace">
	<xsl:param name="str" />
   	<xsl:param name="search" />
	<xsl:param name="replace" />
	<xsl:choose>
		<xsl:when test="$search and contains($str, $search)">
			<xsl:value-of select="substring-before($str, $search)" />
			<xsl:value-of select="$replace" />
			<xsl:call-template name="string-replace">
   				<xsl:with-param name="str" select="substring-after($str, $search)" />
   				<xsl:with-param name="search" select="$search" />
   				<xsl:with-param name="replace" select="$replace" />	
			</xsl:call-template>
		</xsl:when>
		<xsl:otherwise>
			<xsl:value-of select="$str" />
		</xsl:otherwise>
	</xsl:choose>
</xsl:template> 

Modifié par mdisc (11 Apr 2007 - 22:04)