<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xi="http://www.w3.org/2001/XInclude" xmlns:src="http://nwalsh.com/xmlns/litprog/fragment" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="5.0" xml:id="bibliography.collection"> <refmeta> <refentrytitle>bibliography.collection</refentrytitle> <refmiscinfo class="other" otherclass="datatype">string</refmiscinfo> </refmeta> <refnamediv> <refname>bibliography.collection</refname> <refpurpose>Name of the bibliography collection file</refpurpose> </refnamediv> <refsynopsisdiv> <src:fragment xml:id="bibliography.collection.frag"> <xsl:param name="bibliography.collection">http://docbook.sourceforge.net/release/bibliography/bibliography.xml</xsl:param> </src:fragment> </refsynopsisdiv> <refsection><info><title>Description</title></info> <para>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 <quote>extract</quote> the ones you need in each document.</para> <para>That's the purpose of the <parameter>bibliography.collection</parameter> parameter. To setup a global bibliography <quote>database</quote>, follow these steps:</para> <para>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 <tag>biblioentry</tag> or <tag>bibliomixed</tag>) has an ID.</para> <para>My global bibliography, <filename>~/bibliography.xml</filename> begins like this:</para> <informalexample> <programlisting><!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> </programlisting> </informalexample> <para>When you create a bibliography in your document, simply provide <emphasis>empty</emphasis> <tag>bibliomixed</tag> entries for each document that you wish to cite. Make sure that these elements have the same ID as the corresponding <quote>real</quote> entry in your global bibliography.</para> <para>For example:</para> <informalexample> <programlisting><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></programlisting> </informalexample> <para>Note that it's perfectly acceptable to mix entries from your global bibliography with <quote>normal</quote> entries. You can use <tag>xref</tag> or other elements to cross-reference your bibliography entries in exactly the same way you do now.</para> <para>Finally, when you are ready to format your document, simply set the <parameter>bibliography.collection</parameter> parameter (in either a customization layer or directly through your processor's interface) to point to your global bibliography.</para> <para>The stylesheets will format the bibliography in your document as if all of the entries referenced appeared there literally.</para> </refsection> </refentry>