Hi Carles,
Some time ago we (in Mendeley) were wondering about the exact meaning
of standard variables and document types. Is there some more
documentation beside in
Redirecting…?
If I remember correctly we found specially confusing
“archive_location” and “archive-place”.
What’s confusing about these: the very concept (“location” vs.
“place”?), or the inconsistent punctuation (underscore vs. hyphen)?
The schema itself has the sorts of descriptions we probably ought to
add to the spec document.
## the location within an archival collection (for example, box
and folder)
“archive_location”
>
## the place of the archive
“archive-place”
Also, when “post” and “entry” should be used?
Let me back up and explain something about typing in CSL, and in
bibliographic systems generally.
Traditionally, bibliographic systems have been heavily type-oriented.
I, however, have long believed that this is a big mistake, because the
real world of citation data in the early 21st century encompasses a
diverse range of sources that aren’t well captured by traditional
bibliographic types.
For example, I want to store/annotate/cite an article published on the
New York Times website. In some systems, you’d call this a “newspaper
article”. But often those system won’t let you store the article URL
along with the article metadata. So you then need to use instead a
type called “webpage” or some such. It is, after all, also a web page
(it’s available on the web). So now I can store and cite my URL. But
things become awkward because I have odd fields like “website.” Well,
yes, I access the document on the “New York Times” website at a base
URI of http://nytimes.com.
In CSL, I originally had no macro system. What I did instead is to
introduce a fallback type system. So, all style required templates for
three base types: “book”, “article” and “chapter.” These were concrete
names for what were in effect abstract generic types.
I then added more specific types by hyphenating the names. So
“article-newspaper” is an example of this, where the convention is
simply saying “this has an article fallback” but is a kind of subclass
of it.
You see similar ideas at play in “post” vs. “post-blog” and “entry”
vs. “entry-dictionary.”
So there’s some legacy there, but it’s sensible enough.
What been a problem all along, however, is that we have no clear,
stated, explanation of when and how we define a type. They’ve mostly
been added ad hoc. I’d personally like to change this.
Why some variables has underscore and other dash? Or
“editortranslator” doesn’t have underscore either dash.
I don’t know; I think Frank added that and I missed it at the time 
(maybe the dash / underscore / two words together is for compatibility
with CSL 0.8?)
Not explicitly, but obviously it’s easier.
I hope that these was the questions that we had. I don’t have the
notes from work here.
An example or comment next to some variables and types would help. I
could try to write something but I’m sure that would not be very
correct.
Take a look at the schema and see if you agree moving those comments
into the spec would help.
Bruce