  1. Bruce D'Arcus
  2. CiteProc Test

Commits

Frank Bennett  committed bb0cdf7

Update styles used for testing (these should eventually be broken down to essentials and placed in tests directly)

  • Participants
  • Parent commits 3451083
  • Branches default

Comments (0)

Files changed (3)

File styles/mcgill-guide-v7.csl

View file
 <?xml version="1.0" encoding="utf-8"?>
-<style xmlns="http://purl.org/net/xbiblio/csl" version="1.0" class="note" default-locale="en">
+<style xmlns="http://purl.org/net/xbiblio/csl" class="note" default-locale="en" version="1.1mlz1">
   <info>
-    <title>Canadian Guide to Uniform Legal Citation, 7th ed. (McGill Guide)</title>
-    <id>http://www.zotero.org/styles/mcgill-guide-v7</id>
-    <link href="http://www.zotero.org/styles/mcgill-guide-v7" rel="self"/>
+    <title>MLZ Canadian Guide to Uniform Legal Citation, 7th ed. (McGill Guide)</title>
+    <id>http://citationstylist.org/styles/mlz-mcgill-en-v7</id>
+    <link href="http://citationstylist.org/uploads/mlz-mcgill-guide-v7" rel="self"/>
     <link href="http://lawjournal.mcgill.ca/citeguide.php" rel="documentation"/>
     <author>
       <name>Liam McHugh-Russell</name>
     </contributor>
     <updated>2008-10-29T21:01:24+00:00</updated>
     <rights>This work is licensed under a Creative Commons
-	Attribution-Share Alike 3.0 Unported License
-	http://creativecommons.org/licenses/by-sa/3.0/</rights>
+    Attribution-Share Alike 3.0 Unported License
+    http://creativecommons.org/licenses/by-sa/3.0/</rights>
     <category field="law"/>
     <category citation-format="note"/>
   </info>
   <locale xml:lang="en">
     <style-options punctuation-in-quote="false"/>
+    <date form="text">
+      <date-part name="day" suffix=" "/>
+      <date-part name="month" suffix=" "/>
+      <date-part name="year"/>
+    </date>
     <terms>
+      <term form="long" name="article">at art.</term>
+      <term form="short" name="article">art.</term>
+      <term name="director">director</term>
+      <term form="short" name="director">dir</term>
+      <term name="unpublished">unpublished</term>
+      <term form="long" name="Section">
+        <single>section</single>
+        <multiple>sections</multiple>
+      </term>
+      <term form="short" name="Section">
+        <single>sec.</single>
+        <multiple>secs.</multiple>
+      </term>
+      <term form="long" name="Chapter">
+        <single>chapter</single>
+        <multiple>chapters</multiple>
+      </term>
+      <term form="short" name="Chapter">
+        <single>ch.</single>
+        <multiple>chs.</multiple>
+      </term>
+      <term form="symbol" name="Chapter">
+        <single>c.</single>
+        <multiple>cc.</multiple>
+      </term>
+      <term name="title">title</term>
+      <term form="short" name="title">tit.</term>
+      <term form="long" name="chapter">at chap</term>
+      <term form="long" name="column">at col</term>
+      <term form="long" name="figure">at fig</term>
+      <term form="short" name="folio">at f.</term>
+      <term form="long" name="issue">at no</term>
+      <term form="long" name="line">
+        <single>at l</single>
+        <multiple>at ll</multiple>
+      </term>
+      <term form="long" name="note">
+        <single>at n</single>
+        <multiple>at nn</multiple>
+      </term>
+      <term form="long" name="opus">op</term>
+      <term form="long" name="page">at</term>
+      <term form="long" name="paragraph">at para</term>
+      <term form="long" name="part">at pt</term>
+      <term form="long" name="section">at sec</term>
+      <term form="short" name="section">sec</term>
+      <term form="long" name="sub verbo">
+        <single>s&#160;v</single>
+        <multiple>s&#160;vv</multiple>
+      </term>
+
+      <term name="director" form="verb-short">dir</term>
+      <term name="editor" form="verb-short">ed</term>
+      <term name="editorial-director" form="verb-short">ed</term>
+      <term name="illustrator" form="verb-short">illus</term>
+      <term name="translator" form="verb-short">trans</term>
+      <term name="editortranslator" form="verb-short">ed &amp; trans</term>
+
+      <term form="long" name="verse">
+        <single>at v</single>
+        <multiple>at vv</multiple>
+      </term>
+      <term form="long" name="volume">
+        <single>at vol</single>
+        <multiple>at vols</multiple>
+      </term>
       <term name="et-al">et al</term>
       <term name="ordinal-01">st</term>
       <term name="ordinal-02">d</term>
       <term name="ordinal-04">th</term>
     </terms>
   </locale>
-  <macro name="editor">
+  <macro name="std-authority-key">
+    <names variable="authority">
+      <name/>
+      <institution form="short"/>
+    </names>
+  </macro>
+  <macro name="std-authority-full">
+    <group delimiter=" ">
+      <choose>
+        <if subjurisdictions="2">
+          <text macro="std-authority-child"/>
+          <text form="short" variable="jurisdiction"/>
+        </if>
+        <else>
+          <text form="short" variable="jurisdiction"/>
+          <text macro="std-authority-child"/>
+        </else>
+      </choose>
+    </group>
+  </macro>
+  <macro name="std-authority-parent">
+    <names variable="authority">
+      <name/>
+      <institution institution-parts="short" use-last="1"/>
+    </names>
+  </macro>
+  <macro name="std-authority-description">
+    <names variable="authority">
+      <name/>
+      <institution form="short" institution-parts="short" part-separator=" " reverse-order="true">
+        <institution-part name="short"/>
+      </institution>
+    </names>
+  </macro>
+  <macro name="us-session-number">
+    <group delimiter=" ">
+      <number form="ordinal" variable="chapter-number"/>
+      <choose>
+        <if variable="genre">
+          <text form="short" variable="genre"/>
+        </if>
+        <else>
+          <text value="Sess."/>
+        </else>
+      </choose>
+    </group>
+  </macro>
+  <macro name="us-case-first">
+    <choose>
+      <if variable="title">
+        <group delimiter=", ">
+          <text font-style="italic" form="short" variable="title"/>
+          <group delimiter=" ">
+            <choose>
+              <if variable="volume">
+                <number variable="volume"/>
+              </if>
+              <else-if match="none" variable="container-title collection-number">
+                <text macro="us-slip-opinion-locator"/>
+              </else-if>
+            </choose>
+            <group delimiter=", ">
+              <group delimiter=" ">
+                <group delimiter=" " prefix="[" suffix="]">
+                  <number variable="collection-number"/>
+                  <text form="short" variable="genre"/>
+                </group>
+                <text form="short" variable="container-title"/>
+              </group>
+              <group delimiter=", ">
+                <choose>
+                  <if type="article-newspaper">
+                    <date date-parts="year-month-day" form="text" variable="issued"/>
+                    <choose>
+                      <if match="all" variable="issued page">
+                        <text term="at"/>
+                      </if>
+                    </choose>
+                  </if>
+                </choose>
+              </group>
+            </group>
+            <group delimiter=" ">
+              <group delimiter=", ">
+                <group delimiter=" ">
+                  <choose>
+                    <if match="none" page="page">
+                      <label form="short" variable="page"/>
+                    </if>
+                  </choose>
+                  <number variable="page"/>
+                </group>
+                <choose>
+                  <if variable="page">
+                    <text macro="us-pinpoint-action"/>
+                  </if>
+                </choose>
+              </group>
+              <text macro="us-pinpoint-action"/>
+            </group>
+            <group delimiter=" " prefix="(" suffix=")">
+              <text macro="std-authority-full"/>
+              <choose>
+                <if variable="volume">
+                  <date date-parts="year" form="text" variable="issued"/>
+                </if>
+                <else>
+                  <date date-parts="year-month-day" form="text" variable="issued"/>
+                </else>
+              </choose>
+            </group>
+          </group>
+        </group>
+      </if>
+      <else>
+        <group delimiter=", ">
+          <text macro="std-authority-key"/>
+          <text form="short" variable="title"/>
+          <date form="text" variable="issued"/>
+          <text font-style="italic" variable="container-title"/>
+          <number variable="volume"/>
+          <group delimiter=" ">
+            <text variable="section"/>
+            <label form="short" variable="page"/>
+            <number variable="page"/>
+          </group>
+          <number variable="number"/>
+          <group delimiter=" ">
+            <text variable="genre"/>
+            <text font-variant="small-caps" macro="us-author"/>
+          </group>
+        </group>
+      </else>
+    </choose>
+  </macro>
+  <macro name="us-pinpoint-action">
+    <group delimiter=" ">
+      <choose>
+        <if locator="page" match="none" type="personal_communication">
+          <text label-form="short" macro="std-locator-non-page-label"/>
+        </if>
+        <else-if position="ibid-with-locator">
+          <text label-form="short" macro="std-locator-non-page-label-at"/>
+        </else-if>
+        <else-if is-numeric="title" match="all" type="book" variable="title">
+          <text label-form="short" macro="std-locator-non-page-label-at"/>
+        </else-if>
+        <else-if match="all" type="song" variable="section">
+          <text label-form="short" macro="std-locator-non-page-label-at"/>
+        </else-if>
+        <else-if is-numeric="title" match="all" type="song" variable="title locator">
+          <text label-form="short" macro="std-locator-non-page-label-at"/>
+        </else-if>
+        <else-if type="personal_communication">
+          <text label-form="short" macro="std-locator-non-page-label-at"/>
+        </else-if>
+        <else>
+          <number label-form="short" variable="locator"/>
+        </else>
+      </choose>
+    </group>
+  </macro>
+  
+  <macro name="us-slip-opinion-locator">
+    <group delimiter=", ">
+      <group delimiter=" ">
+        <text value="No."/>
+        <number text-case="normal" variable="number"/>
+      </group>
+      <group delimiter=" ">
+        <text variable="archive"/>
+        <text variable="archive_location"/>
+      </group>
+      <group delimiter=" ">
+        <choose>
+          <if variable="archive"/>
+          <else>
+            <text value="slip op."/>
+          </else>
+        </choose>
+        <text label-form="short" macro="std-locator-non-page-label-at"/>
+      </group>
+    </group>
+  </macro>
+  <macro name="us-bill-name-stub">
+    <group delimiter=" ">
+      <choose>
+        <if variable="event">
+          <text form="short" variable="event"/>
+        </if>
+        <else-if type="hearing"/>
+        <else>
+          <text macro="std-authority-child"/>
+        </else>
+      </choose>
+      <number variable="number"/>
+    </group>
+  </macro>
+  <macro name="us-author">
+    <choose>
+      <if type="interview">
+        <names variable="author">
+          <name and="symbol" delimiter-precedes-last="never" initialize="false" initialize-with="."/>
+          <institution use-first="1" use-last="1"/>
+        </names>
+      </if>
+      <else>
+        <names variable="author">
+          <name and="symbol" delimiter-precedes-last="never" form="long" initialize="false" initialize-with="."/>
+          <substitute>
+            <names variable="container-author"/>
+            <names variable="composer"/>
+          </substitute>
+        </names>
+      </else>
+    </choose>
+  </macro>
+  <macro name="std-locator-non-page-label">
+    <group delimiter=" ">
+      <choose>
+        <if locator="page" match="none">
+          <label form="short" variable="locator"/>
+        </if>
+      </choose>
+      <number variable="locator"/>
+    </group>
+  </macro>
+  <macro name="std-locator-non-page-label-at">
+    <group delimiter=" ">
+      <choose>
+        <if locator="page">
+          <text term="at"/>
+        </if>
+        <else>
+          <label form="short" variable="locator"/>
+        </else>
+      </choose>
+      <number variable="locator"/>
+    </group>
+  </macro>
+  <macro name="oscola-pinpoint-case">
+    <choose>
+      <if locator="paragraph" match="all" type="legal_case">
+        <number prefix="[" suffix="]" variable="locator"/>
+      </if>
+      <else>
+        <group delimiter=" ">
+          <label form="short" variable="locator"/>
+          <number variable="locator"/>
+        </group>
+      </else>
+    </choose>
+  </macro>
+  <macro name="oscola-non-paragraph-point-locators">
+    <group delimiter=" ">
+      <choose>
+        <if locator="paragraph" match="all" type="periodical"/>
+        <else>
+          <choose>
+            <if locator="page" match="none">
+              <label form="short" variable="locator"/>
+            </if>
+          </choose>
+          <number variable="locator"/>
+        </else>
+      </choose>
+    </group>
+  </macro>
+  <macro name="oscola-editor-translator-context">
+    <names variable="editor translator">
+      <name/>
+      <label form="short" prefix=" (" suffix=")"/>
+    </names>
+  </macro>
+  <macro name="oscola-court-hint">
+    <choose>
+      <if match="none" position="near-note">
+        <choose>
+          <if variable="container-title">
+            <text macro="std-authority-child" prefix="(" strip-periods="true" suffix=")"/>
+          </if>
+          <else-if variable="collection-number">
+            <text macro="std-authority-child-shy" prefix="(" strip-periods="true" suffix=")"/>
+          </else-if>
+        </choose>
+      </if>
+    </choose>
+  </macro>
+  <macro name="oscola-container-title">
+    <choose>
+      <if match="any" variable="container-title">
+        <text form="short" variable="container-title"/>
+      </if>
+      <else-if type="legal_case">
+        <text macro="std-authority-key"/>
+      </else-if>
+    </choose>
+  </macro>
+  <macro name="oscola-case-hinted-page">
+    <choose>
+      <if locator="page">
+        <group delimiter=", ">
+          <group delimiter=" ">
+            <number variable="page"/>
+            <group oops=", ">
+              <text macro="oscola-court-hint"/>
+            </group>
+            <choose>
+              <if variable="authority">
+                <number variable="locator"/>
+              </if>
+            </choose>
+          </group>
+          <number variable="locator"/>
+        </group>
+      </if>
+      <else>
+        <group delimiter=" ">
+          <number variable="page"/>
+          <group delimiter=" ">
+            <text macro="oscola-court-hint"/>
+            <text macro="oscola-pinpoint-case"/>
+          </group>
+        </group>
+      </else>
+    </choose>
+  </macro>
+  <macro name="std-locator-label">
+    <group delimiter=" ">
+      <label form="short" variable="locator"/>
+      <number label-form="short" variable="locator"/>
+    </group>
+  </macro>
+  <macro name="std-authority-child">
+    <names variable="authority">
+      <name/>
+      <institution institution-parts="short" use-first="1"/>
+    </names>
+  </macro>
+  <macro name="std-inventor-label">
+    <choose>
+      <if is-plural="author">
+        <text value="inventors"/>
+      </if>
+      <else>
+        <text value="inventor"/>
+      </else>
+    </choose>
+  </macro>
+  <macro name="std-patent-first">
+    <group delimiter=", ">
+      <group delimiter="; ">
+        <group delimiter=" ">
+          <names variable="author">
+            <name/>
+          </names>
+          <text macro="std-inventor-label" prefix="(" suffix=")"/>
+        </group>
+        <group delimiter=" ">
+          <names variable="recipient">
+            <name/>
+          </names>
+          <text macro="std-assignee-label" prefix="(" suffix=")"/>
+        </group>
+      </group>
+      <group delimiter=", ">
+        <text macro="std-patent-detail"/>
+        <group delimiter=", " prefix="(" suffix=")">
+          <group delimiter=" ">
+            <text value="filed"/>
+            <date form="text" variable="submitted"/>
+          </group>
+          <group delimiter=" ">
+            <text value="issued"/>
+            <date form="text" variable="issued"/>
+          </group>
+        </group>
+      </group>
+    </group>
+  </macro>
+  <macro name="std-patent-detail">
+    <group delimiter=", ">
+      <text variable="title"/>
+      <group delimiter=" ">
+        <text form="short" variable="jurisdiction"/>
+        <choose>
+          <if variable="genre">
+            <text variable="genre"/>
+            <text value="no."/>
+          </if>
+          <else>
+            <text value="Patent No."/>
+          </else>
+        </choose>
+        <number variable="number"/>
+      </group>
+    </group>
+  </macro>
+  <macro name="std-assignee-label">
+    <choose>
+      <if is-plural="recipient">
+        <text value="assignees"/>
+      </if>
+      <else>
+        <text value="assignee"/>
+      </else>
+    </choose>
+  </macro>
+  <macro name="std-authority-child-shy">
+    <names variable="authority">
+      <name/>
+      <institution institution-parts="short" stop-last="1" use-first="1"/>
+    </names>
+  </macro>
+  <macro name="std-collection-number">
+	<number variable="collection-number"/>
+  </macro>
+  <macro name="std-locator-paragraph-bracket">
+    <group delimiter=" ">
+      <choose>
+        <if locator="page paragraph" match="none">
+          <label form="short" variable="locator"/>
+        </if>
+      </choose>
+      <choose>
+        <if locator="paragraph">
+          <number prefix="[" suffix="]" variable="locator"/>
+        </if>
+        <else>
+          <number variable="locator"/>
+        </else>
+      </choose>
+    </group>
+  </macro>
+  <macro name="mcgill-sort-key">
+    <group delimiter=" ">
+      <text macro="mcgill-contributors-sort"/>
+      <text variable="title"/>
+      <text variable="genre"/>
+    </group>
+  </macro>
+  <macro name="mcgill-contributors-sort">
+    <names variable="author">
+      <name and="text" delimiter=", " delimiter-precedes-last="always" name-as-sort-order="all" sort-separator=", "/>
+      <label form="verb-short" prefix=", " suffix="."/>
+      <substitute>
+        <names variable="editor"/>
+        <names variable="translator"/>
+      </substitute>
+    </names>
+  </macro>
+  <macro name="mcgill-online">
+    <group delimiter=" ">
+      <text term="online"/>
+      <choose>
+        <if match="any" type="post post-weblog">
+          <text variable="container-title"/>
+        </if>
+      </choose>
+      <text prefix="&lt;" suffix="&gt;" variable="URL"/>
+    </group>
+  </macro>
+  <macro name="gb-case-unreported-detail">
+    <group delimiter=" ">
+      <date date-parts="year" form="text" prefix="[" suffix="]" variable="issued"/>
+      <group delimiter=" ">
+        <text value="Case no"/>
+        <number variable="number"/>
+      </group>
+      <group delimiter=", " prefix="(" suffix=")">
+        <text macro="std-authority-full"/>
+        <text variable="publisher-place"/>
+        <date date-parts="year-month-day" form="text" variable="issued"/>
+      </group>
+    </group>
+  </macro>
+
+
+  <macro name="gb-case-reported-detail">
+    <group delimiter=" ">
+      <choose>
+        <if variable="collection-number">
+          <text macro="std-collection-number" prefix="[" suffix="]"/>
+        </if>
+        <else>
+          <choose>
+            <if variable="issued">
+              <date date-parts="year" form="text" prefix="(" suffix=")" variable="issued"/>
+            </if>
+            <else>
+              <date date-parts="year" form="text" prefix="(" suffix=")" variable="issued"/>
+            </else>
+          </choose>
+        </else>
+      </choose>
+      <number variable="volume"/>
+      <text macro="oscola-container-title"/>
+    </group>
+  </macro>  
+
+  <macro name="publisher-and-year">
+    <group delimiter=", ">
+      <choose>
+        <if type="motion_picture broadcast">
+          <text form="short" variable="medium"/>
+        </if>
+      </choose>
+      <choose>
+        <if type="paper-conference">
+          <choose>
+            <if match="none" variable="container-title">
+              <group delimiter=" ">
+                <text value="Paper delivered at the"/>
+                <text variable="event"/>
+              </group>
+            </if>
+          </choose>
+        </if>
+      </choose>
+      <choose>
+        <if match="none" type="chapter paper-conference song">
+          <text macro="mcgill-editor-note"/>
+        </if>
+      </choose>
+      <group delimiter=": ">
+        <choose>
+          <if variable="publisher-place">
+            <text variable="publisher-place"/>
+          </if>
+          <else>
+            <text variable="publisher-place"/>
+          </else>
+        </choose>
+        <text form="short" variable="publisher"/>
+      </group>
+      <choose>
+        <if type="paper-conference">
+          <choose>
+            <if match="none" variable="container-title">
+              <date date-parts="year-month-day" form="text" variable="issued"/>
+            </if>
+            <else>
+              <date date-parts="year" form="text" variable="issued"/>
+            </else>
+          </choose>
+        </if>
+        <else-if type="broadcast video">
+          <date date-parts="year-month-day" form="text" variable="issued"/>
+        </else-if>
+        <else-if match="all" type="song" variable="collection-title">
+          <choose>
+            <if match="none" variable="container-title">
+              <date date-parts="year-month-day" form="text" variable="issued"/>
+            </if>
+            <else>
+              <date date-parts="year" form="text" variable="issued"/>
+            </else>
+          </choose>
+        </else-if>
+        <else>
+          <date date-parts="year" form="text" variable="issued"/>
+        </else>
+      </choose>
+    </group>
+  </macro>
+  <macro name="mcgill-point-locators-comma">
+    <choose>
+      <if match="any" type="thesis article-newspaper">
+        <text label-form="long" macro="std-locator-label"/>
+      </if>
+    </choose>
+  </macro>
+  <macro name="mcgill-point-locators-space-maybe">
+    <choose>
+      <if type="song book report motion_picture graphic bill legal_case">
+        <choose>
+          <if match="none" variable="page-first">
+            <text label-form="long" macro="std-locator-label"/>
+          </if>
+        </choose>
+      </if>
+    </choose>
+  </macro>
+  <macro name="mcgill-point-locators-space-always">
+    <group delimiter=" ">
+      <text variable="locator-revision"/>
+      <text label-form="long" macro="std-locator-label"/>
+    </group>
+  </macro>
+  <macro name="coe-case-first">
+    <group delimiter=" ">
+      <group delimiter=", ">
+        <text font-style="italic" variable="title"/>
+        <text macro="coe-case-detail"/>
+      </group>
+      <text label-form="long" macro="std-locator-label"/>
+    </group>
+  </macro>
+  <macro name="coe-case-detail-ordinary">
+    <group delimiter=" ">
+      <date date-parts="year" form="text" prefix="(" suffix=")" variable="issued"/>
+      <number variable="volume"/>
+      <text form="short" variable="container-title"/>
+      <number variable="issue"/>
+      <number variable="page"/>
+    </group>
+  </macro>
+  <macro name="coe-case-detail">
+    <choose>
+      <if variable="container-title">
+        <choose>
+          <if match="all" variable="volume collection-number">
+            <choose>
+              <if is-numeric="volume" match="none">
+                <group delimiter=" ">
+                  <group delimiter=", ">
+                    <number variable="volume"/>
+                    <number prefix="[" suffix="]" variable="collection-number"/>
+                  </group>
+                  <text macro="std-authority-key"/>
+                  <number variable="page"/>
+                </group>
+              </if>
+              <else>
+                <text macro="coe-case-detail-ordinary"/>
+              </else>
+            </choose>
+          </if>
+          <else>
+            <text macro="coe-case-detail-ordinary"/>
+          </else>
+        </choose>
+      </if>
+      <else>
+        <group delimiter=" ">
+          <group delimiter=" ">
+            <text value="App no"/>
+            <number variable="number"/>
+          </group>
+          <group delimiter=", " prefix="(" suffix=")">
+            <text macro="std-authority-parent"/>
+            <date date-parts="year-month-day" form="text" variable="issued"/>
+          </group>
+        </group>
+      </else>
+    </choose>
+  </macro>
+  <macro name="jurisdictions-patent">
+    <choose>
+      <if jurisdiction="us">
+        <choose>
+          <if position="near-note">
+            <group delimiter=" ">
+              <text macro="std-patent-detail"/>
+              <group delimiter=" ">
+                <label form="long" variable="locator"/>
+                <number variable="locator"/>
+              </group>
+            </group>
+          </if>
+          <else>
+            <group delimiter=" ">
+              <text macro="std-patent-first"/>
+              <group delimiter=" ">
+                <label form="long" variable="locator"/>
+                <number variable="locator"/>
+              </group>
+            </group>
+          </else>
+        </choose>
+      </if>
+      <else>
+        <choose>
+          <if position="near-note">
+            <group delimiter=" ">
+              <text macro="std-patent-detail"/>
+              <group delimiter=" ">
+                <label form="long" variable="locator"/>
+                <number variable="locator"/>
+              </group>
+            </group>
+          </if>
+          <else>
+            <group delimiter=" ">
+              <text macro="std-patent-first"/>
+              <group delimiter=" ">
+                <label form="long" variable="locator"/>
+                <number variable="locator"/>
+              </group>
+            </group>
+          </else>
+        </choose>
+      </else>
+    </choose>
+  </macro>
+
+  <macro name="ca-case-unreported-detail">
+    <group delimiter=" ">
+      <text variable="publisher-place"/>
+      <number variable="number"/>
+    </group>
+  </macro>
+  <macro name="ca-case-nominate-yearvol-detail">
+    <group delimiter=" ">
+      <number prefix="[" suffix="]" variable="collection-number"/>
+      <number variable="volume"/>
+      <text form="short" variable="container-title"/>
+    </group>
+  </macro>
+  <macro name="ca-case-nominate-vol-detail">
+    <group delimiter=" ">
+      <number variable="volume"/>
+      <text form="short" variable="container-title"/>
+    </group>
+  </macro>
+  <macro name="ca-case-nominate">
+    <choose>
+      <if variable="collection-number">
+        <text macro="ca-case-nominate-yearvol-detail"/>
+      </if>
+      <else>
+        <text macro="ca-case-nominate-vol-detail"/>
+      </else>
+    </choose>
+  </macro>
+  <macro name="ca-case-neutral-detail">
+    <group delimiter=" ">
+      <number variable="collection-number"/>
+      <text macro="std-authority-key"/>
+    </group>
+  </macro>
+  <macro name="ca-case-detail">
+    <group delimiter=" ">
+      <text macro="ca-case-detail-stub"/>
+      <number variable="page-first"/>
+    </group>
+  </macro>
+  <macro name="ca-case-detail-stub">
+    <choose>
+      <if match="none" variable="container-title">
+        <choose>
+          <if variable="collection-number">
+            <text macro="ca-case-neutral-detail"/>
+          </if>
+          <else>
+            <text macro="ca-case-unreported-detail"/>
+          </else>
+        </choose>
+      </if>
+      <else>
+        <text macro="ca-case-nominate"/>
+      </else>
+    </choose>
+  </macro>
+  <macro name="ca-case-title">
+    <group delimiter=" ">
+      <choose>
+        <if match="none" position="near-note">
+          <text font-style="italic" form="short" variable="title"/>
+          <choose>
+            <if match="any" variable="container-title collection-number"> 
+              <date date-parts="year" form="text" prefix="(" suffix=")" variable="issued"/>
+            </if>
+            <else>
+              <date date-parts="year-month-day" form="text" prefix="(" suffix=")" variable="issued"/>
+            </else>
+          </choose>
+        </if>
+        <else>
+          <text font-style="italic" form="short" variable="title"/>
+        </else>
+      </choose>
+    </group>
+  </macro>
+  <macro name="mcgill-secondary-subsequent-default">
+    <group delimiter=", ">
+      <text macro="mcgill-contributors-short"/>
+      <text macro="mcgill-title-short"/>
+    </group>
+  </macro>
+  <macro name="us-code-detail">
+    <group delimiter=" ">
+      <number variable="volume"/>
+      <choose>
+        <if type="legislation">
+          <text font-variant="small-caps" form="short" variable="container-title"/>
+          <number label-form="short" variable="number"/>
+        </if>
+        <else>
+          <text form="short" variable="container-title"/>
+        </else>
+      </choose>
+     </group>
+  </macro>
+  <macro name="us-legislation-first">
+    <group delimiter=" ">
+      <group delimiter=", ">
+        <text font-style="italic" form="short" variable="title"/>
+        <choose>
+          <if type="gazette">
+            <group delimiter=" ">
+              <choose>
+                <if is-numeric="number">
+                  <text value="Pub. L. No."/>
+                </if>
+              </choose>
+              <number label-form="short" variable="number"/>
+            </group>
+          </if>
+        </choose>
+        <group delimiter=" ">
+          <text macro="us-code-detail"/>
+          <number variable="page"/>
+          <choose>
+            <if locator="page" match="none">
+              <text label-form="short" macro="std-locator-non-page-label"/>
+            </if>
+          </choose>
+        </group>
+        <text label-form="short" macro="std-locator-non-page-label"/>
+        <choose>
+          <if variable="number">
+            <text label-form="short" macro="std-locator-non-page-label"/>
+          </if>
+          <else-if locator="page" match="all" variable="page">
+            <text label-form="short" macro="std-locator-non-page-label"/>
+          </else-if>
+          <else-if variable="container-title"/>
+          <else-if locator="section paragraph"/>
+          <else-if match="none" variable="container-title">
+            <text label-form="short" macro="std-locator-non-page-label"/>
+          </else-if>
+        </choose>
+      </group>
+      <text label-form="short" macro="std-locator-non-page-label"/>
+      <group delimiter=" " prefix="(" suffix=")">
+        <text form="short" variable="publisher"/>
+        <choose>
+          <if variable="publication-date">
+            <date date-parts="year" form="text" variable="publication-date"/>
+          </if>
+          <else>
+            <date date-parts="year" form="text" variable="issued"/>
+          </else>
+        </choose>
+      </group>
+    </group>
+  </macro>
+  <macro name="nz-legislation-first">
+    <group delimiter=" ">
+      <text font-style="italic" form="short" variable="title"/>
+      <group delimiter=", ">
+        <group delimiter=" ">
+          <date date-parts="year" form="text" variable="issued"/>
+          <group delimiter=" " prefix="(" suffix=")">
+            <choose>
+              <if jurisdiction="gb" match="none">
+                <text form="short" variable="jurisdiction"/>
+              </if>
+            </choose>
+            <number variable="collection-number"/>
+            <text form="short" variable="genre"/>
+            <number label-form="short" variable="number"/>
+          </group>
+        </group>
+        <text label-form="short" macro="std-locator-label"/>
+      </group>
+    </group>
+  </macro>
+
+  <macro name="mcgill-us-bill-subsequent">
+    <group delimiter=" ">
+      <text macro="us-bill-front"/>
+      <text macro="us-bill-end"/>
+    </group>
+  </macro>
+  <macro name="us-bill-middle">
+    <group delimiter=", ">
+      <choose>
+        <if variable="title">
+          <text macro="us-bill-name-stub"/>
+        </if>
+      </choose>
+      <group delimiter=" ">
+        <number form="ordinal" variable="collection-number"/>
+        <text macro="std-authority-parent"/>
+      </group>
+      <choose>
+        <if subjurisdictions="1">
+          <text macro="us-session-number"/>
+        </if>
+      </choose>
+    </group>
+  </macro>
+  <macro name="us-hearing-front">
+    <group delimiter="" quotes="true">
+      <text variable="title"/>
+      <group delimiter=" ">
+        <text value=": Hearing"/>
+        <group delimiter=" ">
+          <text value="on"/>
+          <number variable="number"/>
+        </group>
+        <group delimiter=" ">
+          <text value="Before the"/>
+          <text macro="std-authority-child"/>
+        </group>
+      </group>
+    </group>
+  </macro>
+  <macro name="us-bill-front">
+    <choose>
+      <if variable="title">
+        <choose>
+          <if type="hearing">
+            <text macro="us-hearing-front"/>
+          </if>
+          <else>
+            <text variable="title" font-style="italic"/>
+          </else>
+        </choose>
+      </if>
+      <else>
+        <text macro="us-bill-name-stub"/>
+      </else>
+    </choose>
+  </macro>
+  <macro name="us-bill-end">
+    <group delimiter=" " prefix="(" suffix=")">
+      <choose>
+        <if match="none" subjurisdictions="1">
+          <text macro="us-session-number"/>
+        </if>
+        <else>
+          <text form="short" variable="jurisdiction"/>
+        </else>
+      </choose>
+      <date date-parts="year" form="text" variable="issued"/>
+    </group>
+  </macro>
+  <macro name="mcgill-us-legislation-subsequent">
+    <choose>
+      <if match="any" variable="title container-title">
+        <group delimiter=", ">
+          <text font-style="italic" variable="title"/>
+          <group delimiter=" ">
+            <group delimiter=" ">
+              <text font-style="italic" value="supra"/>
+              <text value="note"/>
+              <text variable="first-reference-note-number"/>
+            </group>
+            <group delimiter=", ">
+              <choose>
+                <if is-numeric="number" match="none">
+                  <number label-form="short" variable="number"/>
+                </if>
+              </choose>
+              <group delimiter=" ">
+                <group delimiter=" " is-parallel="true">
+                  <text macro="us-code-detail"/>
+                </group>
+                <text label-form="short" macro="std-locator-non-page-label"/>
+              </group>
+            </group>
+          </group>
+        </group>
+      </if>
+      <else>
+        <text macro="us-legislation-first"/>
+      </else>
+    </choose>
+  </macro>
+
+  <macro name="mcgill-un-resolution-first">
+    <group delimiter=", ">
+      <text font-style="italic" form="short" variable="title"/>
+      <group delimiter=" ">
+        <text macro="std-authority-parent"/>
+        <text form="short" variable="event"/>
+        <number variable="number"/>
+        <date date-parts="year-month-day" form="text" prefix="(" suffix=")" variable="issued"/>
+        <text form="short" variable="container-title"/>
+        <choose>
+          <if is-numeric="collection-number">
+            <number form="ordinal" variable="collection-number"/>
+            <text value="Session"/>
+          </if>
+          <else>
+            <number variable="collection-number"/>
+          </else>
+        </choose>
+        <choose>
+          <if variable="volume archive_location">
+            <group delimiter=", ">
+              <group delimiter=" ">
+                <group delimiter=" ">
+                  <text value="Supp"/>
+                  <number variable="chapter-number"/>
+                </group>
+                <group delimiter=" ">
+                  <text value="UN Doc"/>
+                  <text variable="archive_location"/>
+                </group>
+              </group>
+            </group>
+          </if>
+        </choose>
+        <group delimiter=" ">
+          <label form="long" variable="locator"/>
+          <number label-form="short" variable="locator"/>
+        </group>
+      </group>
+    </group>
+  </macro>
+  <macro name="mcgill-citation">
+    <choose>
+      <if match="any" type="treaty" variable="jurisdiction">
+        <text macro="jurisdiction-filter"/>
+      </if>
+      <else-if position="ibid-with-locator">
+        <text macro="ibid-with-locator"/>
+      </else-if>
+      <else-if position="ibid">
+        <text font-style="italic" term="ibid"/>
+      </else-if>
+      <else-if position="subsequent">
+        <text macro="mcgill-secondary-subsequent"/>
+      </else-if>
+      <else>
+        <text macro="mcgill-secondary-first"/>
+      </else>
+    </choose>
+  </macro>
+  <macro name="mcgill-treaty-subsequent">
+    <group delimiter=", ">
+      <text variable="title"/>
+      <choose>
+        <if disambiguate="true">
+          <names variable="author">
+            <name/>
+            <institution and="text" delimiter=", " institution-parts="short"/>
+          </names>
+          <group delimiter=" ">
+            <choose>
+              <if variable="event-date">
+                <date date-parts="year-month-day" form="text" variable="event-date"/>
+              </if>
+              <else-if variable="available-date">
+                <text value="opened for signature"/>
+                <date date-parts="year-month-day" form="text" variable="available-date"/>
+              </else-if>
+              <else-if variable="issued">
+                <text value="entered into force"/>
+                <date date-parts="year-month-day" form="text" variable="issued"/>
+              </else-if>
+              <else>
+                <text value="adopted"/>
+                <date date-parts="year-month-day" form="text" variable="original-date"/>
+              </else>
+            </choose>
+          </group>
+        </if>
+      </choose>
+      <group delimiter=" " is-parallel="false master">
+        <text font-style="italic" value="supra"/>
+        <text value="note"/>
+        <text variable="first-reference-note-number"/>
+        <text label-form="long" macro="std-locator-label"/>
+      </group>
+    </group>
+  </macro>
+  <macro name="mcgill-treaty-first">
+    <group delimiter=", ">
+      <text variable="title"/>
+      <names variable="author">
+        <name/>
+        <institution and="text" delimiter=", " institution-parts="short"/>
+      </names>
+      <group delimiter=" ">
+        <group delimiter=", ">
+          <group delimiter=" ">
+            <choose>
+              <if variable="event-date">
+                <date date-parts="year-month-day" form="text" variable="event-date"/>
+              </if>
+              <else-if variable="available-date">
+                <text value="opened for signature"/>
+                <date date-parts="year-month-day" form="text" variable="available-date"/>
+              </else-if>
+              <else-if variable="issued">
+                <text value="entered into force"/>
+                <date date-parts="year-month-day" form="text" variable="issued"/>
+              </else-if>
+              <else>
+                <text value="adopted"/>
+                <date date-parts="year-month-day" form="text" variable="original-date"/>
+              </else>
+            </choose>
+          </group>
+          <group delimiter=" ">
+            <choose>
+              <if match="none" variable="number">
+                <number prefix="(" suffix=")" variable="collection-number"/>
+              </if>
+            </choose>
+            <number variable="volume"/>
+            <text form="short" variable="container-title"/>
+            <choose>
+              <if variable="number">
+                <number variable="collection-number"/>
+                <group delimiter=" ">
+                  <label variable="number"/>
+                  <number variable="number"/>
+                </group>
+              </if>
+              <else>
+                <number variable="page"/>
+              </else>
+            </choose>
+          </group>
+          <group delimiter=", " prefix="(" suffix=")">
+            <choose>
+              <if match="any" variable="event-date available-date">
+                <text value="entered into force"/>
+                <date date-parts="year-month-day" form="text" variable="issued"/>
+              </if>
+              <else-if match="any" variable="event-date available-date issued">
+                <text value="adopted"/>
+                <date date-parts="year-month-day" form="text" variable="original-date"/>
+              </else-if>
+            </choose>
+          </group>
+        </group>
+      </group>
+      <text label-form="long" macro="std-locator-label"/>
+    </group>
+  </macro>
+  <macro name="jurisdictions-treaty">
+    <choose>
+      <if position="subsequent">
+        <text macro="mcgill-treaty-subsequent"/>
+      </if>
+      <else>
+        <text macro="mcgill-treaty-first"/>
+      </else>
+    </choose>
+  </macro>
+  <macro name="us-report-first">
+    <text value="[us-report-first]"/>
+  </macro>
+
+  <macro name="us-bill-first">
+    <group delimiter=" ">
+      <group delimiter=", ">
+        <text macro="us-bill-front"/>
+        <text macro="us-bill-middle"/>
+      </group>
+      <group delimiter=" ">
+        <label form="short" variable="locator"/>
+        <number label-form="short" variable="locator"/>
+      </group>
+      <text macro="us-bill-end"/>
+    </group>
+  </macro>
+  <macro name="mcgill-secondary-subsequent">
+    <group delimiter=" ">
+      <group delimiter=", ">
+        <choose>
+          <if type="patent">
+            <text macro="std-patent-detail"/>
+          </if>
+          <else-if match="all" type="bill" variable="title">
+            <text font-style="italic" variable="title"/>
+          </else-if>
+          <else-if jurisdiction="us" match="all" type="gazette">
+            <group delimiter=", ">
+              <text font-style="italic" variable="title"/>
+              <text macro="us-code-detail"/>
+            </group>
+          </else-if>
+          <else-if match="all" type="legislation" variable="title">
+            <text font-style="italic" variable="title"/>
+          </else-if>
+          <else-if jurisdiction="us" match="all" type="legislation">
+            <text macro="us-code-detail"/>
+          </else-if>
+          <else-if jurisdiction="us" match="all" type="bill">
+            <text macro="mcgill-us-bill-subsequent"/>
+          </else-if>
+          <else>
+            <text macro="mcgill-secondary-subsequent-default"/>
+          </else>
+        </choose>
+        <group delimiter=" ">
+          <text font-style="italic" value="supra"/>
+          <text value="note"/>
+          <text variable="first-reference-note-number"/>
+        </group>
+      </group>
+      <choose>
+        <if type="gazette legislation">
+          <text label-form="short" macro="std-locator-non-page-label"/>
+        </if>
+        <else>
+          <text label-form="long" macro="std-locator-label"/>
+        </else>
+      </choose>
+    </group>
+  </macro>
+  <macro name="mcgill-secondary-first">
+    <group delimiter=", ">
+      <group delimiter=" ">
+        <group delimiter=" ">
+          <group delimiter=", ">
+            <group delimiter=", ">
+              <choose>
+                <if type="thesis">
+                  <text macro="mcgill-note-thesis"/>
+                </if>
+                <else-if type="graphic">
+                  <choose>
+                    <if variable="collection-title container-title">
+                      <text macro="mcgill-note-chapter"/>
+                    </if>
+                    <else>
+                      <text macro="mcgill-note-book"/>
+                    </else>
+                  </choose>
+                </else-if>
+                <else-if match="any" type="chapter paper-conference song">
+                  <text macro="mcgill-note-chapter"/>
+                </else-if>
+                <else-if match="any" type="bill book legal_case report">
+                  <text macro="mcgill-note-book"/>
+                </else-if>
+                <else-if type="article-newspaper">
+                  <text macro="mcgill-note-article-newspaper"/>
+                </else-if>
+                <else-if type="article-magazine">
+                  <text macro="mcgill-note-article-magazine"/>
+                </else-if>
+                <else-if match="any" type="article-journal post post-weblog">
+                  <text macro="mcgill-note-article-journal"/>
+                </else-if>
+                <else-if match="all" type="motion_picture">
+                  <text macro="mcgill-note-book"/>
+                </else-if>
+                <else-if match="all" type="broadcast" variable="container-title">
+                  <text macro="mcgill-note-chapter"/>
+                </else-if>
+                <else-if match="all" type="broadcast">
+                  <text macro="mcgill-note-book"/>
+                </else-if>
+                <else-if match="all" type="video">
+                  <text macro="mcgill-note-article-newspaper"/>
+                </else-if>
+                <else>
+                  <group delimiter=", ">
+                    <text macro="mcgill-contributors-note"/>
+                    <group delimiter=" ">
+                      <group delimiter=" ">
+                        <group delimiter=", ">
+                          <choose>
+                            <if type="entry-dictionary entry-encyclopedia">
+                              <text quotes="true" text-case="title" variable="title"/>
+                            </if>
+                            <else>
+                              <text text-case="title" variable="title"/>
+                            </else>
+                          </choose>
+                          <text macro="mcgill-description-note"/>
+                          <text macro="mcgill-secondary-contributors-note"/>
+                        </group>
+                        <group delimiter="">
+                          <text macro="mcgill-container-contributors-note"/>
+                          <text macro="mcgill-container-title-note"/>
+                        </group>
+                      </group>
+                      <group delimiter=", ">
+                        <text macro="mcgill-locators-note"/>
+                        <text variable="collection-title"/>
+                      </group>
+                      <text macro="mcgill-issue-note"/>
+                    </group>
+                    <text macro="mcgill-locators-newspaper"/>
+                  </group>
+                </else>
+              </choose>
+            </group>
+            <text macro="mcgill-point-locators-comma"/>
+          </group>
+          <text macro="mcgill-point-locators-space-maybe"/>
+        </group>
+        <text macro="mcgill-point-locators-space-always"/>
+        <text macro="mcgill-hereinafter"/>
+      </group>
+      <text macro="mcgill-access-note"/>
+    </group>
+  </macro>
+  <macro name="jurisdictions-report">
+    <choose>
+      <if jurisdiction="us">
+        <text macro="us-report-first"/>
+      </if>
+      <else-if jurisdiction="gb">
+        <text macro="gb-report-first"/>
+      </else-if>
+      <else>
+        <text macro="ca-report-first"/>
+      </else>
+    </choose>
+  </macro>
+
+  <macro name="jurisdictions-legislation">
+    <choose>
+      <if jurisdiction="nz gb" match="any">
+        <choose>
+          <if position="subsequent">
+            <text macro="mcgill-secondary-subsequent"/>
+          </if>
+          <else>
+            <text macro="nz-legislation-first"/>
+          </else>
+        </choose>
+      </if>
+      <else-if jurisdiction="us">
+        <choose>
+          <if position="subsequent">
+            <text macro="mcgill-us-legislation-subsequent"/>
+          </if>
+          <else>
+            <text macro="us-legislation-first"/>
+          </else>
+        </choose>
+      </else-if>
+      <else>
+        <text macro="ca-legislation-first"/>
+      </else>
+    </choose>
+  </macro>
+  <macro name="jurisdictions-hearing">
+    <choose>
+      <if jurisdiction="us">
+        <text macro="us-bill-first"/>
+      </if>
+      <else-if jurisdiction="gb">
+        <text macro="gb-hearing-first"/>
+      </else-if>
+      <else>
+        <text macro="ca-hearing-first"/>
+      </else>
+    </choose>
+  </macro>
+
+  <macro name="jurisdictions-case">
+    <group delimiter=" ">
+      <choose>
+        <if jurisdiction="us">
+          <text macro="us-case-first"/>
+        </if>
+        <else-if jurisdiction="gb">
+          <text macro="gb-case-first"/>
+        </else-if>
+        <else-if jurisdiction="coe.int">
+          <text macro="coe-case-first"/>
+        </else-if>
+        <else>
+          <group delimiter=" ">
+            <text macro="ca-case-first"/>
+            <group delimiter=" ">
+              <label form="long" variable="locator"/>
+              <number variable="locator"/>
+            </group>
+            <group delimiter=", " prefix="(" suffix=")">
+              <group delimiter=" ">
+                <text form="short" variable="jurisdiction"/>
+                <choose>
+                  <if subjurisdictions="1">
+                    <text macro="std-authority-full"/>
+                  </if>
+                  <else>
+                    <text macro="std-authority-child"/>
+                  </else>
+                </choose>
+              </group>
+              <choose>
+                <if variable="container-title" match="all">
+                  <text variable="publisher-place"/>
+                </if>
+              </choose>
+            </group>
+          </group>
+        </else>
+      </choose>
+      <text font-style="italic" prefix="[" suffix="]" variable="hereinafter"/>
+    </group>
+  </macro>
+  <macro name="jurisdictions-bill">
+    <choose>
+      <if jurisdiction="us">
+        <text macro="us-bill-first"/>
+      </if>
+      <else-if jurisdiction="gb">
+        <text macro="gb-bill-first"/>
+      </else-if>
+      <else-if jurisdiction="un.org">
+        <text macro="mcgill-un-resolution-first"/>
+      </else-if>
+      <else>
+        <text macro="ca-bill-first"/>
+      </else>
+    </choose>
+  </macro>
+
+  <macro name="jurisdiction-filter">
+    <choose>
+      <if position="ibid-with-locator">
+        <text macro="ibid-with-locator"/>
+      </if>
+      <else-if position="ibid">
+        <text font-style="italic" term="ibid"/>
+      </else-if>
+      <else-if match="any" type="legislation gazette">
+        <text macro="jurisdictions-legislation"/>
+      </else-if>
+      <else-if match="any" type="treaty">
+        <text macro="jurisdictions-treaty"/>
+      </else-if>
+      <else-if position="subsequent">
+        <text macro="mcgill-secondary-subsequent"/>
+      </else-if>
+      <else-if type="bill">
+        <text macro="jurisdictions-bill"/>
+      </else-if>
+      <else-if type="legal_case">
+        <text macro="jurisdictions-case"/>
+      </else-if>
+      <else-if type="hearing">
+        <text macro="jurisdictions-hearing"/>
+      </else-if>
+      <else-if type="report">
+        <text macro="jurisdictions-report"/>
+      </else-if>
+      <else-if type="patent">
+        <text macro="jurisdictions-patent"/>
+      </else-if>
+      <else>
+        <text macro="mcgill-secondary-first"/>
+      </else>
+    </choose>
+  </macro>
+  <macro name="ibid-with-locator">
+    <choose>
+      <if variable="locator">
+        <group delimiter=", ">
+          <text font-style="italic" term="ibid" text-case="capitalize-first"/>
+          <text label-form="long" macro="std-locator-label"/>
+        </group>
+      </if>
+      <else>
+        <text font-style="italic" term="ibid" text-case="capitalize-first"/>
+      </else>
+    </choose>
+  </macro>
+
+  <macro name="gb-report-first">
+    <group delimiter=" ">
+      <group delimiter=", ">
+        <names variable="author">
+          <name name-as-sort-order="all" sort-separator=" "/>
+          <institution use-first="1"/>
+          <label form="short" prefix=" (" suffix=")"/>      
+          <substitute>
+            <text macro="oscola-editor-translator-context"/>
+          </substitute>
+        </names>
+        <group delimiter=" " font-style="italic">
+          <text form="short" variable="title"/>
+        </group>
+      </group>
+      <group delimiter=", " prefix="(" suffix=")">
+        <text variable="genre"/>
+        <choose>
+          <if match="all" type="report" variable="collection-title number">
+            <group delimiter=" ">
+              <text form="short" variable="collection-title"/>
+              <number variable="number"/>
+            </group>
+            <date date-parts="year" form="text" variable="issued"/>
+          </if>
+          <else-if variable="number">
+            <text form="short" variable="publisher"/>
+            <number variable="number"/>
+            <date date-parts="year" form="text" variable="issued"/>
+          </else-if>
+          <else>
+            <date date-parts="year" form="text" variable="issued"/>
+            <group delimiter=" " subgroup-delimiter=", " subgroup-delimiter-precedes-last="always">
+              <text form="short" variable="publisher"/>
+              <text variable="publisher-place"/>
+            </group>
+          </else>
+        </choose>
+      </group>
+      <text macro="oscola-non-paragraph-point-locators"/>
+    </group>
+  </macro>
+  
+  <macro name="gb-hearing-first">
+    <group delimiter=", ">
+      <group delimiter=" ">
+        <group delimiter=" ">
+          <names variable="author">
+            <name/>
+            <institution institution-parts="short" use-first="1"/>
+            <substitute>
+              <text form="short" variable="title"/>
+            </substitute>
+          </names>
+          <text value="Deb"/>
+          <text prefix="(" suffix=")" variable="genre"/>
+        </group>
+        <date date-parts="year-month-day" form="text" variable="issued"/>
+      </group>
+      <group delimiter=" ">
+        <label form="short" variable="volume"/>
+        <number variable="volume"/>
+      </group>
+      <text macro="std-locator-non-page-label"/>
+    </group>
+  </macro>
+  <macro name="gb-case-first">
+    <group delimiter=" ">
+      <group delimiter=", ">
+        <text font-style="italic" form="short" variable="title"/>
+        <choose>
+          <if match="any" variable="collection-number container-title">
+            <group delimiter=" ">
+              <text macro="gb-case-reported-detail"/>
+              <text macro="oscola-case-hinted-page"/>
+            </group>
+          </if>
+        </choose>
+      </group>
+      <choose>
+        <if match="none" variable="container-title collection-number">
+          <text macro="gb-case-unreported-detail"/>
+          <text macro="oscola-case-hinted-page"/>
+        </if>
+      </choose>
+    </group>
+  </macro>
+
+  <macro name="gb-bill-first">
+    <text value="[gb-bill-first]"/>
+  </macro>
+  <macro name="ca-report-first">
+    <text value="[ca-report-first]"/>
+  </macro>
+
+
+  <macro name="ca-legislation-first">
+    <text value="[ca-legislation-first]"/>
+  </macro>
+  <macro name="ca-hearing-first">
+    <text value="[ca-hearing-first]"/>
+  </macro>
+  <macro name="ca-case-first">
+    <group delimiter=", ">
+      <text macro="ca-case-title"/>
+      <text macro="ca-case-detail"/>
+    </group>
+  </macro>
+  <macro name="ca-bill-first">
+    <group delimiter=", ">
+      <number prefix="P.L. " variable="number"/>
+      <text font-style="italic" variable="title"/>
+      <text form="short" variable="publisher"/>
+      <text macro="mcgill-contributors"/>
+      <text variable="note"/>
+      <date date-parts="year" form="text" variable="issued"/>
+    </group>
+  </macro>
+  <macro name="mcgill-hereinafter">
+    <choose>
+      <if match="all" position="first" type="legal_case">
+        <text font-style="italic" prefix="[" suffix="]" variable="hereinafter"/>
+      </if>
+    </choose>
+    <choose>
+      <if match="all" position="first" type="bill">
+        <text prefix="(" suffix=")" variable="references"/>
+      </if>
+    </choose>
+  </macro>
+  <macro name="mcgill-translator-note">
+    <names variable="translator">
+      <label form="verb-short" suffix=" "/>
+      <name and="text" delimiter=", " sort-separator=", "/>
+    </names>
+  </macro>
+  <macro name="mcgill-translator">
+    <names variable="translator">
+      <label form="verb-short" suffix=" "/>
+      <name and="text" delimiter=", " delimiter-precedes-last="always" name-as-sort-order="first" sort-separator=", "/>
+    </names>
+  </macro>
+  <macro name="mcgill-title-short">
+    <choose>
+      <if match="none" variable="title">
+        <choose>
+          <if type="interview">
+            <text term="interview" text-case="lowercase"/>
+          </if>
+          <else-if match="any" type="manuscript speech">
+            <text form="short" variable="genre"/>
+          </else-if>
+          <else-if type="personal_communication">
+            <date date-parts="year-month-day" form="text" variable="issued"/>
+          </else-if>
+          <else-if type="periodical">
+            <text font-style="italic" form="short" variable="container-title"/>
+          </else-if>
+        </choose>
+      </if>
+      <else-if match="any" type="bill book graphic legal_case motion_picture report song">
+        <choose>
+          <if variable="hereinafter">
+            <text font-style="italic" variable="hereinafter"/>
+          </if>
+          <else-if variable="jurisdiction">
+            <text font-style="italic" form="short" variable="title"/>
+          </else-if>
+          <else-if variable="container-title collection-title">
+            <text form="short" quotes="true" text-case="title" variable="title"/>
+          </else-if>
+          <else>
+            <text font-style="italic" form="short" text-case="title" variable="title"/>
+          </else>
+        </choose>
+      </else-if>
+      <else>
+        <text form="short" quotes="true" text-case="title" variable="title"/>
+      </else>
+    </choose>
+  </macro>
+  <macro name="mcgill-title-chapter-special">
+    <choose>
+      <if variable="container-title">
+        <text quotes="true" text-case="title" variable="title"/>
+      </if>
+      <else-if type="paper-conference">
+        <text quotes="true" text-case="title" variable="title"/>
+      </else-if>
+      <else-if match="all" type="song" variable="collection-title">
+        <text quotes="true" text-case="title" variable="title"/>
+      </else-if>
+      <else>
+        <text font-style="italic" text-case="title" variable="title"/>
+      </else>
+    </choose>
+  </macro>
+  <macro name="mcgill-secondary-contributors-note">
+    <choose>
+      <if match="none" type="chapter paper-conference">
+        <text macro="mcgill-editor-translator"/>
+      </if>
+    </choose>
+  </macro>
+  <macro name="mcgill-recipient-short">
+    <names variable="recipient">
+      <label form="verb" suffix=" " text-case="lowercase"/>
+      <name and="text" delimiter=", " form="short"/>
+    </names>
+  </macro>
+  <macro name="mcgill-recipient-note">
+    <names delimiter=", " variable="recipient">
+      <label form="verb" suffix=" " text-case="lowercase"/>
+      <name and="text" delimiter=", "/>
+    </names>
+  </macro>
+  <macro name="mcgill-recipient">
+    <group delimiter=" ">
+      <choose>
+        <if type="personal_communication">
+          <choose>
+            <if variable="genre">
+              <text text-case="capitalize-first" variable="genre"/>
+            </if>
+            <else>
+              <text term="letter" text-case="capitalize-first"/>
+            </else>
+          </choose>
+        </if>
+      </choose>
+      <text macro="mcgill-recipient-note"/>
+    </group>
+  </macro>
+  <macro name="mcgill-note-thesis">
+    <group delimiter=" ">
+      <group delimiter=", ">
+        <text macro="mcgill-contributors-note"/>
+        <text font-style="italic" text-case="title" variable="title"/>
+        <text variable="genre"/>
+        <text form="short" variable="publisher"/>
+        <date date-parts="year" form="text" variable="issued"/>
+      </group>
+      <text prefix="[" suffix="]" term="unpublished"/>
+    </group>
+  </macro>
+  <macro name="mcgill-note-chapter">
+    <group delimiter=" ">
+      <group delimiter=" ">
+        <group delimiter=", ">
+          <text macro="mcgill-contributors-note"/>
+          <text macro="mcgill-title-chapter-special"/>
+          <choose>
+            <if type="broadcast">
+              <group delimiter="">
+                <names variable="author">
+                  <name and="text" delimiter=", " sort-separator=", "/>
+                </names>
+                <text term="director" form="short" prefix=", "/>
+              </group>
+            </if>
+          </choose>
+          <group delimiter=" ">
+            <choose>
+              <if variable="container-title">
+                <choose>
+                  <if type="song">
+                    <text text-case="lowercase" value="on"/>
+                  </if>
+                  <else-if type="broadcast">
+                    <text value="on"/>
+                  </else-if>
+                  <else>
+                    <text term="in" text-case="lowercase"/>
+                  </else>
+                </choose>
+              </if>
+            </choose>
+            <group delimiter=", ">
+              <text macro="mcgill-container-contributors-note"/>
+              <choose>
+                <if match="all" type="paper-conference" variable="container-title">
+                  <group delimiter=" ">
+                    <date date-parts="year" form="text" prefix="(" suffix=")" variable="issued"/>
+                    <number variable="volume"/>
+                    <text form="short" variable="container-title"/>
+                    <number variable="page-first"/>
+                  </group>
+                </if>
+                <else>
+                  <choose>
+                    <if match="all" type="song" variable="collection-title">
+                      <choose>
+                        <if match="none" variable="container-title">
+                          <text font-style="italic" variable="collection-title"/>
+                        </if>
+                      </choose>
+                    </if>
+                    <else>
+                      <text font-style="italic" variable="container-title"/>
+                    </else>
+                  </choose>
+                  <group delimiter=" ">
+                    <label form="short" variable="volume"/>
+                    <number variable="volume"/>
+                  </group>
+                </else>
+              </choose>
+            </group>
+          </group>
+        </group>
+        <choose>
+          <if match="none" type="paper-conference">
+            <text macro="publisher-and-year" prefix="(" suffix=")"/>
+            <number variable="page-first"/>
+          </if>
+        </choose>
+      </group>
+      <choose>
+        <if type="paper-conference">
+          <choose>
+            <if match="none" variable="container-title">
+              <text macro="publisher-and-year" prefix="(" suffix=")"/>
+            </if>
+          </choose>
+        </if>
+      </choose>
+    </group>
+  </macro>
+  <macro name="mcgill-note-book">
+    <group delimiter=" ">
+      <group delimiter=" ">
+        <group delimiter=", ">
+          <text macro="mcgill-contributors-note"/>
+          <text font-style="italic" text-case="title" variable="title"/>
+          <text macro="mcgill-edition"/>
+          <text macro="mcgill-translator-note"/>
+          <number variable="volume"/>
+          <number variable="number-of-volumes"/>
+          <text variable="collection-title"/>
+          <number variable="collection-number"/>
+        </group>
+        <text macro="publisher-and-year" prefix="(" suffix=")"/>
+      </group>
+      <number variable="page-first"/>
+    </group>
+  </macro>
+  <macro name="mcgill-note-article-newspaper">
+    <group delimiter=", ">
+      <text macro="mcgill-contributors-note"/>
+      <text quotes="true" text-case="title" variable="title"/>
+      <text font-style="italic" variable="container-title"/>
+      <text variable="publisher-place"/>
+      <date date-parts="year-month-day" form="text" variable="issued"/>
+    </group>
+  </macro>
+  <macro name="mcgill-note-article-magazine">
+    <group delimiter=", ">
+      <text macro="mcgill-contributors-note"/>
+      <group delimiter=" ">
+        <text quotes="true" text-case="title" variable="title"/>
+        <text font-style="italic" variable="container-title"/>
+        <choose>
+          <if match="any" variable="volume">
+            <group delimiter=":">
+              <number variable="volume"/>
+              <number variable="issue"/>
+            </group>
+          </if>
+          <else>
+            <text form="short" plural="true" term="issue"/>
+            <number variable="issue"/>
+          </else>
+        </choose>
+        <date date-parts="year" form="text" prefix="(" suffix=")" variable="issued"/>
+      </group>
+    </group>
+  </macro>
+  <macro name="mcgill-note-article-journal">
+    <group delimiter=", ">
+      <text macro="mcgill-contributors-note"/>
+      <group delimiter=" ">
+        <text quotes="true" text-case="title" variable="title"/>
+        <choose>
+          <if match="any" type="post post-weblog">
+            <choose>
+              <if type="post">
+                <text form="short" variable="genre"/>
+              </if>
+            </choose>
+            <date date-parts="year-month-day" form="text" prefix="(" suffix=")" variable="issued"/>
+          </if>
+          <else>
+            <date date-parts="year" form="text" prefix="(" suffix=")" variable="issued"/>
+          </else>
+        </choose>
+        <group delimiter=":">
+          <number variable="volume"/>
+          <number variable="issue"/>
+          <number form="numeric" variable="number-of-volumes"/>
+        </group>
+        <choose>
+          <if match="none" type="post post-weblog">
+            <text form="short" variable="container-title"/>
+            <number variable="page-first"/>
+          </if>
+        </choose>
+      </group>
+    </group>
+  </macro>
+  <macro name="mcgill-locators-note">
+    <group delimiter=" ">
+      <group delimiter=":">
+        <number variable="volume"/>
+        <number variable="issue"/>
+        <number form="numeric" variable="number-of-volumes"/>
+      </group>
+    </group>
+  </macro>
+  <macro name="mcgill-locators-newspaper">
+    <choose>
+      <if type="article-newspaper">
+        
+        <group delimiter=", ">
+          <group delimiter=" ">
+            <number variable="edition"/>
+            <label form="short" variable="edition"/>
+          </group>
+          <group delimiter=" ">
+            <text form="short" term="section"/>
+            <text variable="section"/>
+          </group>
+        </group>
+      </if>
+    </choose>
+  </macro>
+  <macro name="mcgill-issue-note">
+    <group delimiter=" " prefix="(" suffix=")">
+      <choose>
+        <if match="all" position="subsequent" type="periodical"/>
+        <else-if match="none" variable="URL">
+          <group delimiter=": ">
+            <choose>
+              <if type="entry-encyclopedia entry-dictionary" match="any">
+                <text form="short" variable="publisher-place"/>
+              </if>
+            </choose>
+            <text form="short" variable="publisher"/>
+          </group>
+        </else-if>
+      </choose>
+      <choose>
+        <if match="all" type="periodical" variable="locator-date">
+          <date date-parts="year-month-day" form="text" variable="locator-date"/>
+        </if>
+        <else>
+          <date date-parts="year-month-day" form="text" variable="issued"/>
+        </else>
+      </choose>
+    </group>
+  </macro>
+  
+  <macro name="mcgill-interviewer-note">
+    <names delimiter=", " variable="interviewer">
+      <label form="verb" suffix=" " text-case="lowercase"/>
+      <name and="text" delimiter=", "/>
+    </names>
+  </macro>
+  <macro name="mcgill-editor-translator">
+    <group delimiter=", ">
+      <choose>
+        <if variable="author">
+          <names delimiter=", " variable="editor">
+            <name and="text" delimiter=", "/>
+            <label form="short" prefix=", " text-case="lowercase"/>
+          </names>
+          <choose>
+            <if type="chapter" variable="author"/>
+            <else-if type="paper-conference" variable="author"/>
+            <else>
+              <names variable="container-author">
+                <label form="verb-short" suffix=" " text-case="lowercase"/>
+                <name and="text" delimiter=", "/>
+              </names>
+            </else>
+          </choose>
+        </if>
+      </choose>
+      <choose>
+        <if match="any" variable="author editor">
+          <names delimiter=", " variable="translator">
+            <label form="verb-short" suffix=" " text-case="lowercase"/>
+            <name and="text" delimiter=", "/>
+          </names>
+        </if>
+      </choose>
+    </group>
+  </macro>
+  <macro name="mcgill-editor-note">
https://bitbucket.org/bdarcus/citeproc-test/commits/bb0cdf75b831219d2db0d3cf8b5207c4dce6cf45
bitbucket.org
crawl=CC-MAIN-2016-07
1049136
application/http; msgtype=response
sha1:GW2GCDWCAWBJ2B2UIMJVV5OLCMBVOVME
<urn:uuid:7a47f716-8b9e-4ea6-bf6f-9f8acd163894>
2016-02-06T04:14:54Z
104.192.143.2
sha1:BGQHEZIXABLSXM6M5D5ZDCRPKU467VRQ
<urn:uuid:c9a54b48-49ce-4584-8c7d-94ddea3eb05c>
https://bitbucket.org/bdarcus/citeproc-test/commits/bb0cdf75b831219d2db0d3cf8b5207c4dce6cf45
length
response
<urn:uuid:ab8e6e71-8f46-4776-94c4-63bd660f18f4>
robots: classic
hostname: ip-10-236-182-209.ec2.internal
software: Nutch 1.6 (CC)/CC WarcExport 1.0
isPartOf: CC-MAIN-2016-07
operator: CommonCrawl Admin
description: Wide crawl of the web for February 2016
publisher: CommonCrawl
format: WARC File Format 1.0
conformsTo: http://bibnum.bnf.fr/WARC/WARC_ISO_28500_version1_latestdraft.pdf