A different proposal for dates in spreadsheets (was RE: Draft for review: ISO 8601 date work on IS 29500)

rjelliffe at allette.com.au rjelliffe at allette.com.au
Tue Jul 13 08:12:47 CEST 2010

I am sure this probably has been considered before in f2f meetings, and I
apologize if it is has.

We need not think of the integer and the 8601 date as alternatives in
competition. We could view them as complements.

We can re-use ODF's mechanism for this. According to the MS site,
http://msdn.microsoft.com/en-us/library/ff533684%28office.12%29.aspx  at
number (c), this should not be a challenge for Excel to implement.

So we can allow
   <v>39146</v>   (status quo)
   <v odf:date-value="2007-03-05" />   (8601 date)
   <v odf:date-value="2007-03-05">39146</v>   (both)

An application which generates form 2) above must mark the namespace as a
MustUnderstand in MCE. An application which only understands form 1) above
must strip date-values out if there are changes (or may round-trip them if
there are no changes.) An application which understands form 3 must keep
them in sync. An application which consumes form 3 may report if the
different values are out of sync, which is an invalid document. A
conforming application must be able to read all three forms.

The advantage of this is that even if though having both data items will
cause a larger file size, a spreadsheet application can still just read
the fast-form if it chooses. (It could, for example, even check that the
two date formats are in sync in a background thread after loading fast.)

ODF already has the system where the data is kept in a presentation form
localized) as well as the exchange form.

Using the odf namespace would be a nice olive branch. It sends a good
message. Furthremore, given the strong NB interest in harmonization with
ODF, surely the first thing WG4 should be always asking is "Does ODF have
a good way to do this?" (just as the OASIS TC for ODF should be doing in
reverse with OOXML.)

Rick Jelliffe



Here is what ODF 1.2 says about it:
19.372 office:date-value
The office:date-value attribute specifies the current date value contained
by a cell. This attribute is only evaluated for cells whose value type is

The office:date-value attribute is usable with the following elements:
<db:column> 12.35, <db:column-definition> 12.40, <form:list-value> 13.10,
<form:property> 13.8, <table:change-track-table-cell> 9.9.16,
<table:covered-table-cell> 9.1.5, <table:table-cell> 9.1.4,
<text:expression> 7.4.14, <text:user-defined> 7.5.6,
<text:user-field-decl> 7.4.8 and <text:variable-set> 7.4.4.
The office:date-value attribute has the data type dateOrDateTime 18.3.13.

18.3.13 dateOrDateTime
A dateOrDateTime value is either an [xmlschema-2] date value or an
[xmlschema-2] dateTime value.

More information about the sc34wg4 mailing list