CiteProc
Citation Formatting for XML
Introduction
Perhaps the most important aspect of this project deals with formatting citations and bibliographies. Since the advent of personal computing and productivity applications, there have been two primary mechanisms to format bibliographies and citations. BibTeX has long provided such support in LaTeX, and has a loyal following in the hard sciences in particular. Commercial applications like Endnote, ProCite, and Reference Manager have provided an equivalent for the world of GUI productivity applications like Microsoft Word.
All of these applications work based on the same basic principle. The document contains references to bibliographic records stored in an external database, and a processor goes through, extracts the citations, and assembles the formatted bibliographies according to the specifications in a separate configuration file; for BibTeX .bst files, and binary files for the commercial products. In all cases, formatting is tied directly to the application.
Implementations
CiteProc might be simply thought of as generic name for any implementation of a CSL engine. The first, proof-of-concept, was written in XSLT 2.0, but there are now others in various states of development in: