how to get child nodes in xsl

Posted by ppp on Stack Overflow See other posts from Stack Overflow or by ppp
Published on 2011-01-13T14:35:08Z Indexed on 2011/01/13 14:54 UTC
Read the original article Hit count: 301

Filed under:
|

here my code-

<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
 <xsl:template match="ArrayOfLinkEntity" name="bindLink">
  <ul>
   <xsl:for-each select="LinkEntity[ParentLinkId=0]">
     <li>
       <xsl:variable name="linkId" select="LinkId"/>
       <xsl:variable name="child" select="count(/ArrayOfLinkEntity/LinkEntity[ParentLinkId=$linkId])"/>
       <xsl:value-of select="$child"/>
       <xsl:choose>
         <xsl:when test="($child &gt; 0)">
           <a href="#"  data-flexmenu="flexmenu1" onclick="javascript:setPageLinkId({$linkId});">
             <xsl:value-of select="LinkTitle"/>
             <img src="../images/down.gif" border="0"/>
           </a>
         </xsl:when>

         <xsl:otherwise >
           <a href="#" onclick="javascript:setPageLinkId({$linkId});">
             <xsl:value-of select="LinkTitle"/>
           </a>
         </xsl:otherwise>
       </xsl:choose>
     </li>
   </xsl:for-each>
  </ul>
 </xsl:template>
</xsl:stylesheet>

but I am getting $child=0 always.but there exists children. my xml structure-

<ArrayOfLinkEntity xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
  <LinkEntity>
    <EntityId>00000000-0000-0000-0000-000000000000</EntityId> 
    <LinkId>1</LinkId> 
    <SequenceNo>1</SequenceNo> 
    <ParentLinkId>0</ParentLinkId> 
    <LinkTitle>Home</LinkTitle> 
    <SubLink />
  </LinkEntity> ...  
</ArrayOfLinkEntity>

What should I do? Please suggest.

© Stack Overflow or respective owner

Related posts about ASP.NET

Related posts about xslt