Lone name-as-sort-order attributes in 0.8.1 styles

We have an issue with style conversion. Carles Pina of Mendeley
noticed that the IEEE style behaved differently under Zotero 0.8 and
citeproc-js. On further investigation, we realized that the cause was
a difference in the treatment of a name-as-sort-order attribute that
appears on its own, without a companion sort-separator attribute. The
0.8 processor in Zotero drops it on the floor, but citeproc-js honors
it, but with broken formatting.

I remember discussing this with Rintze, and we concluded that it makes
sense to honor the attribute. Unfortunately, we didn’t realize that a
significant number of styles are “carriers” of the lone
name-as-sort-order gene, which will manifest as broken formatting when
the style is run under citeproc-js. These will need to be repaired
when they are migrated to CSL 1.0.

To fix this up, it’s probably simplest to adjust the XSLT magic behind
the update-styles.sh script to drop the attribute when it occurs on
its own. Is that possible to do?

Here is a list of the afflicted styles:


(Not a style, and not afflicted :slight_smile:

Also, on the logic, just to be clear, are you saying that the
name-as-sort-order attribute should only get copied into the result
tree if it is accompanied by the sort-separator attribute?

I tracked the change back to this thread (
and some off-list discussions between me and Frank. So the current situation
seems to be that both Zotero and Mendeley ignore the name-as-sort-order
attribute in CSL 0.8.1 styles when sort-separator isn’t set. In CSL 1.0 we
use a default value (", ") for sort-separator (
http://citationstyles.org/downloads/specification.html#name), eliminating
this implicit requirement.

I think we can safely modify update.xsl without using a parameter toggle,
indeed by just dropping name-as-sort-order on cs:name when not accompanied
by sort-separator.


An updated update.xsl is available with the proposed fix:

RintzeOn Sun, Sep 26, 2010 at 11:22 AM, Rintze Zelle <@Rintze_Zelle>wrote:

This is a bit off-topic, but with the release of Zotero 2.1b1, I started
wondering what the easiest way would be to (automatically) compare the
output of Zotero 2.0 and 2.1/citeproc-js. Cases like this are likely to
start popping up more often once more people start using the 2.1 beta, and
it would probably help with troubleshooting if the output of the different
engines can be easily compared.

Item metadata can probably be kept in sync between copies of Zotero 2.0 and
2.1 by syncing via the Zotero servers? Also, to check bibliography sorting
and disambiguation and such, it might be handiest to upgrade Word or Open
Office documents, and compare the converted documents with the originals.
This would still be far from automatic, though.

RintzeOn Sun, Sep 26, 2010 at 5:26 AM, Frank Bennett <@Frank_Bennett>wrote:

Hello,On 26 September 2010 16:48, Rintze Zelle <@Rintze_Zelle> wrote:

An updated update.xsl is available with the proposed fix:

thanks to all. Tomorrow I’ll test the change. I’ve read all mails and
makes sense.