functions.xsl
CiteProc functions.
Author:
Bruce D’Arcus
Copyright:
2004
Functions Summary
Determines the first time a reference is cited in the text
Determines when a citation fulfills the "ibid" condition
Collapses a page range according to the Chicago algorithm
Numbers citations and foot/endnotes together
Determines the CSL fallback for a MODS record
Maps a MODS reference type to a CSL XPATH expression
Constructs an authors string for grouping and sorting
This function is central to the formatting logic of the system
Further classifies records into types based on the class
Determines what to sort on
Determines which CSL definition to use for any given MODS record
Functions Detail
Determines the first time a reference is cited in the text
Necesary for those styles
that make a formatting distinction between first and subsequent references.
Parameters:
node() cite-ref -
Determines when a citation fulfills the "ibid" condition
Parameters:
node() citation -
Collapses a page range according to the Chicago algorithm
Probably needs to be
generalized.
Parameters:
begin -
end -
Numbers citations and foot/endnotes together
Parameters:
element() footcite -
Determines the CSL fallback for a MODS record
Parameters:
element(mods:mods) bibref -
Maps a MODS reference type to a CSL XPATH expression
Parameters:
element(mods:mods) bibref -
Constructs an authors string for grouping and sorting
This function concatenates all
authors into a string so that multiple-authors get correctly grouped. Where no author exists it
substitutes based on CSL definitions.
Parameters:
element(mods:mods) bibref -
This function is central to the formatting logic of the system
The fallback system
classifies records into one of three structural classes: part-inMongraph, part-inSerial, and
mongraph. It would be easy to add serial as a fourth, but I have not yet found the need (does
one ever cite a serial as a whole?).
Parameters:
element(mods:mods)? bibref -
Further classifies records into types based on the class
These types then map onto the
citation style langauge definitions. Article, chapter and book are the default structures and
generic fallbacks. Most records will be formatted with these "types." Beyond these core types,
additional types would be defined by both their genre values and their likeness to the core
types. The value can be multi-level where applicable: e.g. “article-magazine.”
Parameters:
element(mods:mods)? bibref -
Determines what to sort on
Parameters:
element(mods:mods) bibref -
Determines which CSL definition to use for any given MODS record
Parameters:
element(mods:mods) bibref -