Names variable 'publisher'

I noticed that the variable ‘publisher’ is listed in the specifications document under the name variables (and also in the general variables), but is not in the schema:

I realize the schema wins, and the style is not validating because of that. Though interestingly, I had hit the ‘publisher’ variable a few months ago from another perspective: a bug report, where the ‘publisher’ variable used in names resulted in an error in the output, because our database was returning a single string, instead of an array (like for ‘author’ or ‘editor’). At the time, I did not realize it was not in the schema, and coded a workaround to return an array of one object when in the context of ‘names’.

Anyway, I could not find any reference to this in the archives, so I thought I’d mention it (my apologies if this was in fact in a previous discussion).

My take would be to keep the schema as is, and remove the ‘publisher’ reference from the specs. It seems that you really can only output one publisher anyway (?).

Charles Parnot
twitter: @cparnot

I noticed that the variable ‘publisher’ is listed in the specifications document under the name variables (and also in the general variables), but is not in the schema:

The publisher variable is there in schema, but it’s a regular variable
rather than a name, and there is only one field for it (apart from
"original-publisher"). There has been discussion of making it a
creator variable, but the sticking point has been that it would need
an additional subfield for “publisher-place” to work properly. In
citeproc-js I’ve hacked around the limitation from the other
direction, casting parallel, semicolon-delimited
publisher/publisher-place pairs as formatted pairs in the output – a
non-standard, bad solution that would confuse users and hasn’t been
publicized, but which works with the current field arrangement in

(Apart from which, I don’t think I’ve yet welcomed you to the list,
Charles, so welcome! It’s really great to see the Papers2 processor
come onstream. If you can see your way clear to open-sourcing the code
at some point down the road, it would be a great contribution. If it’s
useful as a point of reference, developer feedback has been an
invaluable source of guidance for citeproc-js, and in no way a


Indeed, I had noticed it’s in the general variables in both the schema and the specs, but for some reason also listed in the names in the specs. It only came up while I validated the bioessays style, for which I had not seen an issue before because I had only focused on the specs, not done any validation (bad!!).

So I wanted to point out the discrepancy in the specs. For the style, I have indeed used the generic variable instead with the ‘text’ element.

And thanks for the nice welcome too :slight_smile:
(open-sourcing would be nice, I’ll do my best… and you are right, it definitely can have some benefits!)


You’ve found a small mistake in the CSL 1.0 specification. I eliminated the
"publisher" variable from the list of name variables for CSL 1.0, but
apparently I didn’t update the spec. It is already fixed in the trunk. See

RintzeOn Tue, Jan 3, 2012 at 7:29 PM, Charles Parnot <@Charles_Parnot>wrote:

Ah! In addition to the mailing list, I had searched the wrong repo for the issue, namely the ‘styles’, which was a bit silly of me, I have to admit. And I now see Google brings that thread up with ‘names publisher CSL’. Sigh. I’ll be sure to search things better next time… Thanks for the link!