FAQ,
> 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:
> <queries><abc>123</abc></queries>
You didn't have markup in the first place, so you don't get markup in the output either.
> I would like to retain the markup in the output
> (<queries><abc>123</abc></queries>).
> Is there any way to achieve this using a xalan/xerces parser.
No, because "<queries>..." is not markup inside CDATA section, it's just text. If you want to output the text node in a CDATA section, use cdata-section-elements attribute in xsl:output with the value of the name of the element inside which the text appears, e.g. if the output element is "foo", the use
<xsl:output cdata-section-elements="foo"/>
But again, note that
<foo><![CDATA[<queries><abc>123</abc></queries>]]></foo>
and
<foo><queries><abc>123</abc></queries></foo>
are equal.
Cheers,
Jarno
|