## Re: [saxon] xs:dateTime, plus sign is not permitted

 Re: [saxon] xs:dateTime, plus sign is not permitted From: Frans Englich - 2006-02-07 18:49:07 ```On Tuesday 24 January 2006 12:14, Frans Englich wrote: > Hi, > > I think I've found a bug in the handling of lexical representations of > xs:dateTime. The following expression compiles: xdt:yearMonthDuration("P3Y36M") div xs:double("INF") xdt:yearMonthDuration("P3Y36M") div xs:double("-INF") xdt:dayTimeDuration("P3D") div xs:double("INF") xdt:dayTimeDuration("P3D") div xs:double("-INF") All evaluates to P0M and PT0S, respectively. The descriptions for op:multiply-dayTimeDuration and=20 op:multiply-yearMonthDuration reads: If \$arg2 is positive or negative infinity, the result overflows and is hand= led=20 as discussed in 10.1.1 Limits and Precision. 10.1.1 Limits and Precision reads: If a processor limits the number of digits allowed in the representation of= =20 xs:integer and xs:decimal then overflow and underflow situations can arise= =20 when it tries to execute the functions in 10.6 Arithmetic Functions on=20 Durations. In these situations the processor =B7must=B7 return zero in case= of=20 numeric underflow and P0M or PT0S in case of duration underflow. It =B7must= =B7=20 raise an error [err:FODT0002] in case of overflow. My conclusion is that for all the above expressions should FODT0002 be rais= ed=20 because overflows happens(for duration underflow P0M/PT0S is in order). Am = I=20 seeing this the right way? Frans ```