[XSL-LIST Mailing List Archive Home]
[By Thread]
[By Date]
Re: [xsl] Counting elements with count() and position()
Subject: Re: [xsl] Counting elements with count() and position() From: "Rudi Starcevic" <rudi@xxxxxxxxxxxx> Date: Thu, 10 Jul 2003 23:40:05 +1000 |
Thanks Jeni, That reply was much more than I had hoped for. One problem - 4 solutions. I do get a buzz working at home through your 'StarTrek' counting examples in Begining XSLT then posting a question and getting a reply 10 mins. later from the author herself. I look forward to completing this book and moving onto the one beside it 'XSLT and XPATH On The Edge'. Many thanks, Best regards Rudi. > > You need to do one of the following: > > 1. Use the last() function in your address template to give you the > count of the number of nodes "currently being processed". Since all > the nodes are <address> elements, this will give you the count that > you need: > > <xsl:template match="address"> > <tr> > <xsl:choose> > <xsl:when test="position() = 1"> > <td class="title"> > <xsl:choose> > <xsl:when test="last() > 1">urls:</xsl:when> > <xsl:otherwise>url:</xsl:otherwise> > </xsl:choose> > </td> > </xsl:when> > ... > </xsl:choose> > ... > </tr> > </xsl:template> > > 2. Make the variable global, so that it's in-scope everywhere. At the > top level of the stylesheet, add: > > <xsl:variable name="addresscount" > select="count(/webapps/website/address)" /> > > 3. Calculate the value for the variable within the address template: > > <xsl:template match="address"> > <xsl:variable name="addresscount" select="count(../address)" /> > ... > </xsl:template> > > 4. Pass the value of $addresscount as a parameter into the address > template. The address template needs to declare the parameter: > > <xsl:template match="address"> > <xsl:param name="addresscount" /> > ... > </xsl:template> > > and you need to pass it when you apply templates to the <address> > elements: > > <xsl:apply-templates select="address"> > <xsl:with-param name="addresscount" select="$addresscount" /> > </xsl:apply-templates> > > Cheers, > > Jeni > > --- > Jeni Tennison > http://www.jenitennison.com/ XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: [xsl] Counting elements with co, Jeni Tennison | Thread | RE: [xsl] Counting elements with co, Jarno . Elovirta |
Re: [xsl] Counting elements with co, Jeni Tennison | Date | RE: [xsl] java Regex call, David . Pawson |
Month |