xsl-list
[Top] [All Lists]

RE: ACCESSING SPECIFIC CDATA FIELD

2005-12-13 08:21:48
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>
--~--