xsl-list
[Top] [All Lists]

RE: accessing CDATA from XSL

2002-12-23 00:36:39
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



<Prev in Thread] Current Thread [Next in Thread>