Subject: RE: counting leaf nodes From: "Mike Ball" <mike.ball@xxxxxxxxxxxxxxxx> Date: Wed, 30 Aug 2000 17:00:29 +0100 |
Hi Perry <xsl:value-of select="count(descendant::*[not(child::*)])"/> gives the count of leaf elements below the current element. Or <xsl:value-of select="count(descendant::su[not(child::*)])"/> if you only want ot count "su"s. There may however be more efficient/elegant ways, I'm no guru. Hope that helps Mike Ball Application Services Consultant Software AG UK > -----Original Message----- > From: owner-xsl-list@xxxxxxxxxxxxxxxx > [mailto:owner-xsl-list@xxxxxxxxxxxxxxxx]On Behalf Of Perry Roland > Sent: 30 August 2000 16:03 > To: xsl-list@xxxxxxxxxxxxxxxx > Subject: counting leaf nodes > > > > Hi, > > I need some help with an expression that will count the leaf > nodes on a given branch. Let's say I have XML like > > <su><!-- top level --> > <su><!-- 2nd level --> > <su><!-- 3rd level --> > <su><!-- 4th level --></su> > <su><!-- 4th level --></su> > <su><!-- 4th level --></su> > </su> > </su> > <su><!-- 2nd level --> > <su><!-- 3rd level --></su> > <su><!-- 3rd level --></su> > <su><!-- 3rd level --></su> > </su> > </su> > > My goal is to be able to output this as an HTML table like > > <TABLE BORDER=1> > <TR><TD COLSPAN=6>*</TD></TR> <!-- top level --> > <TR><TD COLSPAN=3>*</TD><TD COLSPAN=3>*</TR> <!-- 2nd level --> > <TR><TD COLSPAN=3>*</TD><TD>*</TD><TD>*</TD><TD>*</TD></TR> <!-- > 3rd level --> > <TR><TD>*</TD><TD>*</TD><TD>*</TD></TR> <!-- 4th level --> > </TABLE> > > As I process each su element, in order to calculate the COLSPAN > attribute, I need to know how many su elements there are below the > current one that don't have su children themselves. > > Any help is appreciated. > > -- > perry > > > XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list > XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: counting leaf nodes, Nick Browne | Thread | XSL in Perl, Steve Morrison |
Re: XPATH expression, first child o, David Carlisle | Date | Re: running a for loop (eg.1 to 10), David Carlisle |
Month |