I have an XSLT that transforms a XML to PLSQL
I need to escape the character: > (greater than)
ex:
P_C710_INT_PROFILE_ID =>
I tried using >
and putting the character in xsl:text with no luck
Any ideas?
Thanks
I have an XSLT that transforms a XML to PLSQL
I need to escape the character: > (greater than)
ex:
P_C710_INT_PROFILE_ID =>
I tried using >
and putting the character in xsl:text with no luck
Any ideas?
Thanks
There is no problem. This stylesheet (empty):
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="text"/>
</xsl:stylesheet>
Input:
<text>P_C710_INT_PROFILE_ID =></text>
Output:
P_C710_INT_PROFILE_ID =>
EDIT: Because your question is not clear, I'm adding a solution in case you want to output character entity under a xsl:output/@method="text" declaration.
This stylesheet:
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="text"/>
<xsl:template match="text()" name="text">
<xsl:param name="text" select="."/>
<xsl:if test="$text != ''">
<xsl:variable name="first" select="substring($text,1,1)"/>
<xsl:choose>
<xsl:when test="$first = '>'">&gt;</xsl:when>
<xsl:otherwise>
<xsl:value-of select="$first"/>
</xsl:otherwise>
</xsl:choose>
<xsl:call-template name="text">
<xsl:with-param name="text" select="substring($text,2,(string-length($text)-1) div 2 + 1)"/>
</xsl:call-template>
<xsl:call-template name="text">
<xsl:with-param name="text" select="substring($text,(string-length($text)-1) div 2 + 3)"/>
</xsl:call-template>
</xsl:if>
</xsl:template>
</xsl:stylesheet>
Output:
P_C710_INT_PROFILE_ID =>
This relate to http://stackoverflow.com/questions/3289871/render-escaped-xml-on-browser/3290631
Thank everyone but the correct answer is this:
<xsl:text disable-output-escaping="yes">></xsl:text>