Skip to content

Instantly share code, notes, and snippets.

@rmzelle
Created August 1, 2009 10:32
Show Gist options
  • Save rmzelle/159631 to your computer and use it in GitHub Desktop.
Save rmzelle/159631 to your computer and use it in GitHub Desktop.
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
><head
><title
>Citation Style Language v. 0.8</title
><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"
/><meta name="generator" content="pandoc"
/><meta name="author" content="Bruce D'Arcus"
/><meta name="date" content="March 21, 2009"
/><style type="text/css"
>
table.sourceCode, tr.sourceCode, td.lineNumbers, td.sourceCode, table.sourceCode pre
{ margin: 0; padding: 0; border: 0; vertical-align: baseline; border: none; }
td.lineNumbers { border-right: 1px solid #AAAAAA; text-align: right; color: #AAAAAA; padding-right: 5px; padding-left: 5px; }
td.sourceCode { padding-left: 5px; }
pre.sourceCode { }
pre.sourceCode span.Normal { }
pre.sourceCode span.Keyword { color: #007020; font-weight: bold; }
pre.sourceCode span.DataType { color: #902000; }
pre.sourceCode span.DecVal { color: #40a070; }
pre.sourceCode span.BaseN { color: #40a070; }
pre.sourceCode span.Float { color: #40a070; }
pre.sourceCode span.Char { color: #4070a0; }
pre.sourceCode span.String { color: #4070a0; }
pre.sourceCode span.Comment { color: #60a0b0; font-style: italic; }
pre.sourceCode span.Others { color: #007020; }
pre.sourceCode span.Alert { color: red; font-weight: bold; }
pre.sourceCode span.Function { color: #06287e; }
pre.sourceCode span.RegionMarker { }
pre.sourceCode span.Error { color: red; font-weight: bold; }
</style
></head
><body
><h1 class="title"
>Citation Style Language v. 0.8</h1
><pre class="sourceCode relaxngcompact"
><code
><span class="Keyword Keywords"
>namespace</span
><span class="Normal NormalText"
> </span
><span class="Function Definitions"
>atom </span
><span class="Normal NormalText"
>= </span
><span class="String"
>&quot;http://www.w3.org/2005/Atom&quot;</span
><br
/><span class="Keyword Keywords"
>namespace</span
><span class="Normal NormalText"
> </span
><span class="Function Definitions"
>cs </span
><span class="Normal NormalText"
>= </span
><span class="String"
>&quot;http://purl.org/net/xbiblio/csl&quot;</span
><br
/><span class="Keyword Keywords"
>namespace</span
><span class="Normal NormalText"
> </span
><span class="Function Definitions"
>dc </span
><span class="Normal NormalText"
>= </span
><span class="String"
>&quot;http://purl.org/dc/elements/1.1/&quot;</span
><br
/><span class="Keyword Keywords"
>namespace</span
><span class="Normal NormalText"
> </span
><span class="Function Definitions"
>s </span
><span class="Normal NormalText"
>= </span
><span class="String"
>&quot;http://www.ascc.net/xml/schematron&quot;</span
><br
/><span class="Keyword Keywords"
>namespace</span
><span class="Normal NormalText"
> </span
><span class="Function Definitions"
>xhtml </span
><span class="Normal NormalText"
>= </span
><span class="String"
>&quot;http://www.w3.org/1999/xhtml&quot;</span
><br
/><br
/><span class="Normal NormalText"
>dc:title [ </span
><span class="String"
>&quot;Citation Style Language&quot;</span
><span class="Normal NormalText"
> ]</span
><br
/><span class="Normal NormalText"
>dc:creator [ </span
><span class="String"
>&quot;Bruce D'Arcus&quot;</span
><span class="Normal NormalText"
> ]</span
><br
/><span class="Normal NormalText"
>dc:creator [ </span
><span class="String"
>&quot;Simon Kornblith&quot;</span
><span class="Normal NormalText"
> ]</span
><br
/><span class="Normal NormalText"
>dc:copyright [ </span
><span class="String"
>&quot;Bruce D'Arcus and Simon Kornblith, 2007&quot;</span
><span class="Normal NormalText"
> ]</span
><br
/><span class="Normal NormalText"
>dc:rights [ </span
><span class="String"
>&quot;Permission to freely use, copy and distribute.&quot;</span
><span class="Normal NormalText"
> ]</span
><br
/><span class="Normal NormalText"
>dc:description [</span
><br
/><span class="Normal NormalText"
> </span
><span class="String"
>&quot;Citation Style Language (CSL) schema for describing bibliographic and citation formatting.&quot;</span
><br
/><span class="Normal NormalText"
>]</span
><br
/><span class="Keyword Keywords"
>start</span
><span class="Normal NormalText"
> = style</span
><br
/><br
/><span class="Comment Comments"
>## The CSL data model consists of resources and variables. Primary resources are the </span
><br
/><span class="Comment Comments"
>## citation object itself, as well as related agents and events. Variables are </span
><br
/><span class="Comment Comments"
>## attributes of the resource: titles, dates, volume numbers, and so forth. From the </span
><br
/><span class="Comment Comments"
>## perspective of CSL, resources templates involve a list of variables. By contrast, </span
><br
/><span class="Comment Comments"
>## a variable can be accessed directly.</span
><br
/><span class="Comment Comments"
>## In addition, CSL also contains structures for macros and parameter options.</span
><br
/><span class="Keyword Keywords"
>div</span
><span class="Normal NormalText"
> {</span
><br
/><span class="Normal NormalText"
> </span
><span class="Function Definitions"
>style </span
><span class="Normal NormalText"
>=</span
><br
/><span class="Normal NormalText"
> </span
><span class="Keyword Keywords"
>element</span
><span class="Others NodeNames"
> cs:style </span
><span class="Normal NormalText"
>{</span
><br
/><span class="Normal NormalText"
> </span
><span class="Keyword Keywords"
>attribute</span
><span class="Others NodeNames"
> xml:lang </span
><span class="Normal NormalText"
>{ </span
><span class="DataType Datatypes"
>xsd:language</span
><span class="Normal NormalText"
> }?,</span
><br
/><br
/><span class="Normal NormalText"
> </span
><span class="Comment Comments"
>## Refers to the default locale for the style; should generally </span
><br
/><span class="Normal NormalText"
> </span
><span class="Comment Comments"
>## be set for any academic journal, since it can be used to ensure </span
><br
/><span class="Normal NormalText"
> </span
><span class="Comment Comments"
>## proper quote formatting and such.</span
><br
/><span class="Normal NormalText"
> </span
><span class="Keyword Keywords"
>attribute</span
><span class="Others NodeNames"
> default-locale </span
><span class="Normal NormalText"
>{ </span
><span class="DataType Datatypes"
>xsd:language</span
><span class="Normal NormalText"
> }?,</span
><br
/><span class="Normal NormalText"
> </span
><span class="Keyword Keywords"
>attribute</span
><span class="Others NodeNames"
> class </span
><span class="Normal NormalText"
>{ </span
><span class="String"
>&quot;in-text&quot;</span
><span class="Normal NormalText"
> | </span
><span class="String"
>&quot;note&quot;</span
><span class="Normal NormalText"
> },</span
><br
/><span class="Normal NormalText"
> info,</span
><br
/><span class="Normal NormalText"
> (terms? &amp; macro* &amp; citation &amp; bibliography?)?</span
><br
/><span class="Normal NormalText"
> }</span
><br
/><span class="Normal NormalText"
>}</span
><br
/><br
/><span class="Comment Comments"
>## info element</span
><br
/><span class="Keyword Keywords"
>div</span
><span class="Normal NormalText"
> {</span
><br
/><br
/><span class="Normal NormalText"
> </span
><span class="Comment Comments"
>## The Content model for the metadata is borrowed from Atom.</span
><br
/><span class="Normal NormalText"
> </span
><span class="Function Definitions"
>info </span
><span class="Normal NormalText"
>=</span
><br
/><span class="Normal NormalText"
> </span
><span class="Keyword Keywords"
>element</span
><span class="Others NodeNames"
> cs:info </span
><span class="Normal NormalText"
>{</span
><br
/><span class="Normal NormalText"
> info-author*</span
><br
/><span class="Normal NormalText"
> &amp; info-category*</span
><br
/><span class="Normal NormalText"
> &amp; info-contributor*</span
><br
/><span class="Normal NormalText"
> &amp; info-id</span
><br
/><span class="Normal NormalText"
> &amp; info-issn?</span
><br
/><span class="Normal NormalText"
> &amp; info-link*</span
><br
/><span class="Normal NormalText"
> &amp; info-published?</span
><br
/><span class="Normal NormalText"
> &amp; info-rights?</span
><br
/><span class="Normal NormalText"
> &amp; info-source?</span
><br
/><span class="Normal NormalText"
> &amp; info-summary?</span
><br
/><span class="Normal NormalText"
> &amp; info-title</span
><br
/><span class="Normal NormalText"
> &amp; info-updated</span
><br
/><span class="Normal NormalText"
> }</span
><br
/><span class="Normal NormalText"
> </span
><span class="Function Definitions"
>info-text </span
><span class="Normal NormalText"
>=</span
><br
/><span class="Normal NormalText"
> </span
><span class="Keyword Keywords"
>attribute</span
><span class="Others NodeNames"
> xml:lang </span
><span class="Normal NormalText"
>{ </span
><span class="DataType Datatypes"
>xsd:language</span
><span class="Normal NormalText"
> }?,</span
><br
/><span class="Normal NormalText"
> </span
><span class="DataType Datatypes"
>text</span
><br
/><span class="Normal NormalText"
> </span
><span class="Function Definitions"
>info-author </span
><span class="Normal NormalText"
>= </span
><span class="Keyword Keywords"
>element</span
><span class="Others NodeNames"
> cs:author </span
><span class="Normal NormalText"
>{ info-Contributor-pattern }</span
><br
/><span class="Normal NormalText"
> </span
><span class="Function Definitions"
>info-Contributor-pattern </span
><span class="Normal NormalText"
>=</span
><br
/><span class="Normal NormalText"
> </span
><span class="Keyword Keywords"
>element</span
><span class="Others NodeNames"
> cs:name </span
><span class="Normal NormalText"
>{ </span
><span class="DataType Datatypes"
>text</span
><span class="Normal NormalText"
> }</span
><br
/><span class="Normal NormalText"
> &amp; </span
><span class="Keyword Keywords"
>element</span
><span class="Others NodeNames"
> cs:email </span
><span class="Normal NormalText"
>{ </span
><span class="DataType Datatypes"
>text</span
><span class="Normal NormalText"
> }?</span
><br
/><span class="Normal NormalText"
> &amp; </span
><span class="Keyword Keywords"
>element</span
><span class="Others NodeNames"
> cs:uri </span
><span class="Normal NormalText"
>{ </span
><span class="DataType Datatypes"
>xsd:anyURI</span
><span class="Normal NormalText"
> }?</span
><br
/><span class="Normal NormalText"
> </span
><span class="Keyword Keywords"
>div</span
><span class="Normal NormalText"
> {</span
><br
/><br
/><span class="Normal NormalText"
> </span
><span class="Comment Comments"
>## The schema attribute should be understood to specify the controlled </span
><br
/><span class="Normal NormalText"
> </span
><span class="Comment Comments"
>## CSL category list. The terms thus typically include further logic, </span
><br
/><span class="Normal NormalText"
> </span
><span class="Comment Comments"
>## such as the broader categories to which they belong (&quot;humanities&quot;, </span
><br
/><span class="Normal NormalText"
> </span
><span class="Comment Comments"
>## &quot;social sciences&quot;) as well as the class of style (&quot;author-date&quot;, &quot;note&quot;, etc.).</span
><br
/><span class="Normal NormalText"
> </span
><span class="Function Definitions"
>info-category </span
><span class="Normal NormalText"
>=</span
><br
/><span class="Normal NormalText"
> </span
><span class="Keyword Keywords"
>element</span
><span class="Others NodeNames"
> cs:category </span
><span class="Normal NormalText"
>{</span
><br
/><span class="Normal NormalText"
> </span
><span class="Keyword Keywords"
>attribute</span
><span class="Others NodeNames"
> term </span
><span class="Normal NormalText"
>{ info-fields | info-classes },</span
><br
/><span class="Normal NormalText"
> </span
><span class="Keyword Keywords"
>attribute</span
><span class="Others NodeNames"
> scheme </span
><span class="Normal NormalText"
>{ </span
><span class="DataType Datatypes"
>xsd:anyURI</span
><span class="Normal NormalText"
> }?,</span
><br
/><span class="Normal NormalText"
> </span
><span class="Keyword Keywords"
>attribute</span
><span class="Others NodeNames"
> label </span
><span class="Normal NormalText"
>{ </span
><span class="DataType Datatypes"
>text</span
><span class="Normal NormalText"
> }?</span
><br
/><span class="Normal NormalText"
> }</span
><br
/><br
/><span class="Normal NormalText"
> </span
><span class="Comment Comments"
>## Add one or more field categories. The &quot;generic-base&quot; category is reserved </span
><br
/><span class="Normal NormalText"
> </span
><span class="Comment Comments"
>## for the handful of truly generic styles (APA, Harvard, etc.) from which most descend.</span
><br
/><span class="Normal NormalText"
> </span
><span class="Function Definitions"
>info-fields </span
><span class="Normal NormalText"
>=</span
><br
/><span class="Normal NormalText"
> </span
><span class="String"
>&quot;anthropology&quot;</span
><br
/><span class="Normal NormalText"
> | </span
><span class="String"
>&quot;astronomy&quot;</span
><br
/><span class="Normal NormalText"
> | </span
><span class="String"
>&quot;biology&quot;</span
><br
/><span class="Normal NormalText"
> | </span
><span class="String"
>&quot;botany&quot;</span
><br
/><span class="Normal NormalText"
> | </span
><span class="String"
>&quot;chemistry&quot;</span
><br
/><span class="Normal NormalText"
> | </span
><span class="String"
>&quot;communications&quot;</span
><br
/><span class="Normal NormalText"
> | </span
><span class="String"
>&quot;engineering&quot;</span
><br
/><span class="Normal NormalText"
> | </span
><span class="String"
>&quot;generic-base&quot;</span
><br
/><span class="Normal NormalText"
> | </span
><span class="String"
>&quot;geography&quot;</span
><br
/><span class="Normal NormalText"
> | </span
><span class="String"
>&quot;geology&quot;</span
><br
/><span class="Normal NormalText"
> | </span
><span class="String"
>&quot;history&quot;</span
><br
/><span class="Normal NormalText"
> | </span
><span class="String"
>&quot;humanities&quot;</span
><br
/><span class="Normal NormalText"
> | </span
><span class="String"
>&quot;law&quot;</span
><br
/><span class="Normal NormalText"
> | </span
><span class="String"
>&quot;literature&quot;</span
><br
/><span class="Normal NormalText"
> | </span
><span class="String"
>&quot;math&quot;</span
><br
/><span class="Normal NormalText"
> | </span
><span class="String"
>&quot;medicine&quot;</span
><br
/><span class="Normal NormalText"
> | </span
><span class="String"
>&quot;philosophy&quot;</span
><br
/><span class="Normal NormalText"
> | </span
><span class="String"
>&quot;physics&quot;</span
><br
/><span class="Normal NormalText"
> | </span
><span class="String"
>&quot;psychology&quot;</span
><br
/><span class="Normal NormalText"
> | </span
><span class="String"
>&quot;sociology&quot;</span
><br
/><span class="Normal NormalText"
> | </span
><span class="String"
>&quot;science&quot;</span
><br
/><span class="Normal NormalText"
> | </span
><span class="String"
>&quot;political_science&quot;</span
><br
/><span class="Normal NormalText"
> | </span
><span class="String"
>&quot;social_science&quot;</span
><br
/><span class="Normal NormalText"
> | </span
><span class="String"
>&quot;theology&quot;</span
><br
/><span class="Normal NormalText"
> | </span
><span class="String"
>&quot;zoology&quot;</span
><br
/><span class="Normal NormalText"
> | info-categories.extension</span
><br
/><span class="Normal NormalText"
> </span
><span class="Function Definitions"
>info-classes </span
><span class="Normal NormalText"
>= </span
><span class="String"
>&quot;author-date&quot;</span
><span class="Normal NormalText"
> | </span
><span class="String"
>&quot;numeric&quot;</span
><span class="Normal NormalText"
> | </span
><span class="String"
>&quot;label&quot;</span
><span class="Normal NormalText"
> | </span
><span class="String"
>&quot;note&quot;</span
><span class="Normal NormalText"
> | </span
><span class="String"
>&quot;in-text&quot;</span
><br
/><br
/><span class="Normal NormalText"
> </span
><span class="Comment Comments"
>## You can override in a customization schema, though please report </span
><br
/><span class="Normal NormalText"
> </span
><span class="Comment Comments"
>## obvious gaps for inclusion in the schema.</span
><br
/><span class="Normal NormalText"
> </span
><span class="Function Definitions"
>info-categories.extension </span
><span class="Normal NormalText"
>= </span
><span class="Keyword Keywords"
>notAllowed</span
><br
/><span class="Normal NormalText"
> }</span
><br
/><span class="Normal NormalText"
> </span
><span class="Function Definitions"
>info-contributor </span
><span class="Normal NormalText"
>= </span
><span class="Keyword Keywords"
>element</span
><span class="Others NodeNames"
> cs:contributor </span
><span class="Normal NormalText"
>{ info-Contributor-pattern }</span
><br
/><span class="Normal NormalText"
> </span
><span class="Function Definitions"
>info-translator </span
><span class="Normal NormalText"
>= </span
><span class="Keyword Keywords"
>element</span
><span class="Others NodeNames"
> cs:translator </span
><span class="Normal NormalText"
>{ info-Contributor-pattern }</span
><br
/><br
/><span class="Normal NormalText"
> </span
><span class="Comment Comments"
>## As in Atom, the cs:id element is a required URI that is globally-unique </span
><br
/><span class="Normal NormalText"
> </span
><span class="Comment Comments"
>## and persistant. Once assigned it should never change. Ideally, of course, </span
><br
/><span class="Normal NormalText"
> </span
><span class="Comment Comments"
>## the URI resolves to the correct CSL file.</span
><br
/><span class="Normal NormalText"
> </span
><span class="Function Definitions"
>info-id </span
><span class="Normal NormalText"
>= </span
><span class="Keyword Keywords"
>element</span
><span class="Others NodeNames"
> cs:id </span
><span class="Normal NormalText"
>{ </span
><span class="DataType Datatypes"
>string</span
><span class="Normal NormalText"
> }</span
><br
/><span class="Normal NormalText"
> </span
><span class="Function Definitions"
>info-link </span
><span class="Normal NormalText"
>=</span
><br
/><span class="Normal NormalText"
> </span
><span class="Keyword Keywords"
>element</span
><span class="Others NodeNames"
> cs:link </span
><span class="Normal NormalText"
>{</span
><br
/><span class="Normal NormalText"
> </span
><span class="Keyword Keywords"
>attribute</span
><span class="Others NodeNames"
> href </span
><span class="Normal NormalText"
>{ </span
><span class="DataType Datatypes"
>xsd:anyURI</span
><span class="Normal NormalText"
> },</span
><br
/><br
/><span class="Normal NormalText"
> </span
><span class="Comment Comments"
>## For transformation to Atom, the rel values should be expanded to include the </span
><br
/><span class="Normal NormalText"
> </span
><span class="Comment Comments"
>## base URI &lt;http://purl.org/net/xbiblio/csl/relations#&gt;.</span
><br
/><span class="Normal NormalText"
> </span
><span class="Keyword Keywords"
>attribute</span
><span class="Others NodeNames"
> rel </span
><span class="Normal NormalText"
>{</span
><br
/><br
/><span class="Normal NormalText"
> </span
><span class="Comment Comments"
>## The CSL file URI whose configuration content should be </span
><br
/><span class="Normal NormalText"
> </span
><span class="Comment Comments"
>## used for processing. To be used where, for example, a </span
><br
/><span class="Normal NormalText"
> </span
><span class="Comment Comments"
>## journal may use a generic publisher style that is shared </span
><br
/><span class="Normal NormalText"
> </span
><span class="Comment Comments"
>## with other journals.</span
><br
/><span class="Normal NormalText"
> </span
><span class="String"
>&quot;source&quot;</span
><br
/><span class="Normal NormalText"
> | </span
><br
/><span class="Normal NormalText"
> </span
><span class="Comment Comments"
>## The CSL file URI on which the style is based. Since most </span
><br
/><span class="Normal NormalText"
> </span
><span class="Comment Comments"
>## styles are based on a handful of core styles, this can be </span
><br
/><span class="Normal NormalText"
> </span
><span class="Comment Comments"
>## useful metadata to see those relationships.</span
><br
/><span class="Normal NormalText"
> </span
><span class="String"
>&quot;template&quot;</span
><br
/><span class="Normal NormalText"
> | </span
><br
/><span class="Normal NormalText"
> </span
><span class="Comment Comments"
>## The homepage URI for the style.</span
><br
/><span class="Normal NormalText"
> </span
><span class="String"
>&quot;homepage&quot;</span
><br
/><span class="Normal NormalText"
> | </span
><br
/><span class="Normal NormalText"
> </span
><span class="Comment Comments"
>## A documentation URI for a style.</span
><br
/><span class="Normal NormalText"
> </span
><span class="String"
>&quot;documentation&quot;</span
><br
/><span class="Normal NormalText"
> }?,</span
><br
/><span class="Normal NormalText"
> </span
><span class="Comment Comments"
># type borrows from Atom schema pattern</span
><br
/><br
/><span class="Normal NormalText"
> </span
><span class="Comment Comments"
>## media-type</span
><br
/><span class="Normal NormalText"
> </span
><span class="Keyword Keywords"
>attribute</span
><span class="Others NodeNames"
> type </span
><span class="Normal NormalText"
>{</span
><br
/><span class="Normal NormalText"
> </span
><span class="DataType Datatypes"
>xsd:string</span
><span class="Normal NormalText"
> { </span
><span class="Function Definitions"
>pattern </span
><span class="Normal NormalText"
>= </span
><span class="String"
>&quot;.+/.+&quot;</span
><span class="Normal NormalText"
> }</span
><br
/><span class="Normal NormalText"
> }?,</span
><br
/><span class="Normal NormalText"
> </span
><span class="Keyword Keywords"
>attribute</span
><span class="Others NodeNames"
> hreflang </span
><span class="Normal NormalText"
>{ </span
><span class="DataType Datatypes"
>xsd:language</span
><span class="Normal NormalText"
> }?,</span
><br
/><span class="Normal NormalText"
> </span
><span class="Keyword Keywords"
>attribute</span
><span class="Others NodeNames"
> title </span
><span class="Normal NormalText"
>{ </span
><span class="DataType Datatypes"
>text</span
><span class="Normal NormalText"
> }?,</span
><br
/><span class="Normal NormalText"
> </span
><span class="Keyword Keywords"
>attribute</span
><span class="Others NodeNames"
> length </span
><span class="Normal NormalText"
>{ </span
><span class="DataType Datatypes"
>text</span
><span class="Normal NormalText"
> }?,</span
><br
/><span class="Normal NormalText"
> </span
><span class="DataType Datatypes"
>string</span
><br
/><span class="Normal NormalText"
> }</span
><br
/><span class="Normal NormalText"
> </span
><span class="Function Definitions"
>info-published </span
><span class="Normal NormalText"
>= </span
><span class="Keyword Keywords"
>element</span
><span class="Others NodeNames"
> cs:published </span
><span class="Normal NormalText"
>{ </span
><span class="DataType Datatypes"
>xsd:dateTime</span
><span class="Normal NormalText"
> }</span
><br
/><span class="Normal NormalText"
> </span
><span class="Function Definitions"
>info-rights </span
><span class="Normal NormalText"
>= </span
><span class="Keyword Keywords"
>element</span
><span class="Others NodeNames"
> cs:rights </span
><span class="Normal NormalText"
>{ info-text }</span
><br
/><span class="Normal NormalText"
> </span
><span class="Function Definitions"
>info-source </span
><span class="Normal NormalText"
>= </span
><span class="Keyword Keywords"
>element</span
><span class="Others NodeNames"
> cs:source </span
><span class="Normal NormalText"
>{ info-title &amp; info-link? &amp; info-id }</span
><br
/><span class="Normal NormalText"
> </span
><span class="Function Definitions"
>info-summary </span
><span class="Normal NormalText"
>= </span
><span class="Keyword Keywords"
>element</span
><span class="Others NodeNames"
> cs:summary </span
><span class="Normal NormalText"
>{ info-text }</span
><br
/><span class="Normal NormalText"
> </span
><span class="Function Definitions"
>info-title </span
><span class="Normal NormalText"
>= </span
><span class="Keyword Keywords"
>element</span
><span class="Others NodeNames"
> cs:title </span
><span class="Normal NormalText"
>{ info-text }</span
><br
/><span class="Normal NormalText"
> </span
><span class="Comment Comments"
>## the issn for the journal the style corresponds to</span
><br
/><span class="Normal NormalText"
> </span
><span class="Comment Comments"
># might use a regular expression pattern to validate content?</span
><br
/><span class="Normal NormalText"
> </span
><span class="Function Definitions"
>info-issn </span
><span class="Normal NormalText"
>= </span
><span class="Keyword Keywords"
>element</span
><span class="Others NodeNames"
> cs:issn </span
><span class="Normal NormalText"
>{ </span
><span class="DataType Datatypes"
>text</span
><span class="Normal NormalText"
> }</span
><br
/><span class="Normal NormalText"
> </span
><span class="Function Definitions"
>info-updated </span
><span class="Normal NormalText"
>= </span
><span class="Keyword Keywords"
>element</span
><span class="Others NodeNames"
> cs:updated </span
><span class="Normal NormalText"
>{ </span
><span class="DataType Datatypes"
>xsd:dateTime</span
><span class="Normal NormalText"
> }</span
><br
/><span class="Normal NormalText"
>}</span
><br
/><br
/><span class="Comment Comments"
>## Terms and forms</span
><br
/><span class="Keyword Keywords"
>div</span
><span class="Normal NormalText"
> {</span
><br
/><span class="Normal NormalText"
> </span
><span class="Function Definitions"
>cs-terms </span
><span class="Normal NormalText"
>=</span
><br
/><br
/><span class="Normal NormalText"
> </span
><span class="Comment Comments"
>## Miscellaneous Terms</span
><br
/><span class="Normal NormalText"
> </span
><span class="String"
>&quot;accessed&quot;</span
><br
/><span class="Normal NormalText"
> | </span
><span class="String"
>&quot;anonymous&quot;</span
><br
/><span class="Normal NormalText"
> | </span
><span class="String"
>&quot;and&quot;</span
><br
/><span class="Normal NormalText"
> | </span
><span class="String"
>&quot;and others&quot;</span
><br
/><span class="Normal NormalText"
> | </span
><span class="String"
>&quot;at&quot;</span
><br
/><span class="Normal NormalText"
> | </span
><span class="String"
>&quot;et-al&quot;</span
><br
/><span class="Normal NormalText"
> | </span
><span class="String"
>&quot;forthcoming&quot;</span
><br
/><span class="Normal NormalText"
> | </span
><span class="String"
>&quot;from&quot;</span
><br
/><span class="Normal NormalText"
> | </span
><span class="String"
>&quot;in press&quot;</span
><br
/><span class="Normal NormalText"
> | </span
><span class="String"
>&quot;ibid&quot;</span
><br
/><span class="Normal NormalText"
> | </span
><span class="String"
>&quot;in&quot;</span
><br
/><span class="Normal NormalText"
> | </span
><span class="String"
>&quot;no date&quot;</span
><br
/><span class="Normal NormalText"
> | </span
><span class="String"
>&quot;references&quot;</span
><br
/><span class="Normal NormalText"
> | </span
><span class="String"
>&quot;retrieved&quot;</span
><br
/><span class="Normal NormalText"
> | </span
><span class="String"
>&quot;letter&quot;</span
><br
/><span class="Normal NormalText"
> | </span
><span class="String"
>&quot;interview&quot;</span
><br
/><span class="Normal NormalText"
> | </span
><span class="String"
>&quot;online&quot;</span
><br
/><span class="Normal NormalText"
> | </span
><span class="String"
>&quot;cited&quot;</span
><br
/><span class="Normal NormalText"
> | </span
><span class="String"
>&quot;edition&quot;</span
><br
/><span class="Normal NormalText"
> | </span
><span class="String"
>&quot;internet&quot;</span
><br
/><span class="Normal NormalText"
> | </span
><span class="String"
>&quot;presented at&quot;</span
><br
/><span class="Normal NormalText"
> | </span
><br
/><span class="Normal NormalText"
> </span
><span class="Comment Comments"
>## Roles</span
><br
/><span class="Normal NormalText"
> </span
><span class="String"
>&quot;editor&quot;</span
><br
/><span class="Normal NormalText"
> | </span
><span class="String"
>&quot;translator&quot;</span
><br
/><span class="Normal NormalText"
> | </span
><span class="String"
>&quot;interviewer&quot;</span
><br
/><span class="Normal NormalText"
> | </span
><span class="String"
>&quot;recipient&quot;</span
><br
/><span class="Normal NormalText"
> | </span
><br
/><span class="Normal NormalText"
> </span
><span class="Comment Comments"
>## Months</span
><br
/><span class="Normal NormalText"
> </span
><span class="String"
>&quot;month-01&quot;</span
><br
/><span class="Normal NormalText"
> | </span
><span class="String"
>&quot;month-02&quot;</span
><br
/><span class="Normal NormalText"
> | </span
><span class="String"
>&quot;month-03&quot;</span
><br
/><span class="Normal NormalText"
> | </span
><span class="String"
>&quot;month-04&quot;</span
><br
/><span class="Normal NormalText"
> | </span
><span class="String"
>&quot;month-05&quot;</span
><br
/><span class="Normal NormalText"
> | </span
><span class="String"
>&quot;month-06&quot;</span
><br
/><span class="Normal NormalText"
> | </span
><span class="String"
>&quot;month-07&quot;</span
><br
/><span class="Normal NormalText"
> | </span
><span class="String"
>&quot;month-08&quot;</span
><br
/><span class="Normal NormalText"
> | </span
><span class="String"
>&quot;month-09&quot;</span
><br
/><span class="Normal NormalText"
> | </span
><span class="String"
>&quot;month-10&quot;</span
><br
/><span class="Normal NormalText"
> | </span
><span class="String"
>&quot;month-11&quot;</span
><br
/><span class="Normal NormalText"
> | </span
><span class="String"
>&quot;month-12&quot;</span
><br
/><span class="Normal NormalText"
> | </span
><br
/><span class="Normal NormalText"
> </span
><span class="Comment Comments"
>## Other</span
><br
/><span class="Normal NormalText"
> cs-terms.locator</span
><br
/><span class="Normal NormalText"
> | cs-terms.extension</span
><br
/><span class="Normal NormalText"
> | info-fields</span
><br
/><br
/><span class="Normal NormalText"
> </span
><span class="Comment Comments"
>## Locators</span
><br
/><span class="Normal NormalText"
> </span
><span class="Function Definitions"
>cs-terms.locator </span
><span class="Normal NormalText"
>=</span
><br
/><span class="Normal NormalText"
> </span
><span class="String"
>&quot;book&quot;</span
><br
/><span class="Normal NormalText"
> | </span
><span class="String"
>&quot;chapter&quot;</span
><br
/><span class="Normal NormalText"
> | </span
><span class="String"
>&quot;column&quot;</span
><br
/><span class="Normal NormalText"
> | </span
><span class="String"
>&quot;figure&quot;</span
><br
/><span class="Normal NormalText"
> | </span
><span class="String"
>&quot;folio&quot;</span
><br
/><span class="Normal NormalText"
> | </span
><span class="String"
>&quot;issue&quot;</span
><br
/><span class="Normal NormalText"
> | </span
><span class="String"
>&quot;line&quot;</span
><br
/><span class="Normal NormalText"
> | </span
><span class="String"
>&quot;note&quot;</span
><br
/><span class="Normal NormalText"
> | </span
><span class="String"
>&quot;opus&quot;</span
><br
/><span class="Normal NormalText"
> | </span
><span class="String"
>&quot;page&quot;</span
><br
/><span class="Normal NormalText"
> | </span
><br
/><span class="Normal NormalText"
> </span
><span class="Comment Comments"
>## a synonym for &quot;page&quot; (to be deprecated)</span
><br
/><span class="Normal NormalText"
> </span
><span class="String"
>&quot;page-range&quot;</span
><br
/><span class="Normal NormalText"
> | </span
><span class="String"
>&quot;page-first&quot;</span
><br
/><span class="Normal NormalText"
> | </span
><span class="String"
>&quot;paragraph&quot;</span
><br
/><span class="Normal NormalText"
> | </span
><span class="String"
>&quot;part&quot;</span
><br
/><span class="Normal NormalText"
> | </span
><span class="String"
>&quot;section&quot;</span
><br
/><span class="Normal NormalText"
> | </span
><span class="String"
>&quot;sub verbo&quot;</span
><br
/><span class="Normal NormalText"
> | </span
><span class="String"
>&quot;volume&quot;</span
><br
/><span class="Normal NormalText"
> | </span
><span class="String"
>&quot;verse&quot;</span
><br
/><br
/><span class="Normal NormalText"
> </span
><span class="Comment Comments"
>## &quot;symbol&quot; and reverts to &quot;short&quot; if no term exists</span
><br
/><span class="Normal NormalText"
> </span
><span class="Comment Comments"
>## &quot;verb-short&quot; reverts to &quot;verb&quot; if no term exists</span
><br
/><span class="Normal NormalText"
> </span
><span class="Comment Comments"
>## all others revert to &quot;long&quot; if no term exists</span
><br
/><span class="Normal NormalText"
> </span
><span class="Function Definitions"
>cs-term-forms </span
><span class="Normal NormalText"
>= </span
><span class="String"
>&quot;long&quot;</span
><span class="Normal NormalText"
> | </span
><span class="String"
>&quot;verb&quot;</span
><span class="Normal NormalText"
> | </span
><span class="String"
>&quot;short&quot;</span
><span class="Normal NormalText"
> | </span
><span class="String"
>&quot;verb-short&quot;</span
><span class="Normal NormalText"
> | </span
><span class="String"
>&quot;symbol&quot;</span
><span class="Normal NormalText"
> | cs-term-forms.extension</span
><br
/><br
/><span class="Normal NormalText"
> </span
><span class="Comment Comments"
>## include-period adds a period after a term if and only if the</span
><br
/><span class="Normal NormalText"
> </span
><span class="Comment Comments"
>## term used (not necessarily term specified; see above) is</span
><br
/><span class="Normal NormalText"
> </span
><span class="Comment Comments"
>## of form &quot;short&quot; or &quot;verb-short&quot;</span
><br
/><span class="Normal NormalText"
> </span
><span class="Function Definitions"
>include-period </span
><span class="Normal NormalText"
>= </span
><span class="Keyword Keywords"
>attribute</span
><span class="Others NodeNames"
> include-period </span
><span class="Normal NormalText"
>{ </span
><span class="DataType Datatypes"
>xsd:boolean</span
><span class="Normal NormalText"
> }?</span
><br
/><br
/><span class="Normal NormalText"
> </span
><span class="Comment Comments"
>## Extension structures. You may override these in a customization </span
><br
/><span class="Normal NormalText"
> </span
><span class="Comment Comments"
>## schema. If you do, please contact the xbiblio project to add </span
><br
/><span class="Normal NormalText"
> </span
><span class="Comment Comments"
>## the term or form to the formal controlled list in the schema.</span
><br
/><span class="Normal NormalText"
> </span
><span class="Keyword Keywords"
>div</span
><span class="Normal NormalText"
> {</span
><br
/><span class="Normal NormalText"
> </span
><span class="Function Definitions"
>cs-terms.extension </span
><span class="Normal NormalText"
>= </span
><span class="Keyword Keywords"
>notAllowed</span
><br
/><span class="Normal NormalText"
> </span
><span class="Function Definitions"
>cs-term-forms.extension </span
><span class="Normal NormalText"
>= </span
><span class="Keyword Keywords"
>notAllowed</span
><br
/><span class="Normal NormalText"
> }</span
><br
/><span class="Normal NormalText"
>}</span
><br
/><br
/><span class="Comment Comments"
>## Locales</span
><br
/><span class="Keyword Keywords"
>div</span
><span class="Normal NormalText"
> {</span
><br
/><br
/><span class="Normal NormalText"
> </span
><span class="Comment Comments"
>## Terms are localized strings used as content for the cs:text field. </span
><br
/><span class="Normal NormalText"
> </span
><span class="Comment Comments"
>## It is only needed where you need to add a term not supported by </span
><br
/><span class="Normal NormalText"
> </span
><span class="Comment Comments"
>## default, or override an existing one.</span
><br
/><span class="Normal NormalText"
> </span
><span class="Function Definitions"
>terms </span
><span class="Normal NormalText"
>= </span
><span class="Keyword Keywords"
>element</span
><span class="Others NodeNames"
> cs:terms </span
><span class="Normal NormalText"
>{ locale+ }</span
><br
/><br
/><span class="Normal NormalText"
> </span
><span class="Comment Comments"
>## A language-specific wrapper.</span
><br
/><span class="Normal NormalText"
> </span
><span class="Function Definitions"
>locale </span
><span class="Normal NormalText"
>=</span
><br
/><span class="Normal NormalText"
> </span
><span class="Keyword Keywords"
>element</span
><span class="Others NodeNames"
> cs:locale </span
><span class="Normal NormalText"
>{</span
><br
/><br
/><span class="Normal NormalText"
> </span
><span class="Comment Comments"
>## Where localization is other than that of the style, use the </span
><br
/><span class="Normal NormalText"
> </span
><span class="Comment Comments"
>## xml:lang attribute.</span
><br
/><span class="Normal NormalText"
> </span
><span class="Keyword Keywords"
>attribute</span
><span class="Others NodeNames"
> xml:lang </span
><span class="Normal NormalText"
>{ </span
><span class="DataType Datatypes"
>xsd:language</span
><span class="Normal NormalText"
> }?,</span
><br
/><span class="Normal NormalText"
> (simple-term | compound-term)+</span
><br
/><span class="Normal NormalText"
> }</span
><br
/><span class="Normal NormalText"
> </span
><span class="Function Definitions"
>term-attributes </span
><span class="Normal NormalText"
>=</span
><br
/><span class="Normal NormalText"
> </span
><span class="Keyword Keywords"
>attribute</span
><span class="Others NodeNames"
> form </span
><span class="Normal NormalText"
>{ cs-term-forms }?,</span
><br
/><span class="Normal NormalText"
> </span
><span class="Keyword Keywords"
>attribute</span
><span class="Others NodeNames"
> name </span
><span class="Normal NormalText"
>{ cs-terms },</span
><br
/><span class="Normal NormalText"
> include-period</span
><br
/><br
/><span class="Normal NormalText"
> </span
><span class="Comment Comments"
>## Simple terms are basic strings, used to represent genres, media, etc.</span
><br
/><span class="Normal NormalText"
> </span
><span class="Function Definitions"
>simple-term </span
><span class="Normal NormalText"
>= </span
><span class="Keyword Keywords"
>element</span
><span class="Others NodeNames"
> cs:term </span
><span class="Normal NormalText"
>{ term-attributes, </span
><span class="DataType Datatypes"
>text</span
><span class="Normal NormalText"
> }</span
><br
/><br
/><span class="Normal NormalText"
> </span
><span class="Comment Comments"
>## Compound terms are those whose output can be either singular or plural. </span
><br
/><span class="Normal NormalText"
> </span
><span class="Comment Comments"
>## Typically used for things like page number or editor labels.</span
><br
/><span class="Normal NormalText"
> </span
><span class="Function Definitions"
>compound-term </span
><span class="Normal NormalText"
>= </span
><span class="Keyword Keywords"
>element</span
><span class="Others NodeNames"
> cs:term </span
><span class="Normal NormalText"
>{ term-attributes, single-term, multiple-term }</span
><br
/><span class="Normal NormalText"
> </span
><span class="Function Definitions"
>multiple-term </span
><span class="Normal NormalText"
>= </span
><span class="Keyword Keywords"
>element</span
><span class="Others NodeNames"
> cs:multiple </span
><span class="Normal NormalText"
>{ </span
><span class="DataType Datatypes"
>text</span
><span class="Normal NormalText"
> }</span
><br
/><span class="Normal NormalText"
> </span
><span class="Function Definitions"
>single-term </span
><span class="Normal NormalText"
>= </span
><span class="Keyword Keywords"
>element</span
><span class="Others NodeNames"
> cs:single </span
><span class="Normal NormalText"
>{ </span
><span class="DataType Datatypes"
>text</span
><span class="Normal NormalText"
> }</span
><br
/><span class="Normal NormalText"
>}</span
><br
/><br
/><span class="Comment Comments"
>## Names is a data type holding a text of authors, editors, or translators.</span
><br
/><span class="Keyword Keywords"
>div</span
><span class="Normal NormalText"
> {</span
><br
/><span class="Normal NormalText"
> </span
><span class="Function Definitions"
>names-attributes </span
><span class="Normal NormalText"
>=</span
><br
/><span class="Normal NormalText"
> formatting,</span
><br
/><span class="Normal NormalText"
> delimiter,</span
><br
/><span class="Normal NormalText"
> </span
><span class="Keyword Keywords"
>attribute</span
><span class="Others NodeNames"
> variable </span
><span class="Normal NormalText"
>{</span
><br
/><span class="Normal NormalText"
> </span
><span class="Keyword Keywords"
>list</span
><span class="Normal NormalText"
> { cs-names+ }</span
><br
/><span class="Normal NormalText"
> }</span
><br
/><span class="Normal NormalText"
> </span
><span class="Function Definitions"
>names </span
><span class="Normal NormalText"
>= </span
><span class="Keyword Keywords"
>element</span
><span class="Others NodeNames"
> cs:names </span
><span class="Normal NormalText"
>{ names-attributes, (name &amp; name-label*), substitute? }</span
><br
/><br
/><span class="Normal NormalText"
> </span
><span class="Comment Comments"
>## Short version of &quot;names&quot; element, without children, allowed in &lt;substitute&gt;</span
><br
/><span class="Normal NormalText"
> </span
><span class="Function Definitions"
>names-short </span
><span class="Normal NormalText"
>= </span
><span class="Keyword Keywords"
>element</span
><span class="Others NodeNames"
> cs:names </span
><span class="Normal NormalText"
>{ names-attributes }</span
><br
/><span class="Normal NormalText"
> </span
><span class="Function Definitions"
>name </span
><span class="Normal NormalText"
>=</span
><br
/><span class="Normal NormalText"
> </span
><span class="Keyword Keywords"
>element</span
><span class="Others NodeNames"
> cs:name </span
><span class="Normal NormalText"
>{</span
><br
/><span class="Normal NormalText"
> formatting,</span
><br
/><br
/><span class="Normal NormalText"
> </span
><span class="Comment Comments"
>## Indicates long (first name + last name, for Western names) or short</span
><br
/><span class="Normal NormalText"
> </span
><span class="Comment Comments"
>## (last name only, for Western names) form of name. Default is long</span
><br
/><span class="Normal NormalText"
> </span
><span class="Comment Comments"
>## form</span
><br
/><span class="Normal NormalText"
> </span
><span class="Keyword Keywords"
>attribute</span
><span class="Others NodeNames"
> form </span
><span class="Normal NormalText"
>{ </span
><span class="String"
>&quot;long&quot;</span
><span class="Normal NormalText"
> | </span
><span class="String"
>&quot;short&quot;</span
><span class="Normal NormalText"
> }?,</span
><br
/><br
/><span class="Normal NormalText"
> </span
><span class="Comment Comments"
>## Controls appearance of &quot;and&quot;/&quot;&amp;&quot;. To disable, do not specify.</span
><br
/><span class="Normal NormalText"
> </span
><span class="Keyword Keywords"
>attribute</span
><span class="Others NodeNames"
> and </span
><span class="Normal NormalText"
>{ </span
><span class="String"
>&quot;text&quot;</span
><span class="Normal NormalText"
> | </span
><span class="String"
>&quot;symbol&quot;</span
><span class="Normal NormalText"
> }?,</span
><br
/><br
/><span class="Normal NormalText"
> </span
><span class="Comment Comments"
>## Delimiter between names (delimiter between variables is on &lt;names&gt;</span
><br
/><span class="Normal NormalText"
> </span
><span class="Comment Comments"
>## tag, where it should be). This is &quot;, &quot; in &quot;J. Doe, S. Smith.&quot;</span
><br
/><span class="Normal NormalText"
> delimiter,</span
><br
/><br
/><span class="Normal NormalText"
> </span
><span class="Comment Comments"
>## delimiter for the last name is a list</span
><br
/><span class="Normal NormalText"
> </span
><span class="Keyword Keywords"
>attribute</span
><span class="Others NodeNames"
> delimiter-precedes-last </span
><span class="Normal NormalText"
>{</span
><br
/><br
/><span class="Normal NormalText"
> </span
><span class="Comment Comments"
>## The &quot;always&quot; value means that result is &quot;J. Doe, and T. Timmons&quot;</span
><br
/><span class="Normal NormalText"
> </span
><span class="String"
>&quot;always&quot;</span
><br
/><span class="Normal NormalText"
> | </span
><br
/><span class="Normal NormalText"
> </span
><span class="Comment Comments"
>## Default behavior; would result in &quot;J. Doe and T. Timmons,&quot; but &quot;J. Doe,</span
><br
/><span class="Normal NormalText"
> </span
><span class="Comment Comments"
>## S. Smith, and T. Timmons&quot; (note comma preceding 'and').</span
><br
/><span class="Normal NormalText"
> </span
><span class="String"
>&quot;never&quot;</span
><br
/><span class="Normal NormalText"
> }?,</span
><br
/><br
/><span class="Normal NormalText"
> </span
><span class="Comment Comments"
>## Sets the first-author name order to correspond to the sort order of</span
><br
/><span class="Normal NormalText"
> </span
><span class="Comment Comments"
>## the bibliography; e.g. Doe, John (name-as-sort-order) vs. John Doe (w/o</span
><br
/><span class="Normal NormalText"
> </span
><span class="Comment Comments"
>## attribute).</span
><br
/><span class="Normal NormalText"
> </span
><span class="Keyword Keywords"
>attribute</span
><span class="Others NodeNames"
> name-as-sort-order </span
><span class="Normal NormalText"
>{ </span
><span class="String"
>&quot;first&quot;</span
><span class="Normal NormalText"
> | </span
><span class="String"
>&quot;all&quot;</span
><span class="Normal NormalText"
> }?,</span
><br
/><br
/><span class="Normal NormalText"
> </span
><span class="Comment Comments"
>## The delimiter for personal name parts where sort order differs from </span
><br
/><span class="Normal NormalText"
> </span
><span class="Comment Comments"
>## display order (for example, in standard Western names). This is the</span
><br
/><span class="Normal NormalText"
> </span
><span class="Comment Comments"
>## &quot;, &quot; in &quot;Doe, John.&quot;</span
><br
/><span class="Normal NormalText"
> </span
><span class="Keyword Keywords"
>attribute</span
><span class="Others NodeNames"
> sort-separator </span
><span class="Normal NormalText"
>{ </span
><span class="DataType Datatypes"
>text</span
><span class="Normal NormalText"
> }?,</span
><br
/><br
/><span class="Normal NormalText"
> </span
><span class="Comment Comments"
>## Indicates whether given name parts ought to be given as initials</span
><br
/><span class="Normal NormalText"
> </span
><span class="Comment Comments"
>## (e.g., J. K. Rowling) and the text to follow each initial.</span
><br
/><span class="Normal NormalText"
> </span
><span class="Keyword Keywords"
>attribute</span
><span class="Others NodeNames"
> initialize-with </span
><span class="Normal NormalText"
>{ </span
><span class="DataType Datatypes"
>text</span
><span class="Normal NormalText"
> }?</span
><br
/><span class="Normal NormalText"
> }</span
><br
/><br
/><span class="Normal NormalText"
> </span
><span class="Comment Comments"
>## Similar to label as below, but inherits variable from &lt;names&gt; tag</span
><br
/><span class="Normal NormalText"
> </span
><span class="Function Definitions"
>name-label </span
><span class="Normal NormalText"
>= </span
><span class="Keyword Keywords"
>element</span
><span class="Others NodeNames"
> cs:label </span
><span class="Normal NormalText"
>{ label-primitives }</span
><br
/><br
/><span class="Normal NormalText"
> </span
><span class="Comment Comments"
>## Substitutions, if the name does not exist</span
><br
/><span class="Normal NormalText"
> </span
><span class="Function Definitions"
>substitute </span
><span class="Normal NormalText"
>= </span
><span class="Keyword Keywords"
>element</span
><span class="Others NodeNames"
> cs:substitute </span
><span class="Normal NormalText"
>{ (names-short | cs-element)+ }</span
><br
/><span class="Normal NormalText"
> </span
><span class="Function Definitions"
>cs-names </span
><span class="Normal NormalText"
>=</span
><br
/><span class="Normal NormalText"
> </span
><span class="String"
>&quot;author&quot;</span
><br
/><span class="Normal NormalText"
> | </span
><span class="String"
>&quot;editor&quot;</span
><br
/><span class="Normal NormalText"
> | </span
><span class="String"
>&quot;translator&quot;</span
><br
/><span class="Normal NormalText"
> | </span
><span class="String"
>&quot;recipient&quot;</span
><br
/><span class="Normal NormalText"
> | </span
><span class="String"
>&quot;interviewer&quot;</span
><br
/><span class="Normal NormalText"
> | </span
><span class="String"
>&quot;publisher&quot;</span
><br
/><span class="Normal NormalText"
> | </span
><span class="String"
>&quot;composer&quot;</span
><br
/><span class="Normal NormalText"
> | </span
><span class="String"
>&quot;original-publisher&quot;</span
><br
/><span class="Normal NormalText"
> | </span
><span class="String"
>&quot;original-author&quot;</span
><br
/><span class="Normal NormalText"
> | </span
><br
/><span class="Normal NormalText"
> </span
><span class="Comment Comments"
>## to be used when citing a section of a book, for example, to distinguish the author </span
><br
/><span class="Normal NormalText"
> </span
><span class="Comment Comments"
>## proper from the author of the containing work</span
><br
/><span class="Normal NormalText"
> </span
><span class="String"
>&quot;container-author&quot;</span
><br
/><span class="Normal NormalText"
> | </span
><br
/><span class="Normal NormalText"
> </span
><span class="Comment Comments"
>## use for series editor</span
><br
/><span class="Normal NormalText"
> </span
><span class="String"
>&quot;collection-editor&quot;</span
><br
/><span class="Normal NormalText"
>}</span
><br
/><br
/><span class="Comment Comments"
>## date</span
><br
/><span class="Keyword Keywords"
>div</span
><span class="Normal NormalText"
> {</span
><br
/><span class="Normal NormalText"
> </span
><span class="Function Definitions"
>date </span
><span class="Normal NormalText"
>=</span
><br
/><span class="Normal NormalText"
> </span
><span class="Keyword Keywords"
>element</span
><span class="Others NodeNames"
> cs:date </span
><span class="Normal NormalText"
>{</span
><br
/><span class="Normal NormalText"
> </span
><span class="Keyword Keywords"
>attribute</span
><span class="Others NodeNames"
> variable </span
><span class="Normal NormalText"
>{</span
><br
/><span class="Normal NormalText"
> </span
><span class="Keyword Keywords"
>list</span
><span class="Normal NormalText"
> { cs-date-tokens+ }</span
><br
/><span class="Normal NormalText"
> },</span
><br
/><span class="Normal NormalText"
> formatting,</span
><br
/><span class="Normal NormalText"
> delimiter,</span
><br
/><span class="Normal NormalText"
> date-part+</span
><br
/><span class="Normal NormalText"
> }</span
><br
/><span class="Normal NormalText"
> </span
><span class="Function Definitions"
>date-part </span
><span class="Normal NormalText"
>= </span
><span class="Keyword Keywords"
>element</span
><span class="Others NodeNames"
> cs:date-part </span
><span class="Normal NormalText"
>{ formatting, (month | day | year-other) }</span
><br
/><br
/><span class="Normal NormalText"
> </span
><span class="Comment Comments"
>## Month formats:</span
><br
/><span class="Normal NormalText"
> </span
><span class="Comment Comments"
>## long (default): January</span
><br
/><span class="Normal NormalText"
> </span
><span class="Comment Comments"
>## short: Jan</span
><br
/><span class="Normal NormalText"
> </span
><span class="Comment Comments"
>## numeric: 1</span
><br
/><span class="Normal NormalText"
> </span
><span class="Comment Comments"
>## numeric-leading-zeros: 01</span
><br
/><span class="Normal NormalText"
> </span
><span class="Function Definitions"
>month </span
><span class="Normal NormalText"
>=</span
><br
/><span class="Normal NormalText"
> </span
><span class="Keyword Keywords"
>attribute</span
><span class="Others NodeNames"
> name </span
><span class="Normal NormalText"
>{ </span
><span class="String"
>&quot;month&quot;</span
><span class="Normal NormalText"
> },</span
><br
/><span class="Normal NormalText"
> (</span
><span class="Keyword Keywords"
>attribute</span
><span class="Others NodeNames"
> form </span
><span class="Normal NormalText"
>{ </span
><span class="String"
>&quot;long&quot;</span
><span class="Normal NormalText"
> | </span
><span class="String"
>&quot;short&quot;</span
><span class="Normal NormalText"
> | </span
><span class="String"
>&quot;numeric&quot;</span
><span class="Normal NormalText"
> | </span
><span class="String"
>&quot;numeric-leading-zeros&quot;</span
><span class="Normal NormalText"
> }?,</span
><br
/><span class="Normal NormalText"
> include-period)</span
><br
/><br
/><span class="Normal NormalText"
> </span
><span class="Comment Comments"
>## Day formats:</span
><br
/><span class="Normal NormalText"
> </span
><span class="Comment Comments"
>## numeric (default): 5</span
><br
/><span class="Normal NormalText"
> </span
><span class="Comment Comments"
>## numeric-leading-zeros: 05</span
><br
/><span class="Normal NormalText"
> </span
><span class="Comment Comments"
>## ordinal: 5th</span
><br
/><span class="Normal NormalText"
> </span
><span class="Function Definitions"
>day </span
><span class="Normal NormalText"
>=</span
><br
/><span class="Normal NormalText"
> </span
><span class="Keyword Keywords"
>attribute</span
><span class="Others NodeNames"
> name </span
><span class="Normal NormalText"
>{ </span
><span class="String"
>&quot;day&quot;</span
><span class="Normal NormalText"
> },</span
><br
/><span class="Normal NormalText"
> </span
><span class="Keyword Keywords"
>attribute</span
><span class="Others NodeNames"
> form </span
><span class="Normal NormalText"
>{ </span
><span class="String"
>&quot;numeric&quot;</span
><span class="Normal NormalText"
> | </span
><span class="String"
>&quot;numeric-leading-zeros&quot;</span
><span class="Normal NormalText"
> | </span
><span class="String"
>&quot;ordinal&quot;</span
><span class="Normal NormalText"
> }?</span
><br
/><br
/><span class="Normal NormalText"
> </span
><span class="Comment Comments"
>## Year formats:</span
><br
/><span class="Normal NormalText"
> </span
><span class="Comment Comments"
>## long (default): 2005</span
><br
/><span class="Normal NormalText"
> </span
><span class="Comment Comments"
>## short: 05</span
><br
/><span class="Normal NormalText"
> </span
><span class="Comment Comments"
>## Other represents any non-month/day/year date part</span
><br
/><span class="Normal NormalText"
> </span
><span class="Function Definitions"
>year-other </span
><span class="Normal NormalText"
>=</span
><br
/><span class="Normal NormalText"
> </span
><span class="Keyword Keywords"
>attribute</span
><span class="Others NodeNames"
> name </span
><span class="Normal NormalText"
>{ </span
><span class="String"
>&quot;year&quot;</span
><span class="Normal NormalText"
> | </span
><span class="String"
>&quot;other&quot;</span
><span class="Normal NormalText"
> },</span
><br
/><span class="Normal NormalText"
> </span
><span class="Keyword Keywords"
>attribute</span
><span class="Others NodeNames"
> form </span
><span class="Normal NormalText"
>{ </span
><span class="String"
>&quot;short&quot;</span
><span class="Normal NormalText"
> | </span
><span class="String"
>&quot;long&quot;</span
><span class="Normal NormalText"
> }?</span
><br
/><span class="Normal NormalText"
> </span
><span class="Function Definitions"
>cs-date-tokens </span
><span class="Normal NormalText"
>= </span
><span class="String"
>&quot;issued&quot;</span
><span class="Normal NormalText"
> | </span
><span class="String"
>&quot;event&quot;</span
><span class="Normal NormalText"
> | </span
><span class="String"
>&quot;accessed&quot;</span
><span class="Normal NormalText"
> | </span
><span class="String"
>&quot;container&quot;</span
><span class="Normal NormalText"
> | </span
><span class="String"
>&quot;original-date&quot;</span
><br
/><span class="Normal NormalText"
>}</span
><br
/><br
/><span class="Comment Comments"
>## The cs:text element is the main formatting element used to layout down content.</span
><br
/><span class="Keyword Keywords"
>div</span
><span class="Normal NormalText"
> {</span
><br
/><span class="Normal NormalText"
> </span
><span class="Function Definitions"
>cs-text </span
><span class="Normal NormalText"
>=</span
><br
/><span class="Normal NormalText"
> </span
><span class="Keyword Keywords"
>element</span
><span class="Others NodeNames"
> cs:text </span
><span class="Normal NormalText"
>{</span
><br
/><span class="Normal NormalText"
> formatting,</span
><br
/><span class="Normal NormalText"
> ((((</span
><br
/><span class="Normal NormalText"
> </span
><span class="Comment Comments"
>## adds a variable belonging to this item</span
><br
/><span class="Normal NormalText"
> </span
><span class="Keyword Keywords"
>attribute</span
><span class="Others NodeNames"
> variable </span
><span class="Normal NormalText"
>{</span
><br
/><span class="Normal NormalText"
> </span
><span class="Keyword Keywords"
>list</span
><span class="Normal NormalText"
> { variables+ }</span
><br
/><span class="Normal NormalText"
> }</span
><br
/><span class="Normal NormalText"
> &amp; delimiter)</span
><br
/><span class="Normal NormalText"
> | </span
><br
/><span class="Normal NormalText"
> </span
><span class="Comment Comments"
>## adds the results of a macro, as specified in the main body of the CSL</span
><br
/><span class="Normal NormalText"
> </span
><span class="Keyword Keywords"
>attribute</span
><span class="Others NodeNames"
> macro </span
><span class="Normal NormalText"
>{ </span
><span class="Keyword Keywords"
>token</span
><span class="Normal NormalText"
> }</span
><br
/><span class="Normal NormalText"
> | </span
><br
/><span class="Normal NormalText"
> </span
><span class="Comment Comments"
>## A descriptor that locates sub-item content within a cited resource. Used</span
><br
/><span class="Normal NormalText"
> </span
><span class="Comment Comments"
>## in some styles to indicate specific page numbers for excerpted</span
><br
/><span class="Normal NormalText"
> </span
><span class="Comment Comments"
>## content, for example.</span
><br
/><span class="Normal NormalText"
> </span
><span class="Keyword Keywords"
>attribute</span
><span class="Others NodeNames"
> point-locator </span
><span class="Normal NormalText"
>{ cs-terms.locator }),</span
><br
/><span class="Normal NormalText"
> </span
><span class="Keyword Keywords"
>attribute</span
><span class="Others NodeNames"
> form </span
><span class="Normal NormalText"
>{ </span
><span class="String"
>&quot;short&quot;</span
><span class="Normal NormalText"
> | </span
><span class="String"
>&quot;long&quot;</span
><span class="Normal NormalText"
> }?)</span
><br
/><span class="Normal NormalText"
> | (</span
><br
/><span class="Normal NormalText"
> </span
><span class="Comment Comments"
>## adds a localized term</span
><br
/><span class="Normal NormalText"
> </span
><span class="Keyword Keywords"
>attribute</span
><span class="Others NodeNames"
> term </span
><span class="Normal NormalText"
>{ cs-terms },</span
><br
/><span class="Normal NormalText"
> </span
><span class="Keyword Keywords"
>attribute</span
><span class="Others NodeNames"
> form </span
><span class="Normal NormalText"
>{ cs-term-forms }?,</span
><br
/><span class="Normal NormalText"
> include-period,</span
><br
/><span class="Normal NormalText"
> plural?)</span
><br
/><span class="Normal NormalText"
> | </span
><br
/><span class="Normal NormalText"
> </span
><span class="Comment Comments"
>## adds the text in the value field. use sparingly.</span
><br
/><span class="Normal NormalText"
> </span
><span class="Comment Comments"
>## when dealing with localizable text, &lt;text term=&quot;(term)&quot;/&gt; should be</span
><br
/><span class="Normal NormalText"
> </span
><span class="Comment Comments"
>## used, even if this means defining a new term.</span
><br
/><span class="Normal NormalText"
> </span
><span class="Keyword Keywords"
>attribute</span
><span class="Others NodeNames"
> value </span
><span class="Normal NormalText"
>{ </span
><span class="DataType Datatypes"
>text</span
><span class="Normal NormalText"
> })</span
><br
/><span class="Normal NormalText"
> }</span
><br
/><br
/><span class="Normal NormalText"
> </span
><span class="Comment Comments"
>## The number markup directive matches the first number found in a field, </span
><br
/><span class="Normal NormalText"
> </span
><span class="Comment Comments"
>## and returns only that component. If no number is detected, the result </span
><br
/><span class="Normal NormalText"
> </span
><span class="Comment Comments"
>## is empty. A non-empty number may be subject to further formatting consisting </span
><br
/><span class="Normal NormalText"
> </span
><span class="Comment Comments"
>## of a form attribute whose value may be numeric, ordinal or roman to format </span
><br
/><span class="Normal NormalText"
> </span
><span class="Comment Comments"
>## it as a simple number (the default), an ordinal number (1st, 2nd, 3rd etc) </span
><br
/><span class="Normal NormalText"
> </span
><span class="Comment Comments"
>## or roman (i, ii, iii, iv etc). The text-case can also apply to capitalize </span
><br
/><span class="Normal NormalText"
> </span
><span class="Comment Comments"
>## the roman numbers for instance. The other normal formatting rules apply </span
><br
/><span class="Normal NormalText"
> </span
><span class="Comment Comments"
>## too (font-style, ...). When used in a conditional, number tests if </span
><br
/><span class="Normal NormalText"
> </span
><span class="Comment Comments"
>## there is a number present, allowing conditional formatting.</span
><br
/><span class="Normal NormalText"
> </span
><span class="Function Definitions"
>cs-number </span
><span class="Normal NormalText"
>=</span
><br
/><span class="Normal NormalText"
> </span
><span class="Keyword Keywords"
>element</span
><span class="Others NodeNames"
> cs:number </span
><span class="Normal NormalText"
>{</span
><br
/><span class="Normal NormalText"
> formatting,</span
><br
/><span class="Normal NormalText"
> </span
><span class="Keyword Keywords"
>attribute</span
><span class="Others NodeNames"
> variable </span
><span class="Normal NormalText"
>{ </span
><span class="String"
>&quot;edition&quot;</span
><span class="Normal NormalText"
> | </span
><span class="String"
>&quot;volume&quot;</span
><span class="Normal NormalText"
> | </span
><span class="String"
>&quot;issue&quot;</span
><span class="Normal NormalText"
> | </span
><span class="String"
>&quot;number&quot;</span
><span class="Normal NormalText"
> | </span
><span class="String"
>&quot;number-of-volumes&quot;</span
><span class="Normal NormalText"
> },</span
><br
/><span class="Normal NormalText"
> </span
><span class="Keyword Keywords"
>attribute</span
><span class="Others NodeNames"
> form </span
><span class="Normal NormalText"
>{ </span
><span class="String"
>&quot;numeric&quot;</span
><span class="Normal NormalText"
> | </span
><span class="String"
>&quot;ordinal&quot;</span
><span class="Normal NormalText"
> | </span
><span class="String"
>&quot;roman&quot;</span
><span class="Normal NormalText"
> }?</span
><br
/><span class="Normal NormalText"
> }</span
><br
/><span class="Normal NormalText"
> </span
><span class="Function Definitions"
>variables </span
><span class="Normal NormalText"
>=</span
><br
/><br
/><span class="Normal NormalText"
> </span
><span class="Comment Comments"
>## the primary title for the cited item</span
><br
/><span class="Normal NormalText"
> </span
><span class="String"
>&quot;title&quot;</span
><br
/><span class="Normal NormalText"
> | </span
><br
/><span class="Normal NormalText"
> </span
><span class="Comment Comments"
>## the secondary title for the cited item; for a book chapter, this </span
><br
/><span class="Normal NormalText"
> </span
><span class="Comment Comments"
>## would be a book title, for an article the journal title, etc.</span
><br
/><span class="Normal NormalText"
> </span
><span class="String"
>&quot;container-title&quot;</span
><br
/><span class="Normal NormalText"
> | </span
><br
/><span class="Normal NormalText"
> </span
><span class="Comment Comments"
>## the tertiary title for the cited item; for example, a series title</span
><br
/><span class="Normal NormalText"
> </span
><span class="String"
>&quot;collection-title&quot;</span
><br
/><span class="Normal NormalText"
> | </span
><br
/><span class="Normal NormalText"
> </span
><span class="Comment Comments"
>## collection number; for example, series number</span
><br
/><span class="Normal NormalText"
> </span
><span class="String"
>&quot;collection-number&quot;</span
><br
/><span class="Normal NormalText"
> | </span
><br
/><span class="Normal NormalText"
> </span
><span class="Comment Comments"
>## title of a related original version; often useful in cases of translation</span
><br
/><span class="Normal NormalText"
> </span
><span class="String"
>&quot;original-title&quot;</span
><br
/><span class="Normal NormalText"
> | </span
><br
/><span class="Normal NormalText"
> </span
><span class="Comment Comments"
>## the name of the publisher</span
><br
/><span class="Normal NormalText"
> </span
><span class="String"
>&quot;publisher&quot;</span
><br
/><span class="Normal NormalText"
> | </span
><br
/><span class="Normal NormalText"
> </span
><span class="Comment Comments"
>## the location of the publisher</span
><br
/><span class="Normal NormalText"
> </span
><span class="String"
>&quot;publisher-place&quot;</span
><br
/><span class="Normal NormalText"
> | </span
><br
/><span class="Normal NormalText"
> </span
><span class="Comment Comments"
>## the name of the archive</span
><br
/><span class="Normal NormalText"
> </span
><span class="String"
>&quot;archive&quot;</span
><br
/><span class="Normal NormalText"
> | </span
><br
/><span class="Normal NormalText"
> </span
><span class="Comment Comments"
>## the location of the archive</span
><br
/><span class="Normal NormalText"
> </span
><span class="String"
>&quot;archive-place&quot;</span
><br
/><span class="Normal NormalText"
> | </span
><br
/><span class="Normal NormalText"
> </span
><span class="Comment Comments"
>## the location within an archival collection (for example, box and folder)</span
><br
/><span class="Normal NormalText"
> </span
><span class="String"
>&quot;archive_location&quot;</span
><br
/><span class="Normal NormalText"
> | </span
><br
/><span class="Normal NormalText"
> </span
><span class="Comment Comments"
>## the name or title of a related event such as a conference or hearing</span
><br
/><span class="Normal NormalText"
> </span
><span class="String"
>&quot;event&quot;</span
><br
/><span class="Normal NormalText"
> | </span
><br
/><span class="Normal NormalText"
> </span
><span class="Comment Comments"
>## the location or place for the related event</span
><br
/><span class="Normal NormalText"
> </span
><span class="String"
>&quot;event-place&quot;</span
><br
/><span class="Normal NormalText"
> | </span
><br
/><span class="Normal NormalText"
> </span
><span class="Comment Comments"
>##</span
><br
/><span class="Normal NormalText"
> </span
><span class="String"
>&quot;page&quot;</span
><br
/><span class="Normal NormalText"
> | </span
><br
/><span class="Normal NormalText"
> </span
><span class="Comment Comments"
>## a description to locate an item within some larger container or </span
><br
/><span class="Normal NormalText"
> </span
><span class="Comment Comments"
>## collection; a volume or issue number is a kind of locator, for example.</span
><br
/><span class="Normal NormalText"
> </span
><span class="String"
>&quot;locator&quot;</span
><br
/><span class="Normal NormalText"
> | </span
><br
/><span class="Normal NormalText"
> </span
><span class="Comment Comments"
>## version description</span
><br
/><span class="Normal NormalText"
> </span
><span class="String"
>&quot;version&quot;</span
><br
/><span class="Normal NormalText"
> | </span
><br
/><span class="Normal NormalText"
> </span
><span class="Comment Comments"
>## volume number for the container periodical</span
><br
/><span class="Normal NormalText"
> </span
><span class="String"
>&quot;volume&quot;</span
><br
/><span class="Normal NormalText"
> | </span
><br
/><span class="Normal NormalText"
> </span
><span class="Comment Comments"
>## refers to the number of items in multi-volume books and such</span
><br
/><span class="Normal NormalText"
> </span
><span class="String"
>&quot;number-of-volumes&quot;</span
><br
/><span class="Normal NormalText"
> | </span
><br
/><span class="Normal NormalText"
> </span
><span class="Comment Comments"
>## the issue number for the container publication</span
><br
/><span class="Normal NormalText"
> </span
><span class="String"
>&quot;issue&quot;</span
><br
/><span class="Normal NormalText"
> | </span
><br
/><span class="Normal NormalText"
> </span
><span class="Comment Comments"
>##</span
><br
/><span class="Normal NormalText"
> </span
><span class="String"
>&quot;chapter-number&quot;</span
><br
/><span class="Normal NormalText"
> | </span
><br
/><span class="Normal NormalText"
> </span
><span class="Comment Comments"
>## medium description (DVD, CD, etc.)</span
><br
/><span class="Normal NormalText"
> </span
><span class="String"
>&quot;medium&quot;</span
><br
/><span class="Normal NormalText"
> | </span
><br
/><span class="Normal NormalText"
> </span
><span class="Comment Comments"
>## the (typically publication) status of an item; for example &quot;forthcoming&quot;</span
><br
/><span class="Normal NormalText"
> </span
><span class="String"
>&quot;status&quot;</span
><br
/><span class="Normal NormalText"
> | </span
><br
/><span class="Normal NormalText"
> </span
><span class="Comment Comments"
>## an edition description</span
><br
/><span class="Normal NormalText"
> </span
><span class="String"
>&quot;edition&quot;</span
><br
/><span class="Normal NormalText"
> | </span
><br
/><span class="Normal NormalText"
> </span
><span class="Comment Comments"
>## a section description (for newspapers, etc.)</span
><br
/><span class="Normal NormalText"
> </span
><span class="String"
>&quot;section&quot;</span
><br
/><span class="Normal NormalText"
> | </span
><br
/><span class="Normal NormalText"
> </span
><span class="Comment Comments"
>##</span
><br
/><span class="Normal NormalText"
> </span
><span class="String"
>&quot;genre&quot;</span
><br
/><span class="Normal NormalText"
> | </span
><br
/><span class="Normal NormalText"
> </span
><span class="Comment Comments"
>## a short inline note, often used to refer to additional details of the resource</span
><br
/><span class="Normal NormalText"
> </span
><span class="String"
>&quot;note&quot;</span
><br
/><span class="Normal NormalText"
> | </span
><br
/><span class="Normal NormalText"
> </span
><span class="Comment Comments"
>## notes made by a reader about the content of the resource</span
><br
/><span class="Normal NormalText"
> </span
><span class="String"
>&quot;annote&quot;</span
><br
/><span class="Normal NormalText"
> | </span
><br
/><span class="Normal NormalText"
> </span
><span class="Comment Comments"
>##</span
><br
/><span class="Normal NormalText"
> </span
><span class="String"
>&quot;abstract&quot;</span
><br
/><span class="Normal NormalText"
> | </span
><br
/><span class="Normal NormalText"
> </span
><span class="Comment Comments"
>##</span
><br
/><span class="Normal NormalText"
> </span
><span class="String"
>&quot;keyword&quot;</span
><br
/><span class="Normal NormalText"
> | </span
><br
/><span class="Normal NormalText"
> </span
><span class="Comment Comments"
>## a document number; useful for reports and such</span
><br
/><span class="Normal NormalText"
> </span
><span class="String"
>&quot;number&quot;</span
><br
/><span class="Normal NormalText"
> | </span
><br
/><span class="Normal NormalText"
> </span
><span class="Comment Comments"
>## for related referenced resources; this is here for legal case </span
><br
/><span class="Normal NormalText"
> </span
><span class="Comment Comments"
>## histories, but may be relevant for other contexts.</span
><br
/><span class="Normal NormalText"
> </span
><span class="String"
>&quot;references&quot;</span
><br
/><span class="Normal NormalText"
> | </span
><br
/><span class="Normal NormalText"
> </span
><span class="Comment Comments"
>##</span
><br
/><span class="Normal NormalText"
> </span
><span class="String"
>&quot;URL&quot;</span
><br
/><span class="Normal NormalText"
> | </span
><br
/><span class="Normal NormalText"
> </span
><span class="Comment Comments"
>##</span
><br
/><span class="Normal NormalText"
> </span
><span class="String"
>&quot;DOI&quot;</span
><br
/><span class="Normal NormalText"
> | </span
><br
/><span class="Normal NormalText"
> </span
><span class="Comment Comments"
>##</span
><br
/><span class="Normal NormalText"
> </span
><span class="String"
>&quot;ISBN&quot;</span
><br
/><span class="Normal NormalText"
> | </span
><br
/><span class="Normal NormalText"
> </span
><span class="Comment Comments"
>##</span
><br
/><span class="Normal NormalText"
> </span
><span class="String"
>&quot;call-number&quot;</span
><br
/><span class="Normal NormalText"
> | </span
><br
/><span class="Normal NormalText"
> </span
><span class="Comment Comments"
>## the number used for the in-text citation mark in numeric styles</span
><br
/><span class="Normal NormalText"
> </span
><span class="String"
>&quot;citation-number&quot;</span
><br
/><span class="Normal NormalText"
> | </span
><br
/><span class="Normal NormalText"
> </span
><span class="Comment Comments"
>## the label used for the in-text citation mark in label styles</span
><br
/><span class="Normal NormalText"
> </span
><span class="String"
>&quot;citation-label&quot;</span
><br
/><span class="Normal NormalText"
> |</span
><br
/><span class="Normal NormalText"
> </span
><span class="Comment Comments"
>## The number of a preceding note containing the first reference to</span
><br
/><span class="Normal NormalText"
> </span
><span class="Comment Comments"
>## this item. Relevant only for note-based styles, and null for first references.</span
><br
/><span class="Normal NormalText"
> </span
><span class="String"
>&quot;first-reference-note-number&quot;</span
><br
/><span class="Normal NormalText"
> |</span
><br
/><span class="Normal NormalText"
> </span
><span class="Comment Comments"
>## The year suffix for author-date styles; e.g. the 'a' in '1999a'.</span
><br
/><span class="Normal NormalText"
> </span
><span class="String"
>&quot;year-suffix&quot;</span
><br
/><span class="Normal NormalText"
>}</span
><br
/><span class="Comment Comments"
>## The cs:label element.</span
><br
/><span class="Keyword Keywords"
>div</span
><span class="Normal NormalText"
> {</span
><br
/><br
/><span class="Normal NormalText"
> </span
><span class="Comment Comments"
>## The label element is used to print text terms that depend on document content</span
><br
/><span class="Normal NormalText"
> </span
><span class="Comment Comments"
>## for pluralization. For labeling pages, this is preferable, as pages may be</span
><br
/><span class="Normal NormalText"
> </span
><span class="Comment Comments"
>## either singular or plural (p. or pp.)</span
><br
/><span class="Normal NormalText"
> </span
><span class="Function Definitions"
>label </span
><span class="Normal NormalText"
>=</span
><br
/><span class="Normal NormalText"
> </span
><span class="Keyword Keywords"
>element</span
><span class="Others NodeNames"
> cs:label </span
><span class="Normal NormalText"
>{</span
><br
/><span class="Normal NormalText"
> label-primitives,</span
><br
/><span class="Normal NormalText"
> </span
><span class="Keyword Keywords"
>attribute</span
><span class="Others NodeNames"
> variable </span
><span class="Normal NormalText"
>{ </span
><span class="String"
>&quot;page&quot;</span
><span class="Normal NormalText"
> | </span
><span class="String"
>&quot;locator&quot;</span
><span class="Normal NormalText"
> }</span
><br
/><span class="Normal NormalText"
> }</span
><br
/><span class="Normal NormalText"
> </span
><span class="Function Definitions"
>label-primitives </span
><span class="Normal NormalText"
>=</span
><br
/><span class="Normal NormalText"
> formatting,</span
><br
/><span class="Normal NormalText"
> include-period?,</span
><br
/><span class="Normal NormalText"
> </span
><span class="Keyword Keywords"
>attribute</span
><span class="Others NodeNames"
> form </span
><span class="Normal NormalText"
>{ cs-term-forms },</span
><br
/><br
/><span class="Normal NormalText"
> </span
><span class="Comment Comments"
>## On cs:label, use to modify default pluralization behavior. </span
><br
/><span class="Normal NormalText"
> plural?</span
><br
/><br
/><span class="Normal NormalText"
> </span
><span class="Comment Comments"
>## modifies plualization behavior [ a:defaultValue = &quot;contextual&quot; ]</span
><br
/><span class="Normal NormalText"
> </span
><span class="Function Definitions"
>plural </span
><span class="Normal NormalText"
>= </span
><span class="Keyword Keywords"
>attribute</span
><span class="Others NodeNames"
> plural </span
><span class="Normal NormalText"
>{ </span
><span class="DataType Datatypes"
>xsd:boolean</span
><span class="Normal NormalText"
> }</span
><br
/><span class="Normal NormalText"
>}</span
><br
/><br
/><span class="Comment Comments"
>## The cs:macro element</span
><br
/><span class="Keyword Keywords"
>div</span
><span class="Normal NormalText"
> {</span
><br
/><br
/><span class="Normal NormalText"
> </span
><span class="Comment Comments"
>## The macro element works something like in BibTeX, and provides a ready-made </span
><br
/><span class="Normal NormalText"
> </span
><span class="Comment Comments"
>## bundle of formatting templates that can be easily reusesd elsewhere.</span
><br
/><span class="Normal NormalText"
> </span
><span class="Function Definitions"
>macro </span
><span class="Normal NormalText"
>=</span
><br
/><span class="Normal NormalText"
> </span
><span class="Keyword Keywords"
>element</span
><span class="Others NodeNames"
> cs:macro </span
><span class="Normal NormalText"
>{</span
><br
/><span class="Normal NormalText"
> </span
><span class="Keyword Keywords"
>attribute</span
><span class="Others NodeNames"
> name </span
><span class="Normal NormalText"
>{ </span
><span class="Keyword Keywords"
>token</span
><span class="Normal NormalText"
> },</span
><br
/><span class="Normal NormalText"
> cs-element+</span
><br
/><span class="Normal NormalText"
> }</span
><br
/><span class="Normal NormalText"
>}</span
><br
/><br
/><span class="Comment Comments"
>## The cs:group element</span
><br
/><span class="Keyword Keywords"
>div</span
><span class="Normal NormalText"
> {</span
><br
/><br
/><span class="Normal NormalText"
> </span
><span class="Comment Comments"
>## Group is used to provide delimiters and a common prefix/suffix. It is syntactic </span
><br
/><span class="Normal NormalText"
> </span
><span class="Comment Comments"
>## sugar for a conditional that tests for the presence of any non-null child variable </span
><br
/><span class="Normal NormalText"
> </span
><span class="Comment Comments"
>## or macro call results. So if there are no such results, then any &lt;text term=&quot;(term)&quot;&gt; </span
><br
/><span class="Normal NormalText"
> </span
><span class="Comment Comments"
>## content will not be printed.</span
><br
/><span class="Normal NormalText"
> </span
><span class="Function Definitions"
>group </span
><span class="Normal NormalText"
>=</span
><br
/><span class="Normal NormalText"
> </span
><span class="Keyword Keywords"
>element</span
><span class="Others NodeNames"
> cs:group </span
><span class="Normal NormalText"
>{</span
><br
/><span class="Normal NormalText"
> formatting,</span
><br
/><span class="Normal NormalText"
> delimiter,</span
><br
/><span class="Normal NormalText"
> </span
><span class="Comment Comments"
>## the class attribute can be used to pass on styling hooks for CSS and such</span
><br
/><span class="Normal NormalText"
> </span
><span class="Keyword Keywords"
>attribute</span
><span class="Others NodeNames"
> class </span
><span class="Normal NormalText"
>{ </span
><span class="Keyword Keywords"
>token</span
><span class="Normal NormalText"
> }?,</span
><br
/><span class="Normal NormalText"
> cs-element+</span
><br
/><span class="Normal NormalText"
> }</span
><br
/><span class="Normal NormalText"
>}</span
><br
/><span class="Keyword Keywords"
>div</span
><span class="Normal NormalText"
> {</span
><br
/><span class="Normal NormalText"
> </span
><span class="Function Definitions"
>layout </span
><span class="Normal NormalText"
>= </span
><span class="Keyword Keywords"
>element</span
><span class="Others NodeNames"
> cs:layout </span
><span class="Normal NormalText"
>{ formatting, delimiter, cs-element }</span
><br
/><span class="Normal NormalText"
> </span
><span class="Function Definitions"
>cs-element </span
><span class="Normal NormalText"
>= (names | date | label | cs-text | cs-number | choose | group)+</span
><br
/><span class="Normal NormalText"
>}</span
><br
/><br
/><span class="Comment Comments"
>## The cs:citation element</span
><br
/><span class="Keyword Keywords"
>div</span
><span class="Normal NormalText"
> {</span
><br
/><br
/><span class="Normal NormalText"
> </span
><span class="Comment Comments"
>## The cs:citation handles printing of citations. A citation may consist of </span
><br
/><span class="Normal NormalText"
> </span
><span class="Comment Comments"
>## one-or-more references to bibliographic sources. These references can either </span
><br
/><span class="Normal NormalText"
> </span
><span class="Comment Comments"
>## be simple in-text keys [doe99] or numeric markers [1], or more complex short </span
><br
/><span class="Normal NormalText"
> </span
><span class="Comment Comments"
>## descriptors generated at runtime common in author-date (Doe, 1999a) or note-based</span
><br
/><span class="Normal NormalText"
> </span
><span class="Comment Comments"
>## styles. </span
><br
/><span class="Normal NormalText"
> </span
><span class="Comment Comments"
>## note: one issue unique to note-based styles is that a citation reference </span
><br
/><span class="Normal NormalText"
> </span
><span class="Comment Comments"
>## effectively may become a full sentence. Implementers should consider this in </span
><br
/><span class="Normal NormalText"
> </span
><span class="Comment Comments"
>## their design and insert the final formatted citation in the correct title form.</span
><br
/><span class="Normal NormalText"
> </span
><span class="Comment Comments"
>## For example, if a citation is footnoted without any additional text, the first </span
><br
/><span class="Normal NormalText"
> </span
><span class="Comment Comments"
>## character of the output should be uppercased. By contrast, if the citation is </span
><br
/><span class="Normal NormalText"
> </span
><span class="Comment Comments"
>## within a pre-existing footnote, and preceded by non-citation text, then it should </span
><br
/><span class="Normal NormalText"
> </span
><span class="Comment Comments"
>## be printed as is.</span
><br
/><span class="Normal NormalText"
> </span
><span class="Function Definitions"
>citation </span
><span class="Normal NormalText"
>= </span
><span class="Keyword Keywords"
>element</span
><span class="Others NodeNames"
> cs:citation </span
><span class="Normal NormalText"
>{ (citation-options* &amp; sort?), layout }</span
><br
/><span class="Normal NormalText"
>}</span
><br
/><br
/><span class="Comment Comments"
>## The cs:bibliography element</span
><br
/><span class="Keyword Keywords"
>div</span
><span class="Normal NormalText"
> {</span
><br
/><span class="Normal NormalText"
> </span
><span class="Function Definitions"
>bibliography </span
><span class="Normal NormalText"
>= </span
><span class="Keyword Keywords"
>element</span
><span class="Others NodeNames"
> cs:bibliography </span
><span class="Normal NormalText"
>{ (bibliography-options* &amp; sort?), layout }</span
><br
/><span class="Normal NormalText"
>}</span
><br
/><br
/><span class="Comment Comments"
>## The cs:option element</span
><br
/><span class="Keyword Keywords"
>div</span
><span class="Normal NormalText"
> {</span
><br
/><span class="Normal NormalText"
> </span
><span class="Function Definitions"
>citation-options </span
><span class="Normal NormalText"
>= et-al | et-al-subsequent | disambiguate | collapse</span
><br
/><span class="Normal NormalText"
> </span
><span class="Function Definitions"
>bibliography-options </span
><span class="Normal NormalText"
>=</span
><br
/><span class="Normal NormalText"
> et-al | hanging-indent | second-field-align | subsequent-author-substitute | line-formatting | group-by</span
><br
/><br
/><span class="Normal NormalText"
> </span
><span class="Comment Comments"
>## Pattern for options that are either true or false</span
><br
/><span class="Normal NormalText"
> </span
><span class="Function Definitions"
>option-tf </span
><span class="Normal NormalText"
>= </span
><span class="Keyword Keywords"
>attribute</span
><span class="Others NodeNames"
> value </span
><span class="Normal NormalText"
>{ </span
><span class="DataType Datatypes"
>xsd:boolean</span
><span class="Normal NormalText"
> }</span
><br
/><br
/><span class="Normal NormalText"
> </span
><span class="Comment Comments"
>## Sorting and grouping by author assumes by default that the string includes the entire list </span
><br
/><span class="Normal NormalText"
> </span
><span class="Comment Comments"
>## of authors. This option allows you to instead use first author only.</span
><br
/><span class="Normal NormalText"
> </span
><span class="Function Definitions"
>group-by </span
><span class="Normal NormalText"
>= </span
><br
/><span class="Normal NormalText"
> </span
><span class="Keyword Keywords"
>element</span
><span class="Others NodeNames"
> cs:option </span
><span class="Normal NormalText"
>{</span
><br
/><span class="Normal NormalText"
> </span
><span class="Keyword Keywords"
>attribute</span
><span class="Others NodeNames"
> name </span
><span class="Normal NormalText"
>{ </span
><span class="String"
>&quot;group-by&quot;</span
><span class="Normal NormalText"
> },</span
><br
/><span class="Normal NormalText"
> </span
><span class="Keyword Keywords"
>attribute</span
><span class="Others NodeNames"
> value </span
><span class="Normal NormalText"
>{ </span
><span class="String"
>&quot;first-author&quot;</span
><span class="Normal NormalText"
> }</span
><br
/><span class="Normal NormalText"
> }</span
><br
/><br
/><span class="Normal NormalText"
> </span
><span class="Comment Comments"
>## sets the bibliographic entries to be rendered with hanging-indents</span
><br
/><span class="Normal NormalText"
> </span
><span class="Function Definitions"
>hanging-indent </span
><span class="Normal NormalText"
>=</span
><br
/><span class="Normal NormalText"
> </span
><span class="Keyword Keywords"
>element</span
><span class="Others NodeNames"
> cs:option </span
><span class="Normal NormalText"
>{</span
><br
/><span class="Normal NormalText"
> </span
><span class="Keyword Keywords"
>attribute</span
><span class="Others NodeNames"
> name </span
><span class="Normal NormalText"
>{ </span
><span class="String"
>&quot;hanging-indent&quot;</span
><span class="Normal NormalText"
> },</span
><br
/><span class="Normal NormalText"
> option-tf</span
><br
/><span class="Normal NormalText"
> }</span
><br
/><br
/><span class="Normal NormalText"
> </span
><span class="Comment Comments"
>## &quot;citation-number&quot; collapses numeric citations from [1, 2, 3] to [1-3]</span
><br
/><span class="Normal NormalText"
> </span
><span class="Comment Comments"
>## &quot;year&quot; collapses authors from (Doe 2000, Doe 2001) to (Doe 2000,</span
><br
/><span class="Normal NormalText"
> </span
><span class="Comment Comments"
>## 2001)</span
><br
/><span class="Normal NormalText"
> </span
><span class="Comment Comments"
>## &quot;year-suffix&quot; collapses as &quot;year&quot;, but also collapses (Doe 2000a,</span
><br
/><span class="Normal NormalText"
> </span
><span class="Comment Comments"
>## Doe 2000b) to (Doe 2000a, b) (ignored if</span
><br
/><span class="Normal NormalText"
> </span
><span class="Comment Comments"
>## disambiguate-add-year-suffix is missing)</span
><br
/><span class="Normal NormalText"
> </span
><span class="Function Definitions"
>collapse </span
><span class="Normal NormalText"
>=</span
><br
/><span class="Normal NormalText"
> </span
><span class="Keyword Keywords"
>element</span
><span class="Others NodeNames"
> cs:option </span
><span class="Normal NormalText"
>{</span
><br
/><span class="Normal NormalText"
> </span
><span class="Keyword Keywords"
>attribute</span
><span class="Others NodeNames"
> name </span
><span class="Normal NormalText"
>{ </span
><span class="String"
>&quot;collapse&quot;</span
><span class="Normal NormalText"
> },</span
><br
/><span class="Normal NormalText"
> </span
><span class="Keyword Keywords"
>attribute</span
><span class="Others NodeNames"
> value </span
><span class="Normal NormalText"
>{ </span
><span class="String"
>&quot;citation-number&quot;</span
><span class="Normal NormalText"
> | </span
><span class="String"
>&quot;year&quot;</span
><span class="Normal NormalText"
> | </span
><span class="String"
>&quot;year-suffix&quot;</span
><span class="Normal NormalText"
> }</span
><br
/><span class="Normal NormalText"
> }</span
><br
/><br
/><span class="Normal NormalText"
> </span
><span class="Comment Comments"
>## second-field-align is useful for formatting a numbered list. It aligns</span
><br
/><span class="Normal NormalText"
> </span
><span class="Comment Comments"
>## any subsequent lines of a bibliography entry with the beginning of the</span
><br
/><span class="Normal NormalText"
> </span
><span class="Comment Comments"
>## second field. For example, if the first field is</span
><br
/><span class="Normal NormalText"
> </span
><span class="Comment Comments"
>## &lt;text variable=&quot;citation-number&quot; suffix=&quot;. &quot;/&gt;</span
><br
/><span class="Normal NormalText"
> </span
><span class="Comment Comments"
>## </span
><br
/><span class="Normal NormalText"
> </span
><span class="Comment Comments"
>## 1. Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do</span
><br
/><span class="Normal NormalText"
> </span
><span class="Comment Comments"
>## eiusmod</span
><br
/><span class="Normal NormalText"
> </span
><span class="Comment Comments"
>## </span
><br
/><span class="Normal NormalText"
> </span
><span class="Comment Comments"
>## If set to &quot;margin,&quot; then the first field is put in the margin and all</span
><br
/><span class="Normal NormalText"
> </span
><span class="Comment Comments"
>## subsequent lines of text are aligned with the margin. This is useful for</span
><br
/><span class="Normal NormalText"
> </span
><span class="Comment Comments"
>## IEEE style.</span
><br
/><span class="Normal NormalText"
> </span
><span class="Function Definitions"
>second-field-align </span
><span class="Normal NormalText"
>=</span
><br
/><span class="Normal NormalText"
> </span
><span class="Keyword Keywords"
>element</span
><span class="Others NodeNames"
> cs:option </span
><span class="Normal NormalText"
>{</span
><br
/><span class="Normal NormalText"
> </span
><span class="Keyword Keywords"
>attribute</span
><span class="Others NodeNames"
> name </span
><span class="Normal NormalText"
>{ </span
><span class="String"
>&quot;second-field-align&quot;</span
><span class="Normal NormalText"
> },</span
><br
/><span class="Normal NormalText"
> </span
><span class="Keyword Keywords"
>attribute</span
><span class="Others NodeNames"
> value </span
><span class="Normal NormalText"
>{ </span
><span class="String"
>&quot;true&quot;</span
><span class="Normal NormalText"
> | </span
><span class="String"
>&quot;margin&quot;</span
><span class="Normal NormalText"
> }</span
><br
/><span class="Normal NormalText"
> }</span
><br
/><br
/><span class="Normal NormalText"
> </span
><span class="Comment Comments"
>## substitutes subsequent recurrences of an author for a given string</span
><br
/><span class="Normal NormalText"
> </span
><span class="Function Definitions"
>subsequent-author-substitute </span
><span class="Normal NormalText"
>=</span
><br
/><span class="Normal NormalText"
> </span
><span class="Keyword Keywords"
>element</span
><span class="Others NodeNames"
> cs:option </span
><span class="Normal NormalText"
>{</span
><br
/><span class="Normal NormalText"
> </span
><span class="Keyword Keywords"
>attribute</span
><span class="Others NodeNames"
> name </span
><span class="Normal NormalText"
>{ </span
><span class="String"
>&quot;subsequent-author-substitute&quot;</span
><span class="Normal NormalText"
> },</span
><br
/><span class="Normal NormalText"
> </span
><span class="Keyword Keywords"
>attribute</span
><span class="Others NodeNames"
> value </span
><span class="Normal NormalText"
>{ </span
><span class="DataType Datatypes"
>text</span
><span class="Normal NormalText"
> }</span
><br
/><span class="Normal NormalText"
> }</span
><br
/><br
/><span class="Normal NormalText"
> </span
><span class="Comment Comments"
>## defines parameters relating to &quot;et al&quot; formatting:</span
><br
/><span class="Normal NormalText"
> </span
><span class="Comment Comments"
>## et-al-min: the minimum number of contributors to use &quot;et al&quot;</span
><br
/><span class="Normal NormalText"
> </span
><span class="Comment Comments"
>## et-al-use-first: the number of contributors to explicitly print under</span
><br
/><span class="Normal NormalText"
> </span
><span class="Comment Comments"
>## &quot;et al&quot; conditions</span
><br
/><span class="Normal NormalText"
> </span
><span class="Comment Comments"
>## et-al-subsequent-*: same as above, but for subsequent references</span
><br
/><span class="Normal NormalText"
> </span
><span class="Comment Comments"
>## (citation only)</span
><br
/><span class="Normal NormalText"
> </span
><span class="Function Definitions"
>et-al </span
><span class="Normal NormalText"
>=</span
><br
/><span class="Normal NormalText"
> </span
><span class="Keyword Keywords"
>element</span
><span class="Others NodeNames"
> cs:option </span
><span class="Normal NormalText"
>{</span
><br
/><span class="Normal NormalText"
> </span
><span class="Keyword Keywords"
>attribute</span
><span class="Others NodeNames"
> name </span
><span class="Normal NormalText"
>{ </span
><span class="String"
>&quot;et-al-min&quot;</span
><span class="Normal NormalText"
> | </span
><span class="String"
>&quot;et-al-use-first&quot;</span
><span class="Normal NormalText"
> },</span
><br
/><span class="Normal NormalText"
> </span
><span class="Keyword Keywords"
>attribute</span
><span class="Others NodeNames"
> value </span
><span class="Normal NormalText"
>{ </span
><span class="DataType Datatypes"
>xsd:integer</span
><span class="Normal NormalText"
> }</span
><br
/><span class="Normal NormalText"
> }</span
><br
/><span class="Normal NormalText"
> </span
><span class="Function Definitions"
>et-al-subsequent </span
><span class="Normal NormalText"
>=</span
><br
/><span class="Normal NormalText"
> </span
><span class="Keyword Keywords"
>element</span
><span class="Others NodeNames"
> cs:option </span
><span class="Normal NormalText"
>{</span
><br
/><span class="Normal NormalText"
> </span
><span class="Keyword Keywords"
>attribute</span
><span class="Others NodeNames"
> name </span
><span class="Normal NormalText"
>{ </span
><span class="String"
>&quot;et-al-subsequent-min&quot;</span
><span class="Normal NormalText"
> | </span
><span class="String"
>&quot;et-al-subsequent-use-first&quot;</span
><span class="Normal NormalText"
> },</span
><br
/><span class="Normal NormalText"
> </span
><span class="Keyword Keywords"
>attribute</span
><span class="Others NodeNames"
> value </span
><span class="Normal NormalText"
>{ </span
><span class="DataType Datatypes"
>xsd:integer</span
><span class="Normal NormalText"
> }</span
><br
/><span class="Normal NormalText"
> }</span
><br
/><br
/><span class="Normal NormalText"
> </span
><span class="Comment Comments"
>## defines parameters relating to disambiguation, followed in the order given</span
><br
/><span class="Normal NormalText"
> </span
><span class="Comment Comments"
>## below until a citation is disambiguated</span
><br
/><span class="Normal NormalText"
> </span
><span class="Comment Comments"
>## disambiguate-add-names: add additional names, disregarding</span
><br
/><span class="Normal NormalText"
> </span
><span class="Comment Comments"
>## the &quot;et-al&quot; setting, to disambiguate the citations</span
><br
/><span class="Normal NormalText"
> </span
><span class="Comment Comments"
>## disambiguate-add-givenname: add a given name to a citation</span
><br
/><span class="Normal NormalText"
> </span
><span class="Comment Comments"
>## to disambiguate it (e.g., John Doe, 2005 vs. Doe, 2005)</span
><br
/><span class="Normal NormalText"
> </span
><span class="Comment Comments"
>## disambiguate-add-year-suffix: add a suffix to the year (e.g.,</span
><br
/><span class="Normal NormalText"
> </span
><span class="Comment Comments"
>## 2007a) when there are two works by the same author published in</span
><br
/><span class="Normal NormalText"
> </span
><span class="Comment Comments"
>## the same year included in one bibliography</span
><br
/><span class="Normal NormalText"
> </span
><span class="Function Definitions"
>disambiguate </span
><span class="Normal NormalText"
>=</span
><br
/><span class="Normal NormalText"
> </span
><span class="Keyword Keywords"
>element</span
><span class="Others NodeNames"
> cs:option </span
><span class="Normal NormalText"
>{</span
><br
/><span class="Normal NormalText"
> </span
><span class="Keyword Keywords"
>attribute</span
><span class="Others NodeNames"
> name </span
><span class="Normal NormalText"
>{</span
><br
/><span class="Normal NormalText"
> </span
><span class="String"
>&quot;disambiguate-add-givenname&quot;</span
><span class="Normal NormalText"
> | </span
><span class="String"
>&quot;disambiguate-add-names&quot;</span
><span class="Normal NormalText"
> | </span
><span class="String"
>&quot;disambiguate-add-year-suffix&quot;</span
><span class="Normal NormalText"
> </span
><br
/><span class="Normal NormalText"
> },</span
><br
/><span class="Normal NormalText"
> option-tf</span
><br
/><span class="Normal NormalText"
> }</span
><br
/><span class="Normal NormalText"
> </span
><span class="Comment Comments"
># defines spacing between entries and between lines</span
><br
/><span class="Normal NormalText"
> </span
><span class="Comment Comments"
># line-spacing: in units of lines; default 1</span
><br
/><span class="Normal NormalText"
> </span
><span class="Comment Comments"
># entry-spacing: in units of line-spacing; default 1</span
><br
/><span class="Normal NormalText"
> </span
><span class="Function Definitions"
>line-formatting </span
><span class="Normal NormalText"
>=</span
><br
/><span class="Normal NormalText"
> </span
><span class="Keyword Keywords"
>element</span
><span class="Others NodeNames"
> cs:option </span
><span class="Normal NormalText"
>{</span
><br
/><span class="Normal NormalText"
> </span
><span class="Keyword Keywords"
>attribute</span
><span class="Others NodeNames"
> name </span
><span class="Normal NormalText"
>{ </span
><span class="String"
>&quot;line-spacing&quot;</span
><span class="Normal NormalText"
> | </span
><span class="String"
>&quot;entry-spacing&quot;</span
><span class="Normal NormalText"
> },</span
><br
/><span class="Normal NormalText"
> </span
><span class="Keyword Keywords"
>attribute</span
><span class="Others NodeNames"
> value </span
><span class="Normal NormalText"
>{ </span
><span class="DataType Datatypes"
>xsd:integer</span
><span class="Normal NormalText"
> }</span
><br
/><span class="Normal NormalText"
> }</span
><br
/><span class="Normal NormalText"
>}</span
><br
/><br
/><span class="Comment Comments"
>## The cs:sort element</span
><br
/><span class="Keyword Keywords"
>div</span
><span class="Normal NormalText"
> {</span
><br
/><span class="Normal NormalText"
> </span
><span class="Function Definitions"
>all-variables </span
><span class="Normal NormalText"
>= variables | cs-date-tokens | cs-names</span
><br
/><br
/><span class="Normal NormalText"
> </span
><span class="Comment Comments"
>## The sort element specifies the sort order for a citation or for the</span
><br
/><span class="Normal NormalText"
> </span
><span class="Comment Comments"
>## bibliography. If it is not added, citations are sorted according to user</span
><br
/><span class="Normal NormalText"
> </span
><span class="Comment Comments"
>## preferences, and bibliography is sorted according to order cited.</span
><br
/><span class="Normal NormalText"
> </span
><span class="Function Definitions"
>sort </span
><span class="Normal NormalText"
>= </span
><span class="Keyword Keywords"
>element</span
><span class="Others NodeNames"
> cs:sort </span
><span class="Normal NormalText"
>{ key+ }</span
><br
/><span class="Normal NormalText"
> </span
><span class="Function Definitions"
>key </span
><span class="Normal NormalText"
>=</span
><br
/><span class="Normal NormalText"
> </span
><span class="Keyword Keywords"
>element</span
><span class="Others NodeNames"
> cs:key </span
><span class="Normal NormalText"
>{</span
><br
/><span class="Normal NormalText"
> (</span
><span class="Keyword Keywords"
>attribute</span
><span class="Others NodeNames"
> variable </span
><span class="Normal NormalText"
>{ all-variables }</span
><br
/><span class="Normal NormalText"
> | </span
><span class="Keyword Keywords"
>attribute</span
><span class="Others NodeNames"
> macro </span
><span class="Normal NormalText"
>{ </span
><span class="Keyword Keywords"
>token</span
><span class="Normal NormalText"
> }),</span
><br
/><br
/><span class="Normal NormalText"
> </span
><span class="Comment Comments"
>## Default sort order is ascending</span
><br
/><span class="Normal NormalText"
> </span
><span class="Keyword Keywords"
>attribute</span
><span class="Others NodeNames"
> sort </span
><span class="Normal NormalText"
>{ </span
><span class="String"
>&quot;ascending&quot;</span
><span class="Normal NormalText"
> | </span
><span class="String"
>&quot;descending&quot;</span
><span class="Normal NormalText"
> }?</span
><br
/><span class="Normal NormalText"
> }</span
><br
/><span class="Normal NormalText"
>}</span
><br
/><br
/><span class="Comment Comments"
>## The cs:choose element</span
><br
/><span class="Keyword Keywords"
>div</span
><span class="Normal NormalText"
> {</span
><br
/><br
/><span class="Normal NormalText"
> </span
><span class="Comment Comments"
>## The choose elements provides a simple conditional structure.</span
><br
/><span class="Normal NormalText"
> </span
><span class="Function Definitions"
>choose </span
><span class="Normal NormalText"
>= </span
><span class="Keyword Keywords"
>element</span
><span class="Others NodeNames"
> cs:choose </span
><span class="Normal NormalText"
>{ if, else-if*, else? }</span
><br
/><span class="Normal NormalText"
> </span
><span class="Function Definitions"
>if </span
><span class="Normal NormalText"
>= </span
><span class="Keyword Keywords"
>element</span
><span class="Others NodeNames"
> cs:if </span
><span class="Normal NormalText"
>{ condition, cs-element* }</span
><br
/><span class="Normal NormalText"
> </span
><span class="Function Definitions"
>else-if </span
><span class="Normal NormalText"
>= </span
><span class="Keyword Keywords"
>element</span
><span class="Others NodeNames"
> cs:else-if </span
><span class="Normal NormalText"
>{ condition, cs-element* }</span
><br
/><span class="Normal NormalText"
> </span
><span class="Function Definitions"
>else </span
><span class="Normal NormalText"
>= </span
><span class="Keyword Keywords"
>element</span
><span class="Others NodeNames"
> cs:else </span
><span class="Normal NormalText"
>{ cs-element+ }</span
><br
/><span class="Normal NormalText"
> </span
><span class="Function Definitions"
>condition </span
><span class="Normal NormalText"
>=</span
><br
/><br
/><span class="Normal NormalText"
> </span
><span class="Comment Comments"
>## If the entry is of a given type, this is true</span
><br
/><span class="Normal NormalText"
> </span
><span class="Keyword Keywords"
>attribute</span
><span class="Others NodeNames"
> type </span
><span class="Normal NormalText"
>{</span
><br
/><span class="Normal NormalText"
> </span
><span class="Keyword Keywords"
>list</span
><span class="Normal NormalText"
> { cs-types+ }</span
><br
/><span class="Normal NormalText"
> }?,</span
><br
/><br
/><span class="Normal NormalText"
> </span
><span class="Comment Comments"
>## If a given variable exists, this is true</span
><br
/><span class="Normal NormalText"
> </span
><span class="Keyword Keywords"
>attribute</span
><span class="Others NodeNames"
> variable </span
><span class="Normal NormalText"
>{</span
><br
/><span class="Normal NormalText"
> </span
><span class="Keyword Keywords"
>list</span
><span class="Normal NormalText"
> { all-variables+ }</span
><br
/><span class="Normal NormalText"
> }?,</span
><br
/><br
/><span class="Normal NormalText"
> </span
><span class="Comment Comments"
>## If a given variable contains numeric data, this is true</span
><br
/><span class="Normal NormalText"
> </span
><span class="Keyword Keywords"
>attribute</span
><span class="Others NodeNames"
> is-numeric </span
><span class="Normal NormalText"
>{</span
><br
/><span class="Normal NormalText"
> </span
><span class="Keyword Keywords"
>list</span
><span class="Normal NormalText"
> { all-variables+ }</span
><br
/><span class="Normal NormalText"
> }?,</span
><br
/><br
/><span class="Normal NormalText"
> </span
><span class="Comment Comments"
>## If a given variable contains a date, this s true</span
><br
/><span class="Normal NormalText"
> </span
><span class="Keyword Keywords"
>attribute</span
><span class="Others NodeNames"
> is-date </span
><span class="Normal NormalText"
>{</span
><br
/><span class="Normal NormalText"
> </span
><span class="Keyword Keywords"
>list</span
><span class="Normal NormalText"
> { all-variables+ }</span
><br
/><span class="Normal NormalText"
> }?,</span
><br
/><br
/><span class="Normal NormalText"
> </span
><span class="Comment Comments"
>## The position of a citation. Whenever position=&quot;ibid-with-locator&quot;</span
><br
/><span class="Normal NormalText"
> </span
><span class="Comment Comments"
>## is true, position=&quot;ibid&quot; is also true, and whenever position=&quot;ibid&quot;</span
><br
/><span class="Normal NormalText"
> </span
><span class="Comment Comments"
>## is true, position=&quot;subsequent&quot; is also true</span
><br
/><span class="Normal NormalText"
> </span
><span class="Keyword Keywords"
>attribute</span
><span class="Others NodeNames"
> position </span
><span class="Normal NormalText"
>{</span
><br
/><span class="Normal NormalText"
> </span
><span class="Keyword Keywords"
>list</span
><span class="Normal NormalText"
> { (</span
><span class="String"
>&quot;first&quot;</span
><span class="Normal NormalText"
> | </span
><span class="String"
>&quot;subsequent&quot;</span
><span class="Normal NormalText"
> | </span
><span class="String"
>&quot;ibid&quot;</span
><span class="Normal NormalText"
> | </span
><span class="String"
>&quot;ibid-with-locator&quot;</span
><span class="Normal NormalText"
>)+ }</span
><br
/><span class="Normal NormalText"
> }?,</span
><br
/><br
/><span class="Normal NormalText"
> </span
><span class="Comment Comments"
>## If text inside an &lt;if disambiguate=&quot;true&quot;&gt; block can be used to</span
><br
/><span class="Normal NormalText"
> </span
><span class="Comment Comments"
>## differentiate two otherwise identical citations, it will be added.</span
><br
/><span class="Normal NormalText"
> </span
><span class="Comment Comments"
>## If the citations remain identical after its addition, it will not</span
><br
/><span class="Normal NormalText"
> </span
><span class="Comment Comments"
>## be added.</span
><br
/><span class="Normal NormalText"
> </span
><span class="Keyword Keywords"
>attribute</span
><span class="Others NodeNames"
> disambiguate </span
><span class="Normal NormalText"
>{ </span
><span class="DataType Datatypes"
>xsd:boolean</span
><span class="Normal NormalText"
> }?,</span
><br
/><br
/><span class="Normal NormalText"
> </span
><span class="Comment Comments"
>## A conditional on the locator for this specific entry</span
><br
/><span class="Normal NormalText"
> </span
><span class="Keyword Keywords"
>attribute</span
><span class="Others NodeNames"
> locator </span
><span class="Normal NormalText"
>{ </span
><br
/><span class="Normal NormalText"
> </span
><span class="Keyword Keywords"
>list</span
><span class="Normal NormalText"
> { cs-terms.locator+ } </span
><br
/><span class="Normal NormalText"
> }?,</span
><br
/><span class="Normal NormalText"
> </span
><span class="Keyword Keywords"
>attribute</span
><span class="Others NodeNames"
> match </span
><span class="Normal NormalText"
>{ </span
><span class="String"
>&quot;all&quot;</span
><span class="Normal NormalText"
> | </span
><span class="String"
>&quot;any&quot;</span
><span class="Normal NormalText"
> | </span
><span class="String"
>&quot;none&quot;</span
><span class="Normal NormalText"
> }?</span
><br
/><span class="Normal NormalText"
>}</span
><br
/><br
/><span class="Comment Comments"
>## variables and types; needs some more thought</span
><br
/><span class="Keyword Keywords"
>div</span
><span class="Normal NormalText"
> {</span
><br
/><span class="Normal NormalText"
> </span
><span class="Function Definitions"
>cs-types </span
><span class="Normal NormalText"
>=</span
><br
/><span class="Normal NormalText"
> </span
><span class="String"
>&quot;article&quot;</span
><br
/><span class="Normal NormalText"
> | </span
><span class="String"
>&quot;article-magazine&quot;</span
><br
/><span class="Normal NormalText"
> | </span
><span class="String"
>&quot;article-newspaper&quot;</span
><br
/><span class="Normal NormalText"
> | </span
><span class="String"
>&quot;article-journal&quot;</span
><br
/><span class="Normal NormalText"
> | </span
><span class="String"
>&quot;bill&quot;</span
><br
/><span class="Normal NormalText"
> | </span
><span class="String"
>&quot;book&quot;</span
><br
/><span class="Normal NormalText"
> | </span
><span class="String"
>&quot;broadcast&quot;</span
><br
/><span class="Normal NormalText"
> | </span
><span class="String"
>&quot;chapter&quot;</span
><br
/><span class="Normal NormalText"
> | </span
><span class="String"
>&quot;entry&quot;</span
><br
/><span class="Normal NormalText"
> | </span
><span class="String"
>&quot;entry-dictionary&quot;</span
><br
/><span class="Normal NormalText"
> | </span
><span class="String"
>&quot;entry-encyclopedia&quot;</span
><br
/><span class="Normal NormalText"
> | </span
><span class="String"
>&quot;figure&quot;</span
><br
/><span class="Normal NormalText"
> | </span
><span class="String"
>&quot;graphic&quot;</span
><br
/><span class="Normal NormalText"
> | </span
><span class="String"
>&quot;interview&quot;</span
><br
/><span class="Normal NormalText"
> | </span
><span class="String"
>&quot;legislation&quot;</span
><br
/><span class="Normal NormalText"
> | </span
><span class="String"
>&quot;legal_case&quot;</span
><br
/><span class="Normal NormalText"
> | </span
><span class="String"
>&quot;manuscript&quot;</span
><br
/><span class="Normal NormalText"
> | </span
><span class="String"
>&quot;map&quot;</span
><br
/><span class="Normal NormalText"
> | </span
><span class="String"
>&quot;motion_picture&quot;</span
><br
/><span class="Normal NormalText"
> | </span
><span class="String"
>&quot;musical_score&quot;</span
><br
/><span class="Normal NormalText"
> | </span
><span class="String"
>&quot;pamphlet&quot;</span
><br
/><span class="Normal NormalText"
> | </span
><span class="String"
>&quot;paper-conference&quot;</span
><br
/><span class="Normal NormalText"
> | </span
><span class="String"
>&quot;patent&quot;</span
><br
/><span class="Normal NormalText"
> | </span
><span class="String"
>&quot;post&quot;</span
><br
/><span class="Normal NormalText"
> | </span
><span class="String"
>&quot;post-weblog&quot;</span
><br
/><span class="Normal NormalText"
> | </span
><span class="String"
>&quot;personal_communication&quot;</span
><br
/><span class="Normal NormalText"
> | </span
><span class="String"
>&quot;report&quot;</span
><br
/><span class="Normal NormalText"
> | </span
><span class="String"
>&quot;review&quot;</span
><br
/><span class="Normal NormalText"
> | </span
><span class="String"
>&quot;review-book&quot;</span
><br
/><span class="Normal NormalText"
> | </span
><span class="String"
>&quot;song&quot;</span
><br
/><span class="Normal NormalText"
> | </span
><span class="String"
>&quot;speech&quot;</span
><br
/><span class="Normal NormalText"
> | </span
><span class="String"
>&quot;thesis&quot;</span
><br
/><span class="Normal NormalText"
> | </span
><span class="String"
>&quot;treaty&quot;</span
><br
/><span class="Normal NormalText"
> | </span
><span class="String"
>&quot;webpage&quot;</span
><br
/><span class="Normal NormalText"
>}</span
><br
/><br
/><span class="Comment Comments"
>## Formatting attributes.</span
><br
/><span class="Keyword Keywords"
>div</span
><span class="Normal NormalText"
> {</span
><br
/><span class="Normal NormalText"
> </span
><span class="Function Definitions"
>delimiter </span
><span class="Normal NormalText"
>= </span
><span class="Keyword Keywords"
>attribute</span
><span class="Others NodeNames"
> delimiter </span
><span class="Normal NormalText"
>{ </span
><span class="DataType Datatypes"
>text</span
><span class="Normal NormalText"
> }?</span
><br
/><br
/><span class="Normal NormalText"
> </span
><span class="Comment Comments"
>## attributes are drawn directly from CSS and FO where possible</span
><br
/><span class="Normal NormalText"
> </span
><span class="Function Definitions"
>formatting </span
><span class="Normal NormalText"
>=</span
><br
/><span class="Normal NormalText"
> </span
><span class="Keyword Keywords"
>attribute</span
><span class="Others NodeNames"
> prefix </span
><span class="Normal NormalText"
>{ </span
><span class="DataType Datatypes"
>text</span
><span class="Normal NormalText"
> }?,</span
><br
/><span class="Normal NormalText"
> </span
><span class="Keyword Keywords"
>attribute</span
><span class="Others NodeNames"
> suffix </span
><span class="Normal NormalText"
>{ </span
><span class="DataType Datatypes"
>text</span
><span class="Normal NormalText"
> }?,</span
><br
/><span class="Normal NormalText"
> </span
><span class="Keyword Keywords"
>attribute</span
><span class="Others NodeNames"
> font-family </span
><span class="Normal NormalText"
>{ </span
><span class="DataType Datatypes"
>text</span
><span class="Normal NormalText"
> }?,</span
><br
/><span class="Normal NormalText"
> </span
><span class="Keyword Keywords"
>attribute</span
><span class="Others NodeNames"
> font-style </span
><span class="Normal NormalText"
>{ </span
><span class="String"
>&quot;italic&quot;</span
><span class="Normal NormalText"
> | </span
><span class="String"
>&quot;normal&quot;</span
><span class="Normal NormalText"
> | </span
><span class="String"
>&quot;oblique&quot;</span
><span class="Normal NormalText"
> }?,</span
><br
/><span class="Normal NormalText"
> </span
><span class="Keyword Keywords"
>attribute</span
><span class="Others NodeNames"
> font-variant </span
><span class="Normal NormalText"
>{ </span
><span class="String"
>&quot;normal&quot;</span
><span class="Normal NormalText"
> | </span
><span class="String"
>&quot;small-caps&quot;</span
><span class="Normal NormalText"
> }?,</span
><br
/><span class="Normal NormalText"
> </span
><span class="Keyword Keywords"
>attribute</span
><span class="Others NodeNames"
> font-weight </span
><span class="Normal NormalText"
>{ </span
><span class="String"
>&quot;normal&quot;</span
><span class="Normal NormalText"
> | </span
><span class="String"
>&quot;bold&quot;</span
><span class="Normal NormalText"
> | </span
><span class="String"
>&quot;light&quot;</span
><span class="Normal NormalText"
> }?,</span
><br
/><span class="Normal NormalText"
> </span
><span class="Keyword Keywords"
>attribute</span
><span class="Others NodeNames"
> text-decoration </span
><span class="Normal NormalText"
>{ </span
><span class="String"
>&quot;none&quot;</span
><span class="Normal NormalText"
> | </span
><span class="String"
>&quot;underline&quot;</span
><span class="Normal NormalText"
> }?,</span
><br
/><span class="Normal NormalText"
> </span
><span class="Keyword Keywords"
>attribute</span
><span class="Others NodeNames"
> vertical-align </span
><span class="Normal NormalText"
>{ </span
><span class="String"
>&quot;baseline&quot;</span
><span class="Normal NormalText"
> | </span
><span class="String"
>&quot;sup&quot;</span
><span class="Normal NormalText"
> | </span
><span class="String"
>&quot;sub&quot;</span
><span class="Normal NormalText"
> }?,</span
><br
/><span class="Normal NormalText"
> </span
><span class="Keyword Keywords"
>attribute</span
><span class="Others NodeNames"
> text-case </span
><span class="Normal NormalText"
>{</span
><br
/><br
/><span class="Normal NormalText"
> </span
><span class="Comment Comments"
>## display all text as lowercase</span
><br
/><span class="Normal NormalText"
> </span
><span class="String"
>&quot;lowercase&quot;</span
><br
/><span class="Normal NormalText"
> | </span
><br
/><span class="Normal NormalText"
> </span
><span class="Comment Comments"
>## display all text as uppercase</span
><br
/><span class="Normal NormalText"
> </span
><span class="String"
>&quot;uppercase&quot;</span
><br
/><span class="Normal NormalText"
> | </span
><br
/><span class="Normal NormalText"
> </span
><span class="Comment Comments"
>## capitalize first character; other characters</span
><br
/><span class="Normal NormalText"
> </span
><span class="Comment Comments"
>## displayed as is</span
><br
/><span class="Normal NormalText"
> </span
><span class="String"
>&quot;capitalize-first&quot;</span
><br
/><span class="Normal NormalText"
> | </span
><br
/><span class="Normal NormalText"
> </span
><span class="Comment Comments"
>## capitalize first character of every word;</span
><br
/><span class="Normal NormalText"
> </span
><span class="Comment Comments"
>## other characters displayed lowercase</span
><br
/><span class="Normal NormalText"
> </span
><span class="String"
>&quot;capitalize-all&quot;</span
><br
/><span class="Normal NormalText"
> | </span
><br
/><span class="Normal NormalText"
> </span
><span class="Comment Comments"
>## display as title case (the Chicago Manual</span
><br
/><span class="Normal NormalText"
> </span
><span class="Comment Comments"
>## of Style calls this &quot;headline style&quot;)</span
><br
/><span class="Normal NormalText"
> </span
><span class="String"
>&quot;title&quot;</span
><br
/><span class="Normal NormalText"
> | </span
><br
/><span class="Normal NormalText"
> </span
><span class="Comment Comments"
>## display as sentence case/sentence style</span
><br
/><span class="Normal NormalText"
> </span
><span class="String"
>&quot;sentence&quot;</span
><br
/><span class="Normal NormalText"
> }?,</span
><br
/><br
/><span class="Normal NormalText"
> </span
><span class="Comment Comments"
>## For examples such as abstracts and notes in annotated bibliographies </span
><br
/><span class="Normal NormalText"
> </span
><span class="Comment Comments"
>## use the &quot;block&quot; display value. Otherwise, content is displayed inline.</span
><br
/><span class="Normal NormalText"
> </span
><span class="Keyword Keywords"
>attribute</span
><span class="Others NodeNames"
> display </span
><span class="Normal NormalText"
>{ </span
><span class="String"
>&quot;block&quot;</span
><span class="Normal NormalText"
> | </span
><span class="String"
>&quot;inline-block&quot;</span
><span class="Normal NormalText"
> }?,</span
><br
/><span class="Normal NormalText"
> </span
><span class="Keyword Keywords"
>attribute</span
><span class="Others NodeNames"
> quotes </span
><span class="Normal NormalText"
>{ </span
><span class="DataType Datatypes"
>xsd:boolean</span
><span class="Normal NormalText"
> }?</span
><br
/><span class="Normal NormalText"
>}</span
><br
/></code
></pre
></body
></html
>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment