This is the mail archive of the xsl-list@mulberrytech.com mailing list .


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

RE: Re[2]: Aggregate


> > I would like to know if we can find out Maximum and Minumum 
> of a element in
> > a xml file using xsl or any other XML technologes.
> 
> The best way involves an XPath: the minimum value is the value of the
> node such that there are no other nodes that have a value less than
> that value; the maximum is the value of the node such that there are
> no other nodes with a value *more* than that value.
> 
> So, to find the maximum of the 'in' elements, use:
> 
>   in[not(parent::TIME/in > .)]

Hadn't seen that one before, thanks, Jeni.

But I'd express caution, certainly for large node-sets. This is likely to be
an O(n-squared) solution (it certainly is in Saxon). Doing an XSLT sort and
extracting the first or last element is likely to be O(n*log(n)). Doing a
recursive walk of the node-set as described in XSLT Prog Ref page 171 is
likely to be O(n).

And of course there's always saxon:highest() and saxon:lowest().

Mike Kay


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

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]