[Just coming late to this discussion, so sorry if this has already be talked

1) For BCE dates my gut feeling is that the spec should support _naming_ the
years in normalized, numeric format rather than _calculating_ the years from
supposed 0 or -1 positions.

If it is generally agreed in the Western world that the name of a year is 31
BCE, then I would argue that the most appropriate normalized form of that is
"-31" or BCE31 (as in John Kunze's TEMPER proposal).   An approach based on
calculation from another date is trying to solve a problem that I don't
believe exists, in our domain at least.

And maybe I'm missing something, but the following sentence from the table
seems problematic on its face:

"BC has no year zero. In the BC system the year before year 1 is '1 BC'.
Thus '-0999' means '1000 BC'."  

Shouldn't that be "-1001" means "1000 BCE" (calculated from 1 BCE)?  Or, if
a scholar says something is from 1000 BCE, why wouldn't we assume that s/he
knows that BCE starts with 1 BCE?  

BTW -- I would strongly encourage the use BCE and CE terminology in evolving
standards documentation rather than BC / AD.

2) Using extensive "prescribed punctuation" to describe different types of
dates (curly brackets, square brackets, single quotes, tildes, greater
than/less than, double slash, and the infamous 'u' of old) is not a great
way to build a modern standard.  Giving unusual meanings to ordinary
punctuation is not a substitute for appropriate, schema-driven content

I recognize that there is value in having a few simple metadata elements
embedded in the date string and that ISO has already gone partway down that
road. But asking us to write logic that parses things like:


to explain "3 hours within the period between 8am and 6pm on 12 June 1999"
seems over the top. (I hope and assume LC has solid use cases for each of
these examples and isn't just speculating about possibilities!)

At a certain point it would be best to fall back on schema-validatable
approaches along the lines of:  

<dateCaptured><dateDelimiter point="start">19990612T08:00:00</dateDelimiter>
<dateTimeInterval unit="hours">3</dateTimeInterval></dateCaptured>
<dateDelimiter point="end">19990612T18:00:00</dateDelimiter>

-- Anyway, just some quick thoughts.

Stephen Paul Davis ~ Director, Libraries Digital Program
207A Butler, Columbia University Libraries, New York, NY
email: [log in to unmask] ~ ph(212)854-8584  fax(212)854-0089