bibliography.collection — Name of the bibliography collection file
<xsl:param name="bibliography.collection">https://cdn.docbook.org/resources/latest/xml/bibliography.xml</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" "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:
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.
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.