From TEIWiki

(Redirected from Refdb)
Jump to: navigation, search



RefDB is a reference database and bibliography tool for SGML, XML, and LaTeX documents.


  • data are stored in a SQL database (MySQL, PostgreSQL, or SQLite).
  • supported reference data input formats are RIS (think Reference Manager), risx (an XML-encoded RIS and then some), MARC, bibtex, Pubmed/Medline (both tagged and XML). Additional formats like MODS, ISI, and Copac are supported through bibutils.
  • supported reference data output formats are RIS, risx, HTML, XHTML, DocBook (SMGL, XML, namespaced XML), TEI (XML, namespaced XML), bibtex, MODS and a compact plain-text format for command-line use. Again, other output formats can be created with bibutils.
  • the client/server design makes it suitable for personal use and for workgroup/public use
  • command-line tools allow interactive or scriptable access to the data.
  • a PHP-based web interface is available.
  • an optional SRU server allows to access the database by the standardized "Search and Retrieve via URL" protocol
  • editor extensions are available for Emacs and Vim. These allow searching the database, inserting citations, doing reverse lookups, and processing your documents without ever leaving the editor
  • Libraries for Perl and PHP are available for programmers
  • RefDB provides sophisticated character encoding handling, using Unicode by default.
  • RefDB can create bibliographies automatically based on the citations that you inserted into your document. This can be automatized to a level that "make pdf" is sufficient to transform your document which then includes a formatted bibliography.
  • RefDB can create "cooked" bibliographies which allow, when processed with the provided stylesheet driver files, to format the bibliographies according to the specifications of a particular journal or publisher.
  • "raw" bibliographies are also supported, which rely on the formatting capabilities of the stock stylesheets
  • RefDB currently supports TEI P4, TEI P5, DocBook SGML, DocBook XML 4.x, DocBook XML 5.x, and LaTeX

User commentary

Please sign all comments.

System requirements

  • OS: most Unixish systems (Linux, FreeBSD, NetBSD, OSX, Solaris) and Windows/Cygwin are supported.
  • database engine: one of MySQL 4.1 or later, PostgreSQL 7.1 or later, or SQLite 2.8.x or 3.x.y.
  • web server (for the PHP web interface and for the SRU server application): tested with Apache, but supposed to work with any CGI-aware web server.
  • SGML toolchain (for processing DocBook SGML documents): (open)jade, jadetex, LaTeX.
  • XML toolchain (for processing TEI and DocBook XML documents): most up to date XSLT processors (such as xsltproc) and FOP (such as fop) should work ok.
  • LaTeX toolchan (for processing LaTeX documents): teTeX or any other suitable LaTeX distribution.
  • editor (for processing bibliography data files, style files, and markup documents): just about any editor will do, but extensions are provided for Emacs and Vim that turn these editors into convenient authoring environments with reference and bibliography support.

Source code and licensing

RefDB is distributed under the GNU Public License at no cost.

Support for TEI

Creating bibliographies for TEI works by preprocessing your document with an XSLT stylesheet which extracts all citations, sends this list to the database engine, retrieves the bibliography as an external file, and then processes your document and the bibliography to web or printable output. For this to work, your sources need to use a particular citation syntax (either an abused <seg> element with a list of citation keys, or a similarly abused <seg> element with one or more <ptr> elements that provide the links into the bibliography). RefDB ships stylesheets to process both P4 and P5 documents. For transforming the document along with the bibliography, RefDB also provides stylesheet driver files for both P4 and P5 which apply the formatting particular to a given style. Raw bibliographies are transformed with the stock TEI stylesheets.


  • the "core" of RefDB is an application server written in C
  • the command-line applications are written in C as well
  • reference data converters are implemented in C or in Perl
  • the web interface is implemented in PHP
  • the SRU interface is implemented in Perl
  • RefDB uses shell scripts and Makefiles to control the transformation of documents
  • citation extraction is done with DSSSL or XSLT scripts
  • all interfaces are in English
  • the documentation is also in English


RefDB Documentation

Tech support

Support is available on two mailing lists:

Current version number and date of release

RefDB 0.9.9 was released on November 5, 2007

History of versions

RefDB is maintained as a Sourceforge project using a subversion repository.

How to download

Please visit the Sourceforge project page

Personal tools