From TEIWiki

Jump to: navigation, search

This page needs to be updated to reflect the move from SourceForge to GitHub.



Roma is the TEI tool (a suite of XSLT stylesheets) for creating schemas and customisations from P5 ODD specifications. It was written by Arno Mittelbach and is loosely maintained by the TEI Council.


User commentary

Please sign all comments.

System requirements

Source code and licensing

Support for TEI



For instructions on installing the command-line version under Mac OS X, see Roma CLI Instructions [note that the locations of stylesheet and roma have moved to github and the links given are out of date, cf. [1]]. Besides this, just see the Debian packaging.

For the web version, see Customizing the TEI with Roma.

As Sebastian wrote on TEI-L on 2009-12-21, "Always remember when considering Roma and friends that the variation is in the XSL stylesheets which it uses. So 99% of error reports and bug fixes are to do with the behaviour of odd2odd.xsl and odd2relax.xsl (etc). The XSL package changes much more frequently than Roma."

Tech support

Report problems either at the TEI-L list or in the SourceForge bug tracker.

User community

Sample implementations

Current version number and date of release

  • 4.17 (2013-01-11)

History of versions

How to download or buy

There are three options.

a) Download the zip file

Sourceforge download – a shell utility (requires xsltproc, trang and perl)

b) Install the Debian package

Install the tei-roma Debian package from the list of Debian packages.

c) Get from Subversion

For many of those commands, you might need to run them as sudo.

  1. Download the source from Subversion: svn co /path/to/local/directory/
  2. Install P5 (required in order to install Roma):
    1. Put into the right place (since P5 installation requires it): cp /usr/bin/roma2
    2. Install texlive-full (includes xelatex, which is required to install P5)
    3. cd /path/to/local/directory/P5/
    4. make install
  3. Install Roma:
    1. cd ../Roma/
    2. make install

Getting the Roma server running

The PHP application which provides basic graphical editing of ODD files is not quite old and not regularly maintained, but it remains the only graphical ODD editor available (at the time of writing, 2015-07), so it is still widely used.

Any Council member working on maintenance of the Roma php application will first need to get it running. These are some basic notes by Martin Holmes on experiences getting it working on Ubuntu 14.04 for the purposes of working on a minor bug in July 2015.

  1. Make sure you have all the regular TEI packages installed, as well as trang.
  2. Get Apache installed and running with PHP5, including the php5-xsl and php5-curl modules (which are not installed by default).
  3. Get the Roma source from the latest build on e.g. [2] (what you need is Unzip the contents into a directory in the web server root.
  4. Copy roma/config-dist.php to roma/config.php, and make any changes you need to. I added these lines to help me with debugging at the top:

Note that adding more aggressive debugging options such as E_NOTICE will actually screw up the schemas you generate, because you'll get lots of PHP error messages at the top of your schemas; the source

Additional notes

Also see OxGarage and Vesta.

oXygen 13.1 onwards has all the Roma functionality built it. Load up your ODD, tell it to generate a schema.

Personal tools