Name

[2.0] min()

Returns the smallest value in a given sequence.

Syntax

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

Input

A sequence of values. The optional collation is only used if the items in the sequence are xs:strings.

Output

The minimum value in the given sequence. The min() 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 smallest number, converting datatypes as necessary. Given a sequence of durations, the XSLT processor returns the shortest of those durations. Given a sequence of strings, the XSLT processor returns the string that appears first in sorted order.

The min() function assumes you’ll send it a sequence containing sensible data; if not, the XSLT processor throws an error. Asking for the minimum value in the sequence (xs:yearMonthDuration('P4Y2M'), 'strawberry', 3.14) returns an error, as you’d expect.

Some notes about how the min() function works are as follows:

  • To find the shortest 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 ...

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.