[XSL-LIST Mailing List Archive Home] [By Thread] [By Date]

Re: [xsl] Current node position


Subject: Re: [xsl] Current node position
From: "G. Ken Holman" <gkholman@xxxxxxxxxxxxxxxxxxxx>
Date: Wed, 11 Jun 2003 15:27:14 -0400

At 2003-06-11 15:55 -0300, jwhitney wrote:
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".

What is key is those nodes that are being "pushed" using <xsl:apply-templates/>


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?

Yes, by restricting the processing to only push the date elements ... you would have something along the lines of the following in the processing of <a> in your example:


<xsl:apply-templates select="date"/>

How else could it be done?

Independently of using position(), by counting the given elements:


<xsl:number/>

... in which case it doesn't matter what nodes are being pushed because you aren't using position(). The above instruction will count the current node amongst like sibling nodes.

I hope this helps.

........ Ken

--
Upcoming hands-on courses: (registration still open!)
-      (XSLT/XPath and/or XSL-FO) North America: June 16-20, 2003

G. Ken Holman                mailto:gkholman@xxxxxxxxxxxxxxxxxxxx
Crane Softwrights Ltd.         http://www.CraneSoftwrights.com/m/
Box 266, Kars, Ontario CANADA K0A-2E0   +1(613)489-0999 (F:-0995)
ISBN 0-13-065196-6                      Definitive XSLT and XPath
ISBN 0-13-140374-5                              Definitive XSL-FO
ISBN 1-894049-08-X  Practical Transformation Using XSLT and XPath
ISBN 1-894049-11-X              Practical Formatting Using XSL-FO
Member of the XML Guild of Practitioners:    http://XMLGuild.info
Male Breast Cancer Awareness http://www.CraneSoftwrights.com/m/bc


XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list




Current Thread
Keywords