Citation Style Language Bruce D'Arcus Simon Kornblith Frank Bennett Rintze Zelle Copyright 2007-2012 by Frank Bennett, Bruce D'Arcus, Simon Kornblith, and Rintze Zelle. Permission to freely use, copy and distribute. RELAX NG compact schema for the Citation Style Language (CSL). This macro call has no corresponding macro. This macro call has no corresponding macro. Subparts of the CSL schema
cs:style and cs:locale - Root Elements Select whether citations appear in-text or as notes. in-text note Specify the locale of the locale file. Set a default style locale. Indicate CSL version compatibility ("1.0" for CSL 1.0). 1.0 Obsolete for dependent styles. Will be disallowed with CSL 1.1. in-text note
cs:info - Style and Locale File Metadata Metadata for independent styles. Metadata for dependent styles. Metadata for locale files. Specify the citation format of the style (using the "citation-format" attribute) or the fields and disciplines for which the style is relevant (using the "field" attribute). Specify the URI to establish the identity of the style. The URI should be stable, unique and dereferenceable URI. Specify the journal's ISSN(s) for journal-specific styles. An ISSN must consist of four digits, a hyphen, three digits, and a check digit (a numeral digit or roman X), e.g. "1234-1231". Specify the journal's eISSN for journal-specific styles. Specify the journal's ISSN-L for journal-specific styles. \d{4}\-\d{3}(\d|x|X) Specify how the URL relates to the style. self The URI of the CSL style itself. template URI of the style from which the current style is derived. documentation URI of style documentation. independent-parent Obsolete for independent styles. Will be disallowed with CSL 1.1. Specify how the URL relates to the style. self The URI of the CSL style itself. independent-parent URI of the CSL style whose content should be used for processing. Required for dependent styles. documentation URI of style documentation. template Obsolete for dependent styles. Will be disallowed with CSL 1.1. Specify when the style was initially created or made available. Specify an abbreviated style title (e.g., "APA") Specify when the style was last updated (e.g., "2007-10-26T21:32:52+02:00")
cs:locale in Independent Styles Use to (re)define localized terms, dates and options. Specify the affected locale(s). If "xml:lang" is not set, the "cs:locale" element affects all locales.
cs:locale Contents - Localization Data Localized global options are specified as attributes in the cs:style-options element. If future versions of CSL include localized options that are citation or bibliography specific, the elements cs:citation-options and cs:bibliography-options can be added. Limit the "ordinal" form to the first day of the month. Specify whether punctuation (a period or comma) is placed within or outside (default) the closing quotation mark. Select the localized date format ("text" or "numeric"). text Text date form (e.g., "December 15, 2005"). numeric Numeric date form (e.g., "2005-12-15"). The "cs:term" element can either hold a basic string, or "cs:single" and "cs:multiple" child elements to give singular and plural forms of the term. long masculine feminine last-digit last-two-digits whole-number long masculine feminine long masculine feminine "verb-short" reverts to "verb" if the "verb-short" form is not available. "symbol" reverts to "short" if the "symbol" form is not available. "verb" and "short" revert to "long" if the specified form is not available. long verb short verb-short symbol Singular version of the term. Plural version of the term.
cs:macro Use to create collections of (reusable) formatting instructions.
cs:citation and cs:bibliography Use to describe the formatting of citations. Use to describe the formatting of the bibliography.
cs:names Rendering Element Specify the delimiter for name lists of name variables rendered by the same cs:names element. Select the "long" (first name + last name, for Western names), "short" (last name only, for Western names), or "count" name form (returning the number of names in the name variable, which can be useful for some sorting algorithms). long short count Set the delimiter for names in a name variable (e.g., ", " in "Doe, Smith") Use to separate the second-to-last and last name of a name list by the "and" term or ampersand. text Use the "and" term (e.g., "Doe, Johnson and Smith"). symbol Use the "ampersand" (e.g., "Doe, Johnson & Smith"). Specify when the name delimiter is used between a truncated name list and the "et-al" (or "and others") term in case of et-al abbreviation (e.g., "Smith, Doe et al." or "Smith, Doe, et al."). contextual The name delimiter is only used when the truncated name list consists of two or more names. always The name delimiter is always used. never The name delimiter is never used. after-inverted-name The name delimiter is only used if the preceding name is inverted as a result of the "name-as-sort-order" attribute. Specify when the name delimiter is used between the second-to-last and last name of a non-truncated name list. Only has an effect when the "and" term or ampersand is used (e.g., "Doe and Smith" or "Doe, and Smith"). contextual The name delimiter is only used when the name list consists of three or more names. always The name delimiter is always used. never The name delimiter is never used. after-inverted-name The name delimiter is only used if the preceding name is inverted as a result of the "name-as-sort-order" attribute. Set the minimum number of names needed in a name variable to activate et-al abbreviation. Set the number of names to render when et-al abbreviation is active. As "et-al-min", but only affecting subsequent citations to an item. As "et-al-use-first", but only affecting subsequent citations to an item. If set to "true", the "et-al" (or "and others") term is replaced by an ellipsis followed by the last name of the name variable. If set to "false", names are not initialized and "initialize-with" only affects initials already present in the input data. Activate initializing of given names. The attribute value is appended to each initial (e.g., with ". ", "Orson Welles" becomes "O. Welles"). Specify whether (and which) names should be rendered in their sort order (e.g., "Doe, John" instead of "John Doe"). first Render the first name of each name variable in sort order. all Render all names in sort order. Sets the delimiter for name-parts that have switched positions as a result of "name-as-sort-order" (e.g., ", " in "Doe, John"). Use to format individual name parts (e.g., "Jane DOE"). family given Specify the term used for et-al abbreviation and its formatting. Select the term to use for et-al abbreviation. et-al and others Ignored in CSL 1.0.1. Will be disallowed with CSL 1.1. Inherits variable from the parent cs:names element. Specify substitution options when the name variables selected on the parent cs:names element are empty. Short version of cs:names, without children, allowed in cs:substitute.
cs:date Rendering Element Limit the date parts rendered. year-month-day Year, month and day year-month Year and month year Year only Specify overriding formatting for localized dates (affixes cannot be overridden, as these are considered locale-specific). Example uses are forcing the use of leading-zeros, or of the "short" month form. Has no effect on which, and in what order, date parts are rendered. Specify, in the desired order, the date parts that should be rendered and their formatting. day Day forms: "numeric" ("5"), "numeric-leading-zeros" ("05"), "ordinal" ("5th"). numeric numeric-leading-zeros ordinal month Months forms: "long" (e.g., "January"), "short" ("Jan."), "numeric" ("1"), and "numeric-leading-zeros" ("01"). long short numeric numeric-leading-zeros year Year forms: "long" ("2005"), "short" ("05"). short long Specify a delimiter for date ranges (by default the en-dash). A custom delimiter is retrieved from the largest date part ("day", "month" or "year") that differs between the two dates.
cs:text Rendering Element Use to call macros, render variables, terms, or verbatim text. Select a macro. Select a term. Specify term plurality: singular ("false") or plural ("true"). Specify verbatim text. Select a variable. short long
cs:number Rendering Element Use to render a number variable. Number forms: "numeric" ("4"), "ordinal" ("4th"), "long-ordinal" ("fourth"), "roman" ("iv"). numeric ordinal long-ordinal roman
cs:label Rendering Element Use to render a term whose pluralization depends on the content of a variable. E.g., if "page" variable holds a range, the plural label "pp." is selected instead of the singular "p.". locator page long short symbol Specify when the plural version of a term is selected. always never contextual
cs:group Rendering Element Use to group rendering elements. Groups are useful for setting a delimiter for the group children, for organizing the layout of bibliographic entries (using the "display" attribute), and for suppressing the rendering of terms and verbatim text when variables are empty.
Options Specify whether the non-dropping particle is demoted in inverted names (e.g., "Koning, W. de"). never sort-only display-and-sort Specify whether compound given names (e.g., "Jean-Luc") are initialized with ("J-L") or without a hyphen ("JL"). Reformat page ranges in the "page" variable. chicago expanded minimal minimal-two Activate cite grouping and specify the delimiter for cites within a cite group. Activate cite grouping and specify the method of citation collapsing. citation-number Collapse ranges of numeric cites, e.g. from "[1,2,3]" to "[1-3]". year Collapse cites by suppressing repeated names, e.g. from "(Doe 2000, Doe 2001)" to "(Doe 2000, 2001)". year-suffix Collapse cites as with "year", but also suppresses repeated years, e.g. from "(Doe 2000a, Doe 2000b)" to "(Doe 2000a, b)". year-suffix-ranged Collapses cites as with "year-suffix", but also collapses ranges of year-suffixes, e.g. from "(Doe 2000a, Doe 2000b, Doe 2000c)" to "(Doe 2000a-c)". Specify the delimiter between year-suffixes. Defaults to the cite delimiter. Specify the delimiter following a group of collapsed cites. Defaults to the cite delimiter. Set to "true" to activate disambiguation by showing names that were originally hidden as a result of et-al abbreviation. Set to "true" to activate disambiguation by expanding names, showing initials or full given names. Set to "true" to activate disambiguation by adding year-suffixes (e.g., "(Doe 2007a, Doe 2007b)") for items from the same author(s) and year. Specify how name are expanded for disambiguation. all-names Each ambiguous names is progressively transformed until disambiguated (when disambiguation is not possible, the name remains in its original form). all-names-with-initials As "all-names", but name expansion is limited to showing initials. primary-name As "all-names", but disambiguation is limited to the first name of each cite. primary-name-with-initials As "all-names-with-initials", but disambiguation is limited to the first name of each cite. by-cite As "all-names", but only ambiguous names in ambiguous cites are expanded. Set the number of preceding notes (footnotes or endnotes) within which the current item needs to have been previously cited in order for the "near-note" position to be "true". Set to "true" to render bibliographic entries with hanging indents. Set the spacing between bibliographic entries. Set the spacing between bibliographic lines. 0 Use to align any subsequent lines of bibliographic entries with the beginning of the second field. flush Align the first field with the margin. margin Put the first field in the margin and align all subsequent lines of text with the margin. Substitute names that repeat in subsequent bibliographic entries by the attribute value. Specify the method of substitution of names repeated in subsequent bibliographic entries. complete-all Requires a match of all rendered names in the name variable, and substitutes once for all names. complete-each Requires a match of all rendered names in the name variable, and substitutes for each name. partial-each Substitutes for each name, until the first mismatch. partial-first Substitutes the first name if it matches. Options affecting cs:names, for cs:style, cs:citation and cs:bibliography. Inheritable name option, companion for "delimiter" on cs:names. Options affecting cs:name, for cs:style, cs:citation and cs:bibliography. Inheritable name option, companion for "delimiter" on cs:name. Inheritable name option, companion for "form" on cs:name. long short count
cs:sort - Sorting Specify how cites and bibliographic entries should be sorted. By default, items appear in the order in which they were cited. The minimum number of names needed in a name variable to activate name list truncation. Overrides the values set on any "et-al-(subsequent-)min" attributes. The number of names to render when name list truncation is activated. Overrides the values set on the "et-al-(subsequent-)use-first" attributes. Use to override the value of the "et-at-use-last" attribute. Select between an ascending and descending sort. ascending descending
cs:choose - Conditional Statements Use to conditionally render rendering elements. If used, the element content is only rendered if it disambiguates two otherwise identical citations. This attempt at disambiguation is only made after all other disambiguation methods have failed. true Tests whether the given variables contain numeric text. Tests whether the given date variables contain approximate dates. Tests whether the locator matches the given locator types. sub-verbo Tests whether the cite position matches the given positions. first subsequent ibid ibid-with-locator near-note Tests whether the item matches the given types. Tests whether the default ("long") forms of the given variables contain non-empty values. Set the testing logic. all Element only tests "true" when all conditions test "true" for all given test values. any Element tests "true" when any condition tests "true" for any given test value. none Element only tests "true" when none of the conditions test "true" for any given test value.
Formatting attributes. By default, bibliographic entries consist of continuous runs of text. With the "display" attribute, portions of each entry can be individually positioned. block Places the content in a block stretching from margin to margin. left-margin Places the content in a block starting at the left margin. right-inline Places the content in a block to the right of a preceding "left-margin" block. indent Places the content in a block indented to the right by a standard amount. The font-formatting attributes are based on those of CSS and XSL-FO. italic normal oblique normal small-caps normal bold light none underline baseline sup sub When set to "true", quotes are placed around the rendered text. When set to "true", periods are removed from the rendered text. lowercase Renders text in lowercase. uppercase Renders text in uppercase. capitalize-first Capitalizes the first character (other characters remain in their original case). capitalize-all Capitalizes the first character of every word (other characters remain in their original case). title Renders text in title case. sentence Renders text in sentence case.