As far as I see it:
Option 1 - extracting the numeric value from fields is the easiest. I’ve
already written the code for zotero and it all works, at least for the
examples I’ve tried. It allows fields which may be numeric to store non
numeric data, or a combination, and to test and extract the relevant parts
if required. Its backwards compatible with the old format - the CSL
additions do not change existing formatters, it just allows more control if
you need it. There is no need to upgrade databases, or tinker with scrapers
or anything.
Option 2 - I’m still not clear how this solves the issue. If the value field
is a number, you pass through the number, but if its not you pass through
the whole thing. So you don’t know whether to append “ed.” or “vol.” onto
the end. I don’t think it has moved us on any further. You might code it up
as
You will still end up with either a style that is not conformant to, say,
Chicago with “3 ed.” or else something like “reprint edition ed.”
Option 3 - edition_number and edition_version style would solve the problem
to a degree. I still think it will be as clumsy as the option 1. How would
you format edition under this scheme? Probably something like
So its basically its very similar amount of formatting data as option 1,
except we don’t have the new formatting for ordinal, and roman numerals. Its
also now a solution specific to edition, so if we find weird cases of
volume, issue, chapter or number-of-volumes we have to make some new double
variables there too. It requires either upgrading databases and scrapers, or
else writing code to transform a base variable into one of these two at run
time. Its basically an explicit version of option 2.
I guess I vote for 1, but then I would say that!
Julian.