Reputation: 2135
Is it possible to to a XSL transformation mit xsl:output method set to HTML but without using HTML entities in the output? The output should either use numeric entities or no entities at all (as i am using UTF-8 entities are not required).
Upvotes: 3
Views: 1059
Reputation: 23637
You can use disable-output-escaping
. Using this input:
<test>Café</test>
with this XSL stylesheet:
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
<xsl:output method="html" encoding="UTF-8"/>
<xsl:template match="test">
<xsl:copy>
<xsl:value-of select="."/>
</xsl:copy>
</xsl:template>
</xsl:stylesheet>
will render:
<test>Café</test>
But if you add disable-output-escaping="yes"
to <xsl:value-of>
:
<xsl:value-of select="." disable-output-escaping="yes"/>
you get:
<test>Café</test>
You might also get unescaped HTML if you use a transformer that doesn't escape HTML by default, such as Saxon 9. I also believe you can configure Xalan to not escape HTML entities by default.
You can try a different transformer which disables output escaping by default.
Upvotes: 2