From: Saašha Metsärantala
> One issue still remaining when it comes to the BNF is to try to avoid
> years such as "-0000".
Ok I have changed:
date = positiveDate | negativeDate
positiveDate = year | yearMonth | yearMonthDay
negativeDate = "-" positiveDate
year = digit digit digit digit
date = year | yearMonth | yearMonthDay
year = positiveYear | negativeYear | "0000"
positiveDigit digit digit digit
| digit positiveDigit digit digit
| digit digit positiveDigit digit
| digit digit digit positiveDigit
negativeYear = "-" positiveYear
Note that "negative" had previously applied to a date, not specific to the year definition. Now it applies specifically and only to the year. So this means that not only would "-0000" be excluded, but also a date like -00001230 would be excluded. I think this is not a problem though, such a date is not meaningful.