Hi
> > I have an xml file which has got a CDATA in it for eg:
> > <parent>
> > <child>.... </child>
> > < ! [ CDATA[ hi how r u .....]]>
> > </parent>
> >
> > so from my xsl i want to access the content of the CDATA
> > ie .. i how do i do that ie
> > <xsl:template match="Parent">
> > <xsl:value-of select="."/>
> > i want the CDATA value here
> > so how do i do that
> > mukund
>
> <xsl:value-of select="text()"/> will return the text of the
> parent element,
> without including the text of the <child> element.
That will select only whitespace. Instead use.
<xsl:value-of select="text()[position() = last()]"/>
This however, also selects the line feeds after the child element and the last line feed inside parent; the XPath datamodel will not retain the CDATA section, but rather has a text node for it, with immediately preceding and following text nodes concatenated.
> In this context <xsl:value-of select="."/> is equivalent to:
> <xsl:value-of select=".//text()"
Again, that would select whitespace.
Cheers,
--
Jarno - Front Line Assembly: New Year's Day (U2 cover)
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
|