Hi,
I’m contemplating a change in the way I handle contributors in CSL.
Right now, here is a example of book definition for APA:
<reftype name="book">
<creator>
<names/>
<role prefix=" (" suffix=")."/>
</creator>
<date>
<year prefix=" (" suffix=") "/>
</date>
<title font-style="italic" suffix="."/>
<origin>
<place/>
<publisher prefix=": "/>
</origin>
<genre suffix=", "/>
<medium/>
<availability prefix=", ">
<physicalLocation/>
<url prefix=", "/>
</availability>
</reftype>
I adopted the creator structure with role child to offer more
flexibility. However, I’m now thinking that may have been unnecessary,
and am thinking about this instead:
<reftype name="book">
<author primary-alternate="editor"
secondary-alternate=“title”/>
There are a few reasons for this:
-
in thinking about a non-XML (and non-MODS) data model, it’s become
apparent to me that it’s easier to deal with authors, editors and
translators (and maybe have a fourth “contributors” to catch corner
cases) than otherwise. E.g. simple is better (unless it’s too simple of
course!). -
it’s also simple in terms of processing (the “alternate” stuff is a
little tricky, but it’s hard to get around) -
I’ve realized that I had been thinking about editors wrongly when
designing CSL. They are not equivalent to authors, but serve in their
place when they are not present. However, if you have, say, an edited
collection of writings by Walter Benjamin, the editor is secondary. The
above would capture all cases then: authored books, edited books, and
those with both.
I have long been contemplating flattening dates, too; am not sure.
I think it’s important to keep nested structures for some things,
though, because the formatting actually assumes such.
Also, I think I will indeed split CSL from citeproc, and rename the
latter “citeproc-xsl.” I think I’m almost done with CSL, but there are
some nagging bugs in citeproc, and one big feature now supported in CSL
(reference list grouping) I have not managed to resolve.
I may also have a separate package for styles. In that case I’d have
"csl-schema", “csl-styles” and “citeproc-xsl.” Obviously if we make
any progress with ports of citeproc, this would make room for them.
Thoughts on any of the above?
Bruce