For what it's worth, please note that in XSLT 2.0, there will be
get-month-from-date
get-month-from-dateTime
which will return an integer between 1 and 12. I'd suggest that we
want to be compatible with that. The month value in gMonth and
related data types also ranges from 1 to 12.
Duration types are different. The function
get-months-from-yearMonthDuration
accepts an un-normalized duration (month part can be >12) and returns
the un-normalized month part it finds there. To my way of thinking,
it has no bearing on the current discussion, which is about points in
time rather than durations.
.................David Marston