bibliography.collection
Prev | Bibliography | Next

## bibliography.collection

bibliography.collection — Name of the bibliography collection file

## Synopsis

    <xsl:param name="bibliography.collection">http://docbook.sourceforge.net/release/bibliography/bibliography.xml</xsl:param>

## Description

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"
      "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd">
    <bibliography><title>References</title>

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

    <bibliomixed id="xml-names"><abbrev>Namespaces</abbrev>Tim Bray,
    Dave Hollander,
    and Andrew Layman, editors.
    <citetitle><ulink url="http://www.w3.org/TR/REC-xml-names/">Namespaces in
    XML</ulink></citetitle>.
    World Wide Web Consortium, 1999.
    </bibliomixed>

    <!-- ... -->
    </bibliography>

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:

    <bibliography><title>Bibliography</title>

    <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>
    <bibliomixed id="relaxng"/>

    </bibliography>

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.

Prev | Up | Next
biblioentry.item.separator | Home | bibliography.numbered