RE: [xsl] Retaining XML output

Subject: RE: [xsl] Retaining XML output
From: "Michael Kay" <mhk@xxxxxxxxx>
Date: Wed, 7 Apr 2004 13:59:56 +0100
> My XML looks like
> <x>
>      <y y1="somexml"><![CDATA[<queries><abc>123</abc></queries>]]></y>
> </x>
> 
> and my xsl snippet is
>     <xsl:value-of select="y[@y1='somexml']"/>
> 
> Now, when I run it through a transformation, I get an output 
> without the
> markup:
> &lt;queries&gt;&lt;abc&gt;123&lt;/abc&gt;&lt;/queries&gt;
> 
> I would like to retain the markup in the output
> (<queries><abc>123</abc></queries>).

There is no markup in your CDATA section. That's what CDATA sections are
for: to tell the system that although it looks like markup, it isn't markup,
it is ordinary data. If you want it treated as markup, don't put it in a
CDATA section.

On the other hand, lots of people abuse CDATA in this way, and
disable-output-escaping can rescue you in these situations.

Michael Kay

Current Thread