Amendment 2: Date range for the 1904 date base?

Chris Rae Chris.Rae at
Tue Jul 20 20:01:59 CEST 2010

Hi Rick et al - I think we (WG4) were generally heading towards being agnostic between 1904 and 1900 date base, so I'd rather not discourage its use. ODF allows an arbitrary date base to be set, so I think we have a precedent for allowing more than one. However, it's possible we weren't agreed on that so I don't want to speak for everyone.

As far as the range limits go, I might not be understanding quite right but I think we are already limiting them by value space. We're just limiting them by the "date" value space (i.e. years, months, days) rather than the value space of the serial numbers they turn into. I would strongly prefer limiting the date ranges in terms of the real dates, mainly because it's a lot easier for an implementer to parse user-entered dates and times when there are precise value-space limits on the dates and times themselves. It also echoes the profiling done by other implementers of date subsets (SQL, etc) - there's a bit more info about that in the presentation that Gareth and I showed to WG4 (


-----Original Message-----
From: rjelliffe at [mailto:rjelliffe at] 
Sent: 19 July 2010 22:40
To: e-SC34-WG4 at
Subject: Re: Amendment 2: Date range for the 1904 date base?

> It's also been pointed out to me that the 1904 date base has a 
> curtailed range - although the 1900 date base can go back to the year 
> -9999, the
> 1904 date base is stuck at 1904. I propose that, in strict, we allow 
> the
> 1904 date base to cover the same range as 1900 (years -9999 to 9999). 
> In transitional it should retain the same range as it had in Ecma-376 
> (and currently has in strict).
> Does anyone have any objections to these changes? The 1904 date base 
> is used a lot less than 1900 but there's no technological reason as to 
> why it shouldn't have the same functionality.

(Apart from to discourage its use, that is.  If you take of "legacy" from the name, you should put in an equivalent note deprecating it. Remember that the purpose of OOXML is not just to document what is there, it is to get out of these messes.)

What is the reason for limiting ranges by numbers of characters (ie by lexical space)?

Surely it would make more sense to describe date indexes in terms of 2^n values (ie by value space) such as xs:short?

E.g. "The value space of a date index is a signed short integer (i.e.
requiring 16 bits). Note: For compatibility, the value space may the pattern -?\d{1-5}."

Rick Jelliffe

More information about the sc34wg4 mailing list