Вероятно, вам следует использовать регулярные выражения, если у вас есть XSLT 2.0 или EXSLT.
Следующий код является чистым решением XSLT 1.0.
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="xml" indent="yes"/>
<xsl:strip-space elements="*"/>
<xsl:param name="some-param" select=" 'ololo' "/>
<xsl:template match="@* | node()">
<xsl:copy>
<xsl:apply-templates select="@* | node()"/>
</xsl:copy>
</xsl:template>
<xsl:template match="EmailBody">
<xsl:copy>
<xsl:value-of select="substring-before(., '{$Tckt_Cd$}')"/>
<xsl:value-of select="$some-param"/>
<xsl:value-of select="substring-after(., '{$Tckt_Cd$}')"/>
</xsl:copy>
</xsl:template>
</xsl:stylesheet>
Используется с , действительным Ввод XML:
<root>
<EmailBody> <lt;p<gt;Ticket {$Tckt_Cd$}<lt;/p<gt </EmailBody>
</root>
Создает этот результат:
<root>
<EmailBody> <lt;p<gt;Ticket ololo<lt;/p<gt </EmailBody>
</root>