So WRT to these data issues that keep coming up, I’ve decided to
create a csl-date
schema to formalize this. It is based on the CSL data model(actually
Nice.
imports it),
but simply formalizes the expectations for particular data types, which include:
- contributor names
- dates
- simple variables
- rich variables (at this point, only titles)
Example:
Some Title
As I say, this is intended as a formalization of input expectations;
not per se as some new exchange format that I want to widely promote.
Issues:
- what variables should be “rich variables”?
Title is all I can think of (but see below re ).
- what inline formatting are we supporting on rich variables? Right
now, I have b, i, and sup. I’ve punted on the semantics stuff, because
it’s more important that we get the meta stuff (RDFa and such)
implemented first.
citeproc-js recognizes these:
(italic)
(bold)
(superscript)
(subscript)
(small caps)
(passthrough, for proper nouns)
" or locale outer quote (flipflops with ')
’ or locale inner quote (flipflops with ")
- names is still up-in-the-air
The two kinds of particles (dropping vs non-dropping) should be
discriminated in the input, to avoid the need for sub-field parsing.
- date details are still TBD (really the MRHA stuff; but I’d rather
leave that out)
Circa is more critical, if MHRA doesn’t make it this time around,
there’s always later.
Is there a way to specify that the ends of the ranges have to have a
full set of matching date elements? That is, month + year to
end-month + end-year should be valid, but month + year to end-month
should not be.
Also, as Dan recently reminded me, there needs to be provision for
literal passthrough in the implementation. I don’t know whether you
want to formalize that, though, or whether the processor should just
do it.
Schema is at:
http://bitbucket.org/bdarcus/csl-schema/src/
There is at least one off-schema variable lurking in the citeproc-js
source code:
shortTitle (an externally provided explicit value, substituted for
the title variable when its form is set to “short”
Frank