Parallel citation markup in CSL-M stylesheets

Parallel citation markup in CSL-M stylesheets

One of the hardest problems to unlock in the implementation of Bluebook rules is the convention of parallel citation. As noted in the previous post on this topic, these are frequently used in legal writing, and have three common flavors:

Parallel reports

Truly parallel cites to multiple reports of the same case:

Harden v. Playboy Enterprises, Inc., 261 Ill. App. 3d 443, 633 N.E.2d 764 (1993).

Subsequent histories

A chain of appellate decisions in the same matter:

Energy & Env’t Legal Inst. v. Epel, 43 F. Supp. 3d 1171 (D. Colo. 2014), aff’d, 793 F.3d 1169 (10th Cir.), cert. denied, 136 S. Ct. 595 (2015).

Commentaries

A series of published comments interpreting a case:

Cass. 1ere civ., March 28, 2000, JCP G, 2000, 10296, J. Sainte-Rose; D, 2000, somm. p. 358, Ph. Delebecque, p. 900, S. Piedelievre.

This is a technical post covering features of the CSL-M styling language that are used to produce these effects. The discussion below assumes a general familiarity with the Citation Style Language (CSL).

Group attributes

In formatting a series of related cites, certain elements are removed from certain positions in the series, according to certain conditions. The rules for doing so are generally left unstated, but the approach adopted by Jurism can express every pattern that I have so far encountered in the wild.

In Jurism CSL-M style code, rules relating to parallel formatting are expressed as attributes on a cs:group element. Attributes that describe conditions will suppress the output of the group when the condition is satisfied. Parallel attributes take effect only on cites within a related series. In Jurism, citations are related when they are linked in the client via the Related tab.

Attribute: parallel-first="<variables>"

Rule: Suppress group output when all listed variables match their values in the immediately preceding cite within a related series. When one or more of the listed variables does not match, the group is rendered, and the rendered values are used for comparison when the next cite is rendered, and so on to the end of the series.

A typical application of the parallel-first attribute would be the following:

<group parallel-first="title">
    <text variable="title"/>
</group>

In the citation Harden v. Playboy Enterprises, Inc., 261 Ill. App. 3d 443, 633 N.E.2d 764 (1993), the “Ill. App.” and “N.E.2d” cites share the same title, and the second occurrence is therefore suppressed.

In the citation In re Verizon Internet Servs., Inc., 257 F. Supp. 2d 244 (D.D.C. 2003), rev’d on other grounds, Recording Indus. Ass’n of Am., Inc. v. Verizon Internet Servs., Inc., 351 F.3d 1229 (D.C. Cir. 2003), the second case name differs, and it is therefore rendered (and would become the new “master” title were there three cites in the series).

Attribute: parallel-last="<variables>"

Rule: Suppress group output when all listed variables match their values in the immediately following cite within a related series. When one or more of the listed variables does not match, the group is rendered, and the next cite’s values are used for comparison when the next cite is rendered, and so on to the penultimate cite in the series.

The parallel-last attribute might be applied as follows:

<group parallel-last="issued">
    <date variable="issued" form="text" date-parts="year"/>
</group>

In the citation Energy & Env’t Legal Inst. v. Epel, 43 F. Supp. 3d 1171 (D. Colo. 2014), aff’d, 793 F.3d 1169 (10th Cir.), cert. denied, 136 S. Ct. 595 (2015), the date of “2014” is rendered on the “F. Supp 3d” cite because the appeal reported in the “F.3d” cite was decided in 2015; and the date is suppressed in the “F.3d” cite because it matches the date of the following disposition in the Supreme Court.

Attribute: parallel-last-to-first="<variables>"

Rule: For all following cites in the series, treat the the listed variables as if set with parallel-first, even if set with parallel-last. The attribute does not affect rendering of the group on which it is set.

The parallel-last-to-first attribute features in the following construct for vendor-neutral cites in the Ohio jurisdiction:

<group delimiter="-" parallel-last-to-first="issued">
  <number variable="collection-number"/>
  <names variable="authority">
    <name/>
    <institution form="short"/>
  </names>
  <number variable="page-first"/>
</group>

In most US vendor-neutral citation patterns, the year of decision is set as a special volume number in the collection-number variable. The date of decision should therefore be omitted from subsequent cites in a series in which it would normally appear. Switching its rendering rule to parallel-first achieves that result.

In the citation Bonacorsi v. Wheeling & Lake Erie Ry. Co., 95 Ohio St.3d 314, 2002-Ohio-2220, 767 N.E.2d 707, the date is omitted from the “Ohio St.3d” cite because it matches the date in the vendor-neutral cite in second position. The vendor-neutral cite is built from the construct above, and switches the treatment of the issued variable to parallel-first in subsequent citations that apply parallel-last="issued". This takes effect in the final “N.E.2d” cite in the series, where the date is suppressed because it too matches the date of its predecessor.

The parallel-last-to-first attribute will be useful almost exclusively in true parallel citations, where a value (such as a date or a court name) are expected to be uniform across the related series of cites.

Attribute: parallel-delimiter-override="<string>"

Rule: Replace the default inter-cite delimiter with the designated string when joining this cite with its predecessor. Like the other parallel atrributes, This attribute takes effect only if the cite is a member of a related series. This attribute does not affect the rendering of the group.

The parallel-delimiter-override attribute is typically applied to a wrapper on all cites that might be rendered as a related series.

<layout delimiter="; ">
  <group parallel-delimiter-override=", ">
    <!-- CSL code for formatting citations goes here -->
  </group>
</layout>

In the citation Harden v. Playboy Enterprises, Inc., 261 Ill. App. 3d 443, 633 N.E.2d 764 (1993), the “Ill. App.” and “N.E.2d” cites are joined with a comma. Ordinarily, cites not members of a related series are joined with a semicolon.

Attribute: parallel-delimiter-override-on-suppress="<string>"

Rule: For this cite only, replace the inter-cite join (be it the default delimiter or the value of parallel-delimiter-override) with the designated string if, and only if, this group is suppressed by the parallel-first or parallel-last rule. This attribute does not itself affect the rendering of the group on which it is set.

The parallel-delimiter-override-on-suppress attribute is used together with parallel-first or parallel-last:

<group parallel-first="container-title" parallel-delimiter-override-on-suppress=", ">
    <text variable="container-title" form="short"/>
</group>

In the citation Cass. 1ere civ., March 28, 2000, JCP G, 2000, 10296, J. Sainte-Rose; D, 2000, somm. p. 358, Ph. Delebecque, p. 900, S. Piedelievre, the journal name is “D.” (short for “Recueil Dalloz”) appears in the second reference, and is suppressed in the third and last. As a result, the third reference is joined with a comma.


As noted above, these attributes have been sufficient to address all instances of parallel citation that I have so far encountered. If further cases emerge that demand additional attributes or adjustments to the logic described here, there may be changes. For the present, though, this is looking pretty good.