XPath contains numerous functions. Some of the ones I use most include:
Yes! There are more than this!
Conversion functions items and turn them into something else.
Context functions tell you something about your context in the document
DateTime functions enable you to manipulate dates
//date[month-from-dateTime(@when)='02']
Duration functions enable you to work with time as a duration
//date[days-from-duration(@dur)=3
Date and Time functions enable you to work with dates that are not datetimes
//person[year-from-date(birth/@when)=1985]
Timezone functions enable you to get timezones from dates, or change dates to timezones
//date[timezone-from-date(@when)='-PT5H']
//div[not(@type='act')]
//*[local-name()='date']
index-of ((15, 40, 25, 10), 40) = 2
distinct-values(//*/@rend)
string(@when)
substring-before(substring-after(@when), '-'), '-')
//div[lower-case(@type='chapter')]
//ref[not(starts-with(@target, 'http')]
tokenize(string(@when), '-')