It is possible to user the disable-output -escaping option but I have
read this can be dangerous as it is possible to write a malicious script
which would be executed on your server in some circumstances. Now I have
no idea if this is true or not but I did see some discussion about this
somewhere and several of the contributors suggested it could be
dangerous. I searched and eventually found some code which I have used
and it works very well. However, I am no expert so I just used it as it
was given. I've included the relevant extracts below. However, I can't
find the link to the page but here is the code that I used.
First a recursive function to remove markup. This would be embedded in
your code at a convenient location.
<xsl:template name="removeMarkup">
<xsl:param name="string" />
<xsl:choose>
<xsl:when test="contains($string, '<')">
<xsl:variable name="nextString">
<xsl:call-template name="removeMarkup">
<xsl:with-param name="string"
select="substring-after($string, '>')" />
</xsl:call-template>
</xsl:variable>
<xsl:value-of select="concat(substring-before($string,
'<'), $nextString)" />
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="$string" />
</xsl:otherwise>
</xsl:choose>
</xsl:template>
To use it you would include something like
<xsl:variable name="issueContent">
<xsl:call-template name="removeMarkup">
<xsl:with-param name="string" select="@Issue"/>
</xsl:call-template>
</xsl:variable>
In this example I have a column in the custom lists that I am rolling up
called "Issue". I can then use "issueContent" later in the code to
display the text with all markup removed.
I did not write this code and never in a month of Sundays would I claim
that I could. I would normally credit the author properly but as I said
I can't find the page where I found this and therefore can't find the
author either. If he or she reads this please accept my apologies for
this omission.