This is an archived snapshot of W3C's public bugzilla bug tracker, decommissioned in April 2019. Please see the home page for more details.
Consider the dateTime of the last leap second: 1998-12-31T23:59:60Z (P) This instant in time can also have the lexical representation of, for example, 1998-12-31T22:59:60-01:00 (Q) Section 3.2.7.3 defines the algoritm for comparing two dateTimes as follows: "A.Normalize P and Q. That is, if there is a timezone present, but it is not Z, convert it to Z using the addition operation defined in Adding durations to dateTimes (E)" Now in our example P has a Z timezone, but Q doesn't, so we need to normalize Q to Z using Appendix E. But E.1 says: "Leap seconds are handled by the computation by treating them as overflows. Essentially, a value of 60 seconds in S is treated as if it were a duration of 60 seconds added to S (with a zero seconds field). All calculations thereafter use 60 seconds per minute." This implies that Q is first mapped into: 1998-12-31T23:00:00-01:00 Then following the rest of algorithm in Appendix E, this will map into: 1999-01-01T00:00:00Z Now comparing: 1998-12-31T23:59:60Z and 1999-01-01T00:00:00Z we find that P < Q But P and Q represent the same value. So we have a contradiction: two lexical representations represent the same value, but the value represented by one lexical representation is less than the value represented by the other lexical representation. See: http://lists.w3.org/Archives/Public/www-xml-schema-comments/2002AprJun/0043.html
See http://lists.w3.org/Archives/Public/www-xml-schema-comments/2003AprJun/0020.html Discussed at the May 2003 f2f. Decided to classify as error w/erratum and come back later for detailed consideration.