Subject: RE: [xsl] Current node position From: "Michael Kay" <mhk@xxxxxxxxx> Date: Wed, 11 Jun 2003 21:37:37 +0100 |
Your code will work if its called with <xsl:apply-templates select="date"/> rather than <xsl:apply-templates select="*"/> because position() is the position in the list of nodes selected by the apply-templates. I would suggest using last() rather than count(../date), my guess is it would be more efficient, but that depends on the processor. Michael Kay > -----Original Message----- > From: owner-xsl-list@xxxxxxxxxxxxxxxxxxxxxx > [mailto:owner-xsl-list@xxxxxxxxxxxxxxxxxxxxxx] On Behalf Of jwhitney > Sent: 11 June 2003 19:55 > To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx > Subject: [xsl] Current node position > > > Hello, > > I'm trying to generate html code for "Date 1 of 2", "Date 2 > of 2", etc., from > XML as below: > > <a> > <b/> > <c/> > <date>text</date> > <date>text again</date> > </a> > > from within a template that matches "d". The following > stylesheet fragment: > > <xsl:template match="d"> > <xsl:value-of select="position()" /> > <xsl:text> of </xsl:text> > <xsl:value-of select="count(../date)" /> > </xsl:template> > > produces "3 of 2" and "4 of 2". Is there a way to restrict > position() to > evaluate the <date> nodes only? How else could it be done? > > I'm new to XSLT, obviously. Thanks in advance for any help > with this. > > > > 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: [xsl] Current node position, Corey Wilson | Thread | RE: [xsl] XSLT real time use of XML, HEATH ALLISON |
RE: [xsl] attribute value templates, Michael Kay | Date | [xsl] redundancy in string(number(c, Robert P. J. Day |
Month |