xsl-list
[Top] [All Lists]

Re: Unable to get text() of node

2006-01-21 07:44:02
Hi Liron,
  I think you need

<?xml version="1.0"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"; version="1.0">

<xsl:output method="xml" indent="yes" />

<xsl:template match="/">
   <tree>
     <xsl:for-each select="tree/child/childname">
       <childText>
         <xsl:value-of select="../text()[2]"/>
       </childText>
     </xsl:for-each>
   </tree>
</xsl:template>

</xsl:stylesheet>

Regards,
Mukul

On 1/21/06, Liron <magilam(_at_)netvision(_dot_)net(_dot_)il> wrote:
Hello,

I'm a very new member (just joined) to this mailing list and to xsl in
general so I hope I can get some help here. Please be patient :)

I have the following xml content:

<tree>
  <child>First Child</child>
  <child>
     <childname>SecondChild</childname>
     Second Child
  </child>
  <child>
     <childname>ThirdChild</childname>
     Third Child
  </child>
</tree>

I want to create a xsl that will return a tree with just the text of each
<child> node without the text of any descendents. I tried using this xsl:

<?xml version='1.0' encoding='utf-8'?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform";>
<xsl:output method="html"/>
<xsl:template match="/">
<tree>
  <xsl:for-each select="tree/child/childname">
     <childText>
        <xsl:value-of select="../text()"/>
     </childText>
  </xsl:for-each>
</tree>
</xsl:template>
</xsl:stylesheet>

I'm selecting only nodes that have a childname child (not interested in
nodes that don't)
and I'm trying to get the text() of the parent. The output is in fact 2
nodes as expected but they're empty.
If I choose "tree/child" in the loop and use "text()" as value of I get 3
nodes back where only the first has a value which leads me to believe that
the text in the other
children is not really considered as text. What's the right syntax for the
results I'm expecting?
Just to make things clear - I'm expecting this output:

<tree>
  <childText>Second Child</childText>
  <childText><Third Child</childText>
</tree>


Thank you very much
Liron

--~------------------------------------------------------------------
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>
--~--