Time zone: the next generation
Clive D.W. Feather
clive at demon.net
Tue Mar 8 12:08:22 UTC 2005
Ken Pizzini said:
> On further reflection I'm less convinced that XML is directly
> useful (though I'm not opposed to using it for secondary reasons of
> interchange with other applications, if someone wants to argue that
> case),
Well, that's a good argument in itself.
> * The tzfile format is basically sound. Suggested extensions:
> . widen timestamps to 64 bits, of course;
> . add one (or a few?) versioning field(s) --- while the tzh_magic
> field with a different TZ_MAGIC should be adequate for
> "version of tzfile", it'd be nice to record something
> of the character "compiled by tzcode-2004a/zic from
> tzdata-2005d/africa";
> . add support for additional "optional" extension data --- the
> code written such that it will ignore unknown extensions.
All three of these indicate that we ought to move to a system-independent
representation of data. That means either a textual format or a
self-describing data format such as ASN.1. I think that textual is far
preferable.
Once you decide on textual, the choice is between using a standard one or
inventing your own. I don't see any significant benefits in not using XML.
> * The complexity of interpreting rules on different calendars is
> all pushed into the preprocessing done by zic; the run-time code
> need not know anything about them.
No argument there. But I think that both input and output should be XML,
preferably with compatible schemas.
Actually, thinking further, the zic output could contain both the
"compiled" form *and* the original data, so that someone possessing the
output can see how it was derived.
> * The run-time APIs in this implementation should continue to be
> limited to the (proleptic) Gregorian calendar, (the one which is
> mandated by the C and POSIX APIs) (no externally visible change).
>
> Though I still slightly favor the ability to expose a Julian day
> ("modified" or not), in light of the above am also willing to say
> that applications which wish to work with dates in non-Gregorian
> calendars can just base their interconversions on the
> (tm_year,tm_yday) pair instead.
Given how easy it is to convert between proleptic Gregorian and JD/MJD, I
think we should provide these interfaces as a matter of convenience and to
prevent endless reinvention of wheels.
> Such applications as can handle
> things like Sweden's multiple transitions to the Gregorian calendar
> or the calendrical chaos in Rome around the time of Julius Caesar's
> reign, or the Mayan calendar, or the World calendar, or any other
> manner of ways that the days have been marked (actual or proposed)
> in different places and times are quite welcome, but outside the
> scope of this project.
Fine. Again, though, an XML format would mean that the information could be
bundled into the same files if desired. Ditto polygons, etc.
--
Clive D.W. Feather | Work: <clive at demon.net> | Tel: +44 20 8495 6138
Internet Expert | Home: <clive at davros.org> | Fax: +44 870 051 9937
Demon Internet | WWW: http://www.davros.org | Mobile: +44 7973 377646
Thus plc | |
More information about the tz
mailing list