From: Saašha Metsärantala
> The BNF excludes dates such as
>
> 199u-uu
>
> at level one.
>
> At 102, such a date is not present in the "Examples" column, but it is
> not excluded as of the "Syntax/rules" column. In such a date, no "u" is
> "internal" and therefore, I consider that such a date is "level one".
My intent was pretty much as expressed in the BNF, though perhaps not sufficiently described in the prose, so that can be improved. The intent is that level 1 unspecified is one of the following:
1. a year with one or two (rightmost) unspecified digits, e.g. 199u or 19uu. Year only.
2. year specified but month unspecified. e.g. 1990-uu (And in this case, no provision for just one of the month digits unspecified, e.g. 1990-0u.)
3. Year and month specified, day unspecified (And similarly no provision for just one digit of the day unspecified, as in 1990-12-0u.)
4. Year specified, day and month unspecified.
If anyone thinks this is not sufficient please provide a use case. I will add the above description to the prose.
> internalUnspecified = ( year "-uu-" day ) | ( yud "-" ( monthDay |
> ( month "-uu" ) | ( "uu-" day ) ) )
I've changed it to:
internalUnspecified =
year "-uu-" day
| yearWithOneOrTwoUnspecifedDigits "-" IUMonthDayPart
IUMonthDayPart =
monthDay
| month "-uu"
| "uu-" day
|