2005-10-17
refdbxml 1 2005-10-17 RefDB Manual
refdbxml transform XML documents containing RefDB bibliographies
`refdbxml` `-c` fop_config_file `-f` fo_processor `-h` `-p` xslt-processor `-s` stylesheet `-t` format file

## Description

refdbxml uses the stylesheet driver file that you created with runbib(1) and feeds it to an XSLT processor to transform your DocBook or TEI XML document to one of the supported output formats. If printable output is requested, the intermediate FO output will be further processed by a FO processor.

## Options

`-c` fop_config_file

  The path to a custom configuration file for the FO processor FOP.

`-f` fo_processor

  The name of the FO processor used to transform FO files into printable output. Supported values are fop (default), passivetex, xep, and xfor.

`-h`

  Prints a command synopsis on the screen and exits

`-i` variable

  Define a variable that is passed to Jade/OpenJade. Multiple entries are possible. This can be used to conditionally include or exclude parts of the document according to which variable is set.

`-p` xslt-processor

  This determines the XSL processor that is to be used. refdbxml currently knows to handle Xalan, XT, Saxon, and xsltproc.

`-s` stylesheet

  This selects the stylesheet driver file. This file is generated by refdbib(1) (which in turn is called by runbib(1)) and contains additional formatting information.

`-t` format

  Select an output format with this option. Possible values are html\fr, rtf, and pdf.

file

  The names of one or more XML files. Each document will be processed separately.

## Configuration

Instead of using the command-line switches, refdbxml can also be configured by means of the refdbxmlrc configuration file. As with all refdb configuration files, you may maintain a global copy in `/usr/local/etc/refdb/` and one copy per user in `$HOME`.

refdbxmlrc

Variable | Default | Comment
--- | --- | ---
xslt_processor | xsltproc | The name of the XSLT processor used to transform XML documents to html or fo files. Supported values are xsltproc (default), xalan, xt, saxon, saxon-xerces (using the xerces parser instead of the built-in parser)
xslt_classpath | /usr/share/java | Specify the directory which contains the Java classes for Java-based XSLT processors. This variable is not required if you use a non-Java processor (xsltproc).
fo_processor | fop | The name of the FO processor used to transform FO files into printable output. Supported values are fop (default), passivetex, xep, and xfor.
fo_classpath | /usr/share/java | Specify the directory which contains the Java classes for Java-based FO processors. This variable is not required if you use a non-Java processor (passivetex).
fop_config_file | (none) | The path to a custom configuration file for FOP.
outformat | html | Set the default output format. Supported values are html, xhtml, pdf, and rtf. Be aware that pdf and rtf are not supported by all FO processors.

## Resolving Public Identifiers

Public identifiers can be resolved to local files if you have a working XML catalog on your system and if your XSLT processor supports XML catalogs. xalan and saxon require additional Java classes to support XML catalogs. For further information, please consult Bob Stayton's book about XSLT.

## Files

`/usr/local/etc/refdb/refdbxmlrc`

  The global configuration file of refdbxml

$HOME/.refdbxmlrc

  The user configuration file of refdbxml.

`/etc/xml/catalog`

  The global XML catalog file, used to resolve public identifiers. Please note that the location of this file is system-dependent. Also, some XSLT processors do not support catalogs, and others require additional classes or plugins to do so.

## Example

We'll transform our document (which is either a DocBook or TEI XML document) to a nice-looking PDF file with the following command:

          ~$
          refdbxml -d J.Biol.Chem.fo.xsl -t pdf mypaper.xml

Note that we used the FO stylesheet for this purpose. If we want HTML output, we need to change the output type switch and use the corresponding HTML stylesheet:

          ~$
          refdbxml -d J.Biol.Chem.html.xsl -t html mypaper.xml

## See also

RefDB (7), refdbib (1), runbib (1), refdbjade (1).

RefDB manual (local copy) PREFIX/share/doc/refdb-<version>/refdb-manual/index.html

RefDB manual (web) <http://refdb.sourceforge.net/manual/index.html>

RefDB on the web <http://refdb.sourceforge.net/>

## Author

refdbxml was written by Markus Hoenicka <markus@mhoenicka.de>.