Thanks for the comments, John.
From: "J. Prevost" <[log in to unmask]>
> 200? - must be "unknown year in [2000,2009]".
> 020? - must be "unknown year in [200,209]"
> 2000? - is this "maybe 2000" or "unknown year in [20000,20009]?"
Good point. The "?" character is being used to mean two different things
and we need to change one or the other usages to a different character.
> One solution to this problem would be to make the ? and ~ marking a
> prefix on dates, rather than a postfix. ?2000 is maybe 2000, ?20000
> is maybe 20000, 2000? is some year in [20000,20009]. ~2000 is
> approximately the year 2000.
Yes that would be another approach.
Comments welcome on which approach is preferred.
> This could also allow an interstitial ~ to bound the uncertainty. For
> example, 2000-01-~15 or 2000-01~15 would mean "definitely January
> 2000, approximately the 15th". (I believe this relates to proposal
I'll add this to the proposal page "part of the date is certain but part
uncertain". (though it will not be until sometime next week, I'm gone the
rest of the week.)
> 2) Certain uncertain constructs are not allowed by the example syntax
> given under "analysis":
> 200?-01 - January at an uncertain year in [2000,2009].
> 2000-?? - Unknown month in 2000.
> 1988-1? - Unknown month starting with 1 in 2000 (problem reading
> handwriting or water-damage materials?) (NOT SUPPORTED)
> 200001?? - Unknown day in January 2000
> 2000??15 - 15th on unknown month in 2000 (NOT SUPPORTED)
> 200?0315 - March 15th in uncertain year in [2000,2009] (NOT SUPPORTED)
> 2000-01-?? - Using hyphens in the date along with uncertainty (NOT
I'll update the proposal page to incorporate these. By the way I tested all
of these, see http://www.loc.gov/standards/datetime/edtTestFile.xml
200?-01 validates. (Not sure why it does, will have to look into that.)
2000-?? - validates.
1988-1? - Does not validate.
2000??15 Does not validate.
200?0315 Does not validate.
2000-01-?? Does not validate.
> 3) I understand the desire to ensure that any acceptable xsd:date is
> also an acceptable EDTF date, but what's the reason for the
> non-hyphenation requirement?
>> Many dates are coded in database records without hyphens (conformant
>> with ISO 8601). When extracting a date from a database record to insert
>> into an XML record, some implementors feel it is an unnecessary burden
>> to have to insert hyphens. Times are often encoded without colons.
> Is that really it? Because "implementor can't be bothered to do some
> very very trivial string manipulation" may be a poor requirement to
> emphasize over "semantically unambiguous", if it turns out that
> requiring some or all separator characters makes some of these cases
> easier to handle.
> I'm not saying the idea should be thrown out--just that it might be
> better as a "desirable feature" rather than a requirement.
But nobody is suggesting that the hyphenated form be disallowed, only that
the non-hyphenated form be allowed. (Not even "preferred".) So it would of
course be optional.
> 4) Just to throw fuel on the fire, is there any distinction between
> "199?-01" meaning "a January in an unknown year in the 1990s" and
> "199?-01" meaning "every January in the 1990s"? I think that the
> former meaning (uncertainty) is clearly the important thing to denote
> here, but it's bound to come up at some point.
"199?-01" is intended to mean "a January in an unknown year in the 1990s"
and not "every January in the 1990s". if we want to represent the latter, I
suppose we would use '*' or some other masking character rather than '?'.
Nobody has proposed this yet, if someone does we'll add it to the proposals
list. (If you are actually proposing this feature let me know and I'll add
Note that something like '1999-**', to mean "every month in 1999" would (I
think) be semantically equivalent to the range 199901/199912, and so that
would already be covered. But the case you're suggesting where the masking
is in the middle, is not (yet) covered.