RE: [xsl] Getting node w/ lowest attribute value

Subject: RE: [xsl] Getting node w/ lowest attribute value
From: "Bordeman, Chris" <Chris.Bordeman@xxxxxxxxxxxxxxxxx>
Date: Sat, 16 Aug 2008 12:42:48 -0500
Cool, thanks Mukul, now how do I get the 2nd lowest?

-----Original Message-----
From: Mukul Gandhi [mailto:gandhi.mukul@xxxxxxxxx]
Sent: Friday, August 15, 2008 1:10 PM
To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx
Subject: Re: [xsl] Getting node w/ lowest attribute value

Please try this,

addresses/address[(@IsActive = 'true') and (@NumOrder =
min(../address[@IsActive = 'true']/@NumOrder))][1]

This uses the XPath 2.0 function, 'min'.

On Fri, Aug 15, 2008 at 11:22 PM, Bordeman, Chris
<Chris.Bordeman@xxxxxxxxxxxxxxxxx> wrote:
> Hi all.
>
> I have some nodes like:
>
> <addresses>
>    <address IsActive="false" NumOrder=1>[...]</address>
>    <address IsActive="true" NumOrder=3>[...]</address>
>    <address IsActive="true" NumOrder=2>[...]</address> </addresses>
>
> How do I get the first address node where IsActive=true AND has the
> lowest value for the NumOrder attribute?
>
> In the above case I'd want the 3rd address node (IsActive="true" and
> NumOrder=2).
>
> Any assistance would be appreciated.  Thanks.

Current Thread