I've one XML and trying to access the specific CDATA on XML
There's no such thing as a CDATA node in the XPath data model: the text that
you write in CDATA sections in your input ends up in ordinary text nodes.
But that's not directly relevant to your problem.
but when do
this, I capture all CDATAs nodes. See the XML and XSL code bellow:
// -----------------------------xml -----------------------------
<?xml version="1.0" encoding="UTF-8"?>
<scripts>
<etps total="1">
<etp id="200">
<![CDATA[Trying accessing only this]]>
<nvgs>
<nvg id="201"><![CDATA[blablablablabla]]></nvg>
<nvg id="202"><![CDATA[blablablablabla]]></nvg>
</nvgs>
</etp>
</etps>
</scripts>
// -----------------------------xsl -----------------------------
//code's resume
<xsl:choose>
<xsl:when test="scripts/etapas/@total>0">
<table width="100%" id="SCRIPT">
<tr valign="top" style="font-weight:bold;">
<th width="40%">etp</th>
<th width="20%">nvg</th>
</tr>
<xsl:for-each select="scripts/etapas/etapa">
Should I be reading this as select="scripts/etps/etp"?
<tr valign="top">
<td comment="ETP">
<xsl:value-of select="."/>
"." here gives you the string value of the context node (which is an
element): the string value of an element is the concatenation of all its
descendant text nodes. If you just want the value of the first child text
node, use select="text()[1]". Note however that this will give you the
whitespace characters that were outside the CDATA section as well as the
characters that were within it - there's no way of separating the two.
Michael Kay
http://www.saxonica.com/
--~------------------------------------------------------------------
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--