Name

[2.0] max()

Returns the largest value in a given sequence.

Syntax

xs:anyAtomicType max(xs:anyAtomicType*)
xs:anyAtomicType max(xs:anyAtomicType*, $collation as xs:string)

Input

A sequence of values.

Output

The maximum value in the given sequence. The max() function works with the following types of values: numeric values (xs:integer, xs:double, xs:decimal, and xs:float), xs:string, xs:boolean, xs:date, xs:dateTime, xs:time, xs:yearMonthDuration, and xs:dayTimeDuration (but not xs:duration).

Given a sequence of numeric values, the XSLT processor returns the largest number, converting datatypes as necessary. Given a sequence of durations, the XSLT processor returns the longest of those durations. Given a sequence of strings, the XSLT processor returns the string that appears last in sorted order.

The max() function assumes you’ll send it a sequence containing sensible data; if not, the XSLT processor throws an error. Asking for the maximum value in the sequence (xs:dayTimeDuration('P3DT8H17M'), 38, 'football') returns an error, as you’d expect.

Details about how the max() function works are as follows:

  • To find the longest of a sequence of durations, the values must all be xs:dayTimeDurations, or they must all be xs:yearMonthDurations. You can’t mix the two types of durations; if you do, the XSLT processor throws an error.

  • If any of the items in the sequence are of type xs:untypedAtomic, the XSLT processor attempts to cast it to xs:double. If the item can’t be converted to xs:double, the ...

Get XSLT, 2nd Edition now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.