Skip to content

Instantly share code, notes, and snippets.

@fbennett
Created March 26, 2016 21:49
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save fbennett/61c55ecb248c816b0820 to your computer and use it in GitHub Desktop.
Save fbennett/61c55ecb248c816b0820 to your computer and use it in GitHub Desktop.
Juris-M: general scaffolding for legal citations in Baby Blue
<macro name="jurism">
<choose>
<if position="ibid-with-locator">
<group delimiter=" ">
<text term="ibid" font-style="italic"/>
<group delimiter=" ">
<text value="at"/>
<group require="empty-label">
<text macro="juris-locator" label-form="symbol"/>
</group>
</group>
<group delimiter=" " reject="empty-label">
<text macro="juris-locator" label-form="symbol"/>
</group>
</group>
</if>
<else-if position="ibid">
<text term="ibid" font-style="italic"/>
</else-if>
<else-if>
<!-- short form -->
<conditions match="any">
<condition match="all" position="near-note"/>
<condition match="all" type="report" variable="title" position="far-note"/>
<condition match="all" type="report" variable="committee" position="far-note"/>
<condition match="all" type="hearing" variable="committee" position="far-note"/>
<condition match="all" type="legal_case" variable="document-name" position="far-note"/>
</conditions>
<group delimiter=" ">
<group delimiter=", ">
<choose>
<if>
<conditions match="all">
<condition type="legal_case"/>
<condition match="none" variable="document-name"/>
</conditions>
<text macro="juris-title-short" font-style="italic"/>
</if>
<else-if type="hearing">
<text macro="juris-title-short" font-style="italic"/>
</else-if>
<else-if match="all" type="report">
<text macro="juris-title-short" font-variant="small-caps"/>
</else-if>
<else>
<text macro="juris-title-short"/>
</else>
</choose>
<choose>
<if>
<conditions match="any">
<condition match="all" type="hearing" variable="committee"/>
<condition match="all" type="report" variable="title"/>
<condition match="all" type="report" variable="committee"/>
<condition match="all" type="legal_case" variable="document-name"/>
</conditions>
<group delimiter=", ">
<group delimiter=" ">
<text value="supra" font-style="italic"/>
<text term="note"/>
<text variable="first-reference-note-number"/>
</group>
<group delimiter=" ">
<text value="at"/>
<group require="empty-label">
<text macro="juris-locator" label-form="symbol"/>
</group>
</group>
<group delimiter=" " reject="empty-label">
<text macro="juris-locator" label-form="symbol"/>
</group>
</group>
</if>
<else>
<group delimiter=" ">
<group delimiter=", ">
<choose>
<if>
<conditions match="all">
<condition type="hearing"/>
<condition match="none" variable="committee"/>
</conditions>
<text macro="juris-main-short" font-variant="small-caps"/>
</if>
<else-if>
<conditions match="all">
<condition type="report"/>
<condition match="none" variable="committee title"/>
</conditions>
<text macro="juris-main-short" font-variant="small-caps"/>
</else-if>
<else>
<text macro="juris-main-short"/>
</else>
</choose>
<group require="comma-safe">
<text macro="juris-locator" label-form="symbol"/>
</group>
</group>
</group>
</else>
</choose>
</group>
<group delimiter=" " require="empty-label">
<text value="at"/>
<text macro="juris-locator" label-form="symbol"/>
</group>
<group reject="comma-safe">
<text macro="juris-locator" label-form="symbol"/>
</group>
<text macro="juris-tail-short"/>
</group>
</else-if>
<else>
<!-- full form -->
<group delimiter=", ">
<group delimiter=" ">
<group delimiter=", ">
<choose>
<if type="hearing">
<text macro="juris-title" font-style="italic"/>
</if>
<else-if type="report">
<text macro="juris-title" font-variant="small-caps"/>
</else-if>
<else>
<text macro="juris-title"/>
</else>
</choose>
<group delimiter=" ">
<group delimiter=", ">
<choose>
<if>
<conditions match="all">
<condition match="all" type="report"/>
<condition match="none" variable="title committee"/>
</conditions>
<text macro="juris-main" font-variant="small-caps"/>
</if>
<else-if>
<conditions match="all">
<condition match="all" type="hearing"/>
<condition match="none" variable="committee"/>
</conditions>
<text macro="juris-main" font-variant="small-caps"/>
</else-if>
<else>
<text macro="juris-main"/>
</else>
</choose>
<group delimiter=" " require="empty-label">
<text value="at"/>
<text macro="juris-locator" label-form="symbol"/>
</group>
<group require="comma-safe">
<text macro="juris-locator" label-form="symbol"/>
</group>
</group>
</group>
</group>
<group reject="comma-safe">
<text macro="juris-locator" label-form="symbol"/>
</group>
<choose>
<if type="legislation" variable="container-title page volume gazette-flag" match="all"/>
<else>
<text macro="juris-tail"/>
</else>
</choose>
</group>
<choose>
<if type="legislation" variable="container-title page volume gazette-flag" match="all">
<text macro="juris-tail"/>
</if>
</choose>
</group>
</else>
</choose>
</macro>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment