27. februar 2006 - 14:18
Der er
1 kommentar og 1 løsning
Søg og erstat funktion
Jeg søger en løsning som kan erstatte et ord med et andet i XSL. Jeg er klar over at xsl translate kun erstatter enkelte karakterer. Det jeg går efter er noget i den her retning: <xsl:variable name="varPlayerconfig"> <xsl:value-of select="replace(playerconfig,'dude','girl')" /> </xsl:variable> Altså en funktion der tager 3 argumenter -> replace(text,find,replace) Jeg håber på at der allerede findes en færdigpakket løsning derude - kan da ikke være første gang nogen efterspørger dette? Tak for opmærksomheden. -mrjakel
Annonceindlæg fra Jobindex
28. februar 2006 - 13:21
#1
Her er svaret så for de langsomme: <xsl:variable name="varEditorconfig"> <xsl:call-template name="globalReplace"> <xsl:with-param name="outputString" select="gender"/> <xsl:with-param name="target" select="'dude'"/> <xsl:with-param name="replacement" select="'girl'"/> </xsl:call-template> </xsl:variable> <xsl:template name="globalReplace"> <xsl:param name="outputString"/> <xsl:param name="target"/> <xsl:param name="replacement"/> <xsl:choose> <xsl:when test="contains($outputString,$target)"> <xsl:value-of select="concat(substring-before($outputString,$target),$replacement)"/> <xsl:call-template name="globalReplace"> <xsl:with-param name="outputString" select="substring-after($outputString,$target)"/> <xsl:with-param name="target" select="$target"/> <xsl:with-param name="replacement" select="$replacement"/> </xsl:call-template> </xsl:when> <xsl:otherwise> <xsl:value-of select="$outputString"/> </xsl:otherwise> </xsl:choose> </xsl:template>