Subject: RE: Calculating cumulative values and min/max
From: "Simon Shutter" <simon@xxxxxxxxxxx>
Date: Wed, 13 Jun 2007 07:06:26 -0700
|
Thanks, Andrew!
-----Original Message-----
From: Andrew Welch [mailto:andrew.j.welch@xxxxxxxxx]
Sent: June 13, 2007 2:00 AM
To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx
Subject: Re: Calculating cumulative values and min/max
On 6/13/07, Simon Shutter <simon@xxxxxxxxxxx> wrote:
> a) in the predicate [@x = current()/@x], why is current node used and not
> the context node used? I guess I'm confused at to which @x is which in
the
> predicate.
current() returns the current node from outside of the the XPath, so
if you have:
parent::*[@x = current()/@x]
then you are comparing @x on the parent node (the first @x in the
predicate), and @x on the node thats currently being matched (the
second @x).
Its the same as maintaining the pointer yourself:
<xsl:variable name="this" select="."/>
<xsl:value-of select="parent::*[@x = $this/@x"/>
> b) is it possible to calculate min/max values is this only possible in
> XSLT/XPATH 2.0?
You can do it in 1.0 by sorting the values and picking the first/last:
http://www.dpawson.co.uk/xsl/sect2/N5121.html#d7114e427
...but yes in 2.0 there's min() and max()
cheers
andrew
|