Warning: this page is out of date, current UWOBO page is available here

UWOBO: a Stylesheet Processor

Last update: April 1, 2002

Contact: luca.padovani@cs.unibo.it

UWOBO is an XSLT Stylesheet processor running as a HTTP server. It can be contacted with a proper URL giving the URI of an XML document and a list of stylesheets to be applied. The processor will apply the stylesheets in the given sequence and will return the processed document as the result of the invocation.
UWOBO was born at the University of Western Ontario, London, Canada. Since then it has been further refined and developed at the University of Bologna (hence the name).
UWOBO is distributed under the GNU General Public License (GPL).

Main authors: Acknowledgments:



November 12, 2001

UWOBO 1.2.1 released. UWOBO is now released under GPL. The only other significative change with respect to 1.2.0 is the change of the semantic of the method add when the stylesheet is already loaded. In 1.2.0 the request was interpreted as a reload request. It seems more appropriate to simply ignore it (with a Warning, of course!).

November 8, 2001

UWOBO goes global. UWOBO has been announced on

November 6, 2001

UWOBO 1.2.0 released, incorporating many changes (some also not backward compatible):
  1. New syntax: methods add, reload and remove can now process multiple entries with just one method invocation. NO BACKWARD COMPATIBILITY RETAINED.
  2. Serialization and deserialization: when serialization is enabled, every time a stylesheet is recompiled it is also serialized on disk. When booting, UWOBO automatically reloads every serialized stylesheet.
  3. More verbosity: every method gives back to the user and writes in the log much more information than before.
  4. Undocumented methods update and updateAll (whose semantic was unclear) definitely removed.
Note that, due to syntax changes, also the panel has changed.

October 27, 2001

UWOBO 1.1.13 released. Release 1.1.12 was someway incomplete: error responses were still cached. The problem has been fixed. The output of the help method has been updated. The file build.xml has also been improved.

October 17, 2001

UWOBO 1.1.12 released. Now responses from the servlet are such that browsers don't cache them.

October 1, 2001

UWOBO 1.1.11 released. This is just a bug fix: while loading a stylesheet, the files required and included using a relative URL were searched using the wrong absolute URL. In particular, the base URL used was not the one of the main stylesheet, but the path of the directory in which UWOBO was installed.

March 22, 2001

UWOBO 1.1.10 released. A more flexible support for parameters and output properties is added.

March 13, 2001

UWOBO 1.1.9 released.

March 6, 2001

Syntax for application changed, see below.

February 26, 2001

First public release for UWOBO version 1.0.0.


UWOBO is a Java Servlet, thus it should be possible to use it with any "servlet server". Currently, we use it with TOMCAT. The requirements for this servlet are:


Download the package and uncompress it somewhere, edit the file build.xml and set the property tomcat.dir with the directory where TOMCAT is installed. In the directory uwobo Do
  chmod +x ./antRun
  ./antRun install
(make sure that the JAVA_HOME environment variable is set and that Java is in your PATH). You may have to be root in order to complete the installation.
When the servlet is installed, restart the servlet server and have fun.



The HELM library on-line is rendered on the fly by means of the UWOBO servlet. You can browse the library here. For some examples of invocation of the processor, take a look at the pages of the library.


The processor accepts a number of commands, each possibly followed by a variable number of arguments. A generic URL to contact the processor is the following:


Where hostname is the host running the processor and cmd is one of the following commands:


We have designed a simple Web page which allows a simple interaction with the processor. Currently, the page is tuned to be used in the context of HELM, but you can download and customize it to your needs. Browse the panel here.