bibliography.collection — Name of the bibliography collection file


<xsl:param name="bibliography.collection"></xsl:param>


Maintaining bibliography entries across a set of documents is tedious, time consuming, and error prone. It makes much more sense, usually, to store all of the bibliography entries in a single place and simply extract the ones you need in each document.

That's the purpose of the bibliography.collection parameter. To setup a global bibliography database, follow these steps:

First, create a stand-alone bibliography document that contains all of the documents that you wish to reference. Make sure that each bibliography entry (whether you use biblioentry or bibliomixed) has an ID.

My global bibliography, ~/bibliography.xml begins like this:

<!DOCTYPE bibliography
  PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"

<bibliomixed id="xml-rec"><abbrev>XML 1.0</abbrev>Tim Bray,
Jean Paoli, C. M. Sperberg-McQueen, and Eve Maler, editors.
<citetitle><ulink url="">Extensible Markup
Language (XML) 1.0 Second Edition</ulink></citetitle>.
World Wide Web Consortium, 2000.

<bibliomixed id="xml-names"><abbrev>Namespaces</abbrev>Tim Bray,
Dave Hollander,
and Andrew Layman, editors.
<citetitle><ulink url="">Namespaces in
World Wide Web Consortium, 1999.

<!-- ... -->

When you create a bibliography in your document, simply provide empty bibliomixed entries for each document that you wish to cite. Make sure that these elements have the same ID as the corresponding real entry in your global bibliography.

For example:


<bibliomixed id="xml-rec"/>
<bibliomixed id="xml-names"/>
<bibliomixed id="DKnuth86">Donald E. Knuth. <citetitle>Computers and
Typesetting: Volume B, TeX: The Program</citetitle>. Addison-Wesley,
1986.  ISBN 0-201-13437-3.
<bibliomixed id="relaxng"/>


Note that it's perfectly acceptable to mix entries from your global bibliography with normal entries. You can use xref or other elements to cross-reference your bibliography entries in exactly the same way you do now.

Finally, when you are ready to format your document, simply set the bibliography.collection parameter (in either a customization layer or directly through your processor's interface) to point to your global bibliography.

A relative path in the parameter is interpreted in one of two ways:

  1. If your document contains no links to empty bibliographic elements, then the path is relative to the file containing the first bibliomixed element in the document.

  2. If your document does contain links to empty bibliographic elements, then the path is relative to the file containing the first such link element in the document.

Once the collection file is opened by the first instance described above, it stays open for the current document and the relative path is not reinterpreted again.

The stylesheets will format the bibliography in your document as if all of the entries referenced appeared there literally.