Ik heb een stukje code (gevonden) dat er voor zorgt dat een string vervangen wordt door een andere string. Dat werkt goed, alleen nu wil ik dat de string vervangen wordt door een string die HTML bevat en daar kom ik niet uit.
De XSL moet dus alle '2' vervangen worden door '<b>2</b>' maar als ik HTML code gebruik in de XSL dan flipt de pagina (krijg een witte pagina, dus ook geen error). Hoe kan ik HTML gebruiken in deze functie?
Hier roep ik de replace template aan:
En dit is de replace template:
De XSL moet dus alle '2' vervangen worden door '<b>2</b>' maar als ik HTML code gebruik in de XSL dan flipt de pagina (krijg een witte pagina, dus ook geen error). Hoe kan ik HTML gebruiken in deze functie?
Hier roep ik de replace template aan:
code:
1
2
3
4
5
6
7
8
9
| <xsl:variable name="myString" select="@naam"/>
<xsl:variable name="myNewString">
<xsl:call-template name="replaceCharsInString">
<xsl:with-param name="stringIn" select="string($myString)"/>
<xsl:with-param name="charsIn" select="'2'"/>
<xsl:with-param name="charsOut" select="'<b>2</b>'"/>
</xsl:call-template>
</xsl:variable>
<xsl:value-of select="$myNewString" /> |
En dit is de replace template:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
| <!-- here is the template that does the replacement -->
<xsl:template name="replaceCharsInString">
<xsl:param name="stringIn"/>
<xsl:param name="charsIn"/>
<xsl:param name="charsOut"/>
<xsl:choose>
<xsl:when test="contains($stringIn,$charsIn)">
<xsl:value-of select="concat(substring-before($stringIn,$charsIn),$charsOut)"/>
<xsl:call-template name="replaceCharsInString">
<xsl:with-param name="stringIn" select="substring-after($stringIn,$charsIn)"/>
<xsl:with-param name="charsIn" select="$charsIn"/>
<xsl:with-param name="charsOut" select="$charsOut"/>
</xsl:call-template>
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="$stringIn"/>
</xsl:otherwise>
</xsl:choose>
</xsl:template> |