This is the mail archive of the
xsl-list@mulberrytech.com
mailing list .
RE: Node with maximum attribute value
- To: <xsl-list at mulberrytech dot com>
- Subject: RE: Node with maximum attribute value
- From: "Richard Birkby" <rbirkby at thundermain dot com>
- Date: Mon, 21 Feb 2000 19:19:17 -0000
- Reply-To: xsl-list at mulberrytech dot com
Maybe I didn't explain all of the problem so well.
I want to use the variable in an XPath outside of the xsl:for-each, ie in
another scope.
The following code works, but it could hardly be called elegant.
<!-- Iterate over a descending node-set -->
<xsl:for-each select="closing-price">
<xsl:sort data-type="number" select="@mid" order="descending"/>
<!-- Choose only the first node (ie largest) -->
<xsl:if test="position()=1">
<xsl:variable name="MaxValue" select="@mid" />
<!-- Now iterate over the list again in original sort order -->
<xsl:for-each select="closing-price">
<!-- Do Something with $MaxValue -->
</xsl:for-each>
</xsl:if>
</xsl:for-each>
Richard
ps Sorry about the encoding
> -----Original Message-----
> From: owner-xsl-list@mulberrytech.com
> [mailto:owner-xsl-list@mulberrytech.com]On Behalf Of David Carlisle
> Sent: 21 February 2000 18:05
> To: xsl-list@mulberrytech.com
> Subject: Re: Node with maximum attribute value
>
>
>
> why did you mime encode that?
>
> however...
>
> > My first idea was to use a sorted for-each, and assign a variable to
> > the maximum value, however variables cannot be reassigned. Is there
> > another way?
>
> use your first idea then use
>
> <xsl:if test="position()=last()">maximum = <xsl:value-of
> select="@mid"/></xsl:if>
>
> as the template body of the for-each.
>
> David
>
>
> XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list