RE: [xsl] To avoid converting html entities

Subject: RE: [xsl] To avoid converting html entities
From: "Michael Kay" <mike@xxxxxxxxxxxx>
Date: Wed, 8 Jun 2005 21:36:32 +0100
> In my xml data source, I have the following element:
> 
> -------------
> <PostData>EK,,,,,75,,,,,DXB,,,,,CDG,,,,,20050901,,,,,1500,,,,,
20050901,,,,,2010,,,,,B,,,,,0,430,EK,,,,,74,,,,,CDG,,,,,DXB,,,,,20051001,,,,
,1530,,,,,20051002,,,,,10,,,,,B,,>
,,,0,400,300000,355000,0,0,0,0,AED,86270166,0,0,0,2,0,0,0,,&lt
> ;RulesInfo&gt;&lt;UniqueKey&gt;1&lt;/UniqueKey&gt;&lt;QuoteNum

...

yuk. If you have any chance at all of fixing the process that created this
horror, then do so.

> I want to select (and output) the above data, without converting the
> html entities above to < & >, etc.

The XML parser automatically converts &lt; to <, you can't prevent that. The
XSLT serializer normally converts < back to &lt;. You can prevent that, in
some circumstances, by using disable-output-escaping.
> 
> The xsl (snippet) is as follows:
> 
> <input type="hidden">
> <xsl:attribute name="value">
> <xsl:value-of select="PostData" disable-output-escaping="yes"/>
> </xsl:attribute>
> </input>
> 
> The output method is set to html... & I'm using MSXSL (i.e xslt 1.0)

You can't use disable-output-escaping when writing attribute values. And I'm
not sure why you want to. What HTML are you actually trying to create?

Michael Kay
http://www.saxonica.com/

Current Thread