Here is yet another patch, that adds recognition of two new
calendar-model symbols, "Gr" and "Jl," for "Gregorian" and "Julian",
respectively. (I could not use "Ju," because any regex that recognized
"Ju" would also recognize the "Ju" in the months named "June" and "July.")
Now when a user specifies "Gr," the annotated date is always processed
according to Gregorian rules. Likewise, when a user specifies "Jl," the
annotated date is always processed according to Julian rules.
In the absence of any symbol chosen between these two, the script
determines the model by examining for a date on or after October 15,
1582. Any such date is annotated as Gregorian (unless it is British Old
Style, described in patch.3); an earlier date is annotated as Julian.
I understand that in the English Wikipedia, the abbreviations "OS" and
"NS" (for "Old Style" and "New Style") are described as meaning "Julian
calendar" and "Gregorian calendar." But this description belies the
actual usage of the OS and NS abbreviations. In articles describing
actual historical figures, "OS" is used /exclusively/ to describe a date
beginning on March 25 and reckoned by Julian rules. "OS" is therefore
/not/ a good substitute symbol for "Julian" in the English language.
(However, if anyone knows any expression other than an abbreviation for
the word /Julian/ that is used in any other language to specify the
Julian calendar, I'll be glad to use it when I complete the
internationalization of calendar-model symbols.)
In case anyone is wondering, "Why March 25?" Here's the answer: the
inventor of the /Anno Domini/ notation theorized that Jesus Christ was
conceived on March 25 and born on December 25. A week later was January
1, 1 AD. In England March 25 was known as "Lady Day," the "Lady" in
question being Mary, described in detail in the gospels according to the
evangelists Matthew and Luke. (That theory is probably not accurate, but
it does explain why the English began their year on March 25 for so many
Concerning the proleptic Gregorian calendar, the information I have
received informs me that:
1. The proleptic /Gregorian/ calendar is /not/ in common use, though
the proleptic /Julian/ calendar is.
2. The proleptic Gregorian calendar /does/ in fact use a "zeroth
year," though the Julian calendar does not.
Perhaps the best solution will be to create two printout values, one
Gregorian and one Julian, choose between them in
parseXSDValue($value,$unit) (or parseDBkeys($args)), and save the other
for a tooltip pop-up value. That will come next.