# CSL Specificaton question (et-al-min/et-al-use-first)

**URL:** <https://discourse.citationstyles.org/t/csl-specificaton-question-et-al-min-et-al-use-first/1440>\
**Category:** CSL Development\
**Created:** [September 4, 2016, 5:51am UTC](https://discourse.citationstyles.org/t/csl-specificaton-question-et-al-min-et-al-use-first/1440 "2016-09-04T05:51:03Z")\
**Posts on this page:** 10\
**Page:** 1

<div class="post-metadata">

**Author:** ![Frank\_Bennett](https://yyz1.discourse-cdn.com/flex029/user_avatar/discourse.citationstyles.org/frank_bennett/32/198_2.png) [@Frank\_Bennett](https://discourse.citationstyles.org/u/Frank_Bennett)\
**Post date:** [September 4, 2016, 5:51am UTC](https://discourse.citationstyles.org/t/csl-specificaton-question-et-al-min-et-al-use-first/1440/1 "2016-09-04T05:51:03Z")

</div>

This weekend, I’m overhauling some of the names code in citeproc-js,  
to fix some long-standing bugs in attribute inheritance. One of the  
test failures doesn’t actually look like a failure, and I’d like to  
confirm that I’m not misreading the spec.

The test is this one:

```
https://github.com/citation-style-language/test-suite/blob/master/processor-tests/humans/nameattr_EtAlUseFirstOnCitationInBibliography.txt

```

In the fixture, a value for et-al-min is set on separate cs:name nodes  
inside cs:citation and cs:bibliography, and a value of 2 for  
et-al-use-first is set on the cs:citation node. The test renders the  
bibliography.

The bibliography comes out with all three names given in the input.  
The fixture RESULT has one name, truncated by et al.

I don’t see anything in the spec about defaulting to a value of 1 for  
et-al-use-first, and it says that “[u]se of these two attributes  
enables et-al abbreviation.” Since the test provides a value for only  
one of the attributes inside cs:bibliography, it sounds like listing  
all three names there is the right thing to do (and the original  
RESULT string was wrong).

So … should I amend the test there?

Frank

---

<div class="post-metadata">

**Author:** ![Sylvester\_Keil](https://avatars.discourse-cdn.com/v4/letter/s/85e7bf/32.png) [@Sylvester\_Keil](https://discourse.citationstyles.org/u/Sylvester_Keil)\
**Post date:** [September 5, 2016, 8:02am UTC](https://discourse.citationstyles.org/t/csl-specificaton-question-et-al-min-et-al-use-first/1440/2 "2016-09-05T08:02:50Z")

</div>

Hi Frank,

Just to let you know, the test in question passes in citeproc-ruby too.  
After some digging I found the commit that sets the default to 1 to  
refer to this being citeproc-js’ default value specifically (likely  
inferred from the test at hand). If you remove the default value, I’ll  
also remove it from citeproc-ruby.

Sylvester

[signature.asc](https://canada1.discourse-cdn.com/flex029/uploads/citationstyles/original/1X/6edefb1e36a95439f236e627258fbea90d8c1da8.asc) (195 Bytes)

---

<div class="post-metadata">

**Author:** ![Frank\_Bennett](https://yyz1.discourse-cdn.com/flex029/user_avatar/discourse.citationstyles.org/frank_bennett/32/198_2.png) [@Frank\_Bennett](https://discourse.citationstyles.org/u/Frank_Bennett)\
**Post date:** [September 5, 2016, 9:16am UTC](https://discourse.citationstyles.org/t/csl-specificaton-question-et-al-min-et-al-use-first/1440/3 "2016-09-05T09:16:16Z")

</div>

Sylvester,

Great. I’ve removed the constraint in the current processor release,  
but it might be restored after discussion. From a quick check of the  
repo, it looks like five styles rely on the default value. If that’s  
roughly representative of styles in the wild, the impact will be  
small, but some people might be bitten.

Two additional styles use an extremely high value for et-al-min,  
presumably with the intention of listing all authors; those would not  
be (much) affected.

Curious to hear the views of @adam42smith and @rmzelle on the issue.

Here is the list of affected styles:

harvard-the-university-of-melbourne  
ithaque  
le-tapuscrit-note  
philosophiques  
geochimica-et-cosmochimica-acta (et-al-min=“1000”)  
harvard-oxford-brookes-university-faculty-of-health-and-life-sciences  
(et-al-min=“100”)  
universite-libre-de-bruxelles-histoire

Frank

---

<div class="post-metadata">

**Author:** ![fouke](https://avatars.discourse-cdn.com/v4/letter/f/4bbf92/32.png) [@fouke](https://discourse.citationstyles.org/u/fouke)\
**Post date:** [September 5, 2016, 9:52am UTC](https://discourse.citationstyles.org/t/csl-specificaton-question-et-al-min-et-al-use-first/1440/4 "2016-09-05T09:52:58Z")

</div>

[CiteProc.NET](http://CiteProc.NET) also uses the default value of 1, probably because of the  
test at hand. I’ll remove the default value too.

Fouke

Frank Bennett schreef op 2016-09-05 11:16:\> Sylvester,

---

<div class="post-metadata">

**Author:** ![Sebastian\_Karcher](https://yyz1.discourse-cdn.com/flex029/user_avatar/discourse.citationstyles.org/sebastian_karcher/32/176_2.png) [@Sebastian\_Karcher](https://discourse.citationstyles.org/u/Sebastian_Karcher)\
**Post date:** [September 5, 2016, 1:58pm UTC](https://discourse.citationstyles.org/t/csl-specificaton-question-et-al-min-et-al-use-first/1440/5 "2016-09-05T13:58:36Z")

</div>

Just to confirm that I agree the default shouldn’t be there (and removing  
it will make reviewing a tiny bio easier for Rintze and me. Thanks!Sent from my phone

---

<div class="post-metadata">

**Author:** ![Rintze\_Zelle](https://yyz1.discourse-cdn.com/flex029/user_avatar/discourse.citationstyles.org/rintze_zelle/32/175_2.png) [@Rintze\_Zelle](https://discourse.citationstyles.org/u/Rintze_Zelle)\
**Post date:** [September 7, 2016, 4:35am UTC](https://discourse.citationstyles.org/t/csl-specificaton-question-et-al-min-et-al-use-first/1440/6 "2016-09-07T04:35:21Z")

</div>

Also agree. Can’t recall ever reading about a default, don’t think  
it’s a good idea, and it’s not the intent of the current spec to allow  
setting only one of the two et-al parameters of a set ("…-min" and  
"…-use-first" for “et-al-…” and “et-al-subsequent-…”).

With the hierarchical name attributes, it’s not entirely  
straightforward to test for the presence of both with validation, but  
otherwise we’d screen for it. Maybe we should require that both  
attributes of a set should occur on the same element. That would also  
make it easier to ascertain that the “…-min” attribute has a higher  
value than the “…-use-first” attribute, which is commonly violated  
in submissions.

Rintze

---

<div class="post-metadata">

**Author:** ![Sylvester\_Keil](https://avatars.discourse-cdn.com/v4/letter/s/85e7bf/32.png) [@Sylvester\_Keil](https://discourse.citationstyles.org/u/Sylvester_Keil)\
**Post date:** [September 7, 2016, 2:41pm UTC](https://discourse.citationstyles.org/t/csl-specificaton-question-et-al-min-et-al-use-first/1440/7 "2016-09-07T14:41:00Z")

</div>

> Also agree. Can’t recall ever reading about a default, don’t think  
> it’s a good idea, and it’s not the intent of the current spec to  
> allow  
> setting only one of the two et-al parameters of a set (“…-min” and  
> “…-use-first” for “et-al-…” and “et-al-subsequent-…”).
> 
> With the hierarchical name attributes, it’s not entirely  
> straightforward to test for the presence of both with validation, but  
> otherwise we’d screen for it. Maybe we should require that both  
> attributes of a set should occur on the same element. That would also  
> make it easier to ascertain that the “…-min” attribute has a higher  
> value than the “…-use-first” attribute, which is commonly violated  
> in submissions.

I don’t think it’s hard to write a test case for both cases (which  
handles inheritance) – shall I give it a try?

Sylvester

[signature.asc](https://canada1.discourse-cdn.com/flex029/uploads/citationstyles/original/1X/6e52f9148ed433042eb507e0ce1281d612f1df80.asc) (195 Bytes)

---

<div class="post-metadata">

**Author:** ![Rintze\_Zelle](https://yyz1.discourse-cdn.com/flex029/user_avatar/discourse.citationstyles.org/rintze_zelle/32/175_2.png) [@Rintze\_Zelle](https://discourse.citationstyles.org/u/Rintze_Zelle)\
**Post date:** [September 7, 2016, 2:45pm UTC](https://discourse.citationstyles.org/t/csl-specificaton-question-et-al-min-et-al-use-first/1440/8 "2016-09-07T14:45:21Z")

</div>

Yes, please. It would be out of reach of RELAX NG, and probably  
Schematron as well, so a Ruby test would be great.

Rintze

---

<div class="post-metadata">

**Author:** ![Sylvester\_Keil](https://avatars.discourse-cdn.com/v4/letter/s/85e7bf/32.png) [@Sylvester\_Keil](https://discourse.citationstyles.org/u/Sylvester_Keil)\
**Post date:** [September 7, 2016, 5:48pm UTC](https://discourse.citationstyles.org/t/csl-specificaton-question-et-al-min-et-al-use-first/1440/9 "2016-09-07T17:48:10Z")

</div>

> Yes, please. It would be out of reach of RELAX NG, and probably  
> Schematron as well, so a Ruby test would be great.

Moving the discussion to:

> <https://github.com/citation-style-language/styles/pull/2207>
>
> The test does something similar to what citeproc-ruby does when rendering styles…: looks at every \`\<names\>\` and fetches its \`\<name\>\` (or creates a \`\<name\>\` as a stand-in if there is none) then checks the attributes of that node inheriting from the closest \`\<bibliography\>\` or \`\<citation\>\` and \`\<style\>\`.
> 
> The tricky part is \`\<names\>\` inside a \`\<macro\>\` -- when rendering styles this is not a problem, because the processor will know in what context the macro is being rendered, but when checking the styles generically, I would argue it makes sense to run the checks twice, inheriting from both possible rendering nodes respectively.
> 
> The tests check that both \`et-al-min\` and \`et-al-use-first\` are defined (or that both are not defined) and that min is greater than or equal to use first. Both checks are repeated for the 'subsequent' variants.
> 
> I'm not 100% sure that this works. There are about 40 styles that fail the tests; I did a few spot checks and the failures seemed legit to me.
> 
> Let me know what you think!
> 
> (continuation of http://xbiblio-devel.2463403.n2.nabble.com/CSL-Specificaton-question-et-al-min-et-al-use-first-tp7579481p7579487.html)

[signature.asc](https://canada1.discourse-cdn.com/flex029/uploads/citationstyles/original/1X/dd89d129f177d8fa0d85fc22e70cd1bc574b57f5.asc) (195 Bytes)

---

<div class="post-metadata">

**Author:** ![Rintze\_Zelle](https://yyz1.discourse-cdn.com/flex029/user_avatar/discourse.citationstyles.org/rintze_zelle/32/175_2.png) [@Rintze\_Zelle](https://discourse.citationstyles.org/u/Rintze_Zelle)\
**Post date:** [September 17, 2016, 4:46am UTC](https://discourse.citationstyles.org/t/csl-specificaton-question-et-al-min-et-al-use-first/1440/10 "2016-09-17T04:46:10Z")

</div>

Quick update: Sylvester very helpfully created tests to find  
problematic instances where et-al-(subsequent-)min is missing its  
et-al-(subsequent-)use-first partner and vice versa, and where the  
\*-min isn’t higher than \*-use-first. We fixed the 43 offending styles,  
and are now testing for this going forward. Details at

> <https://github.com/citation-style-language/styles/pull/2207>
