XRT README
**********

XSLTPages or XRT: XML Request Transformations
=============================================

XRT is new syntax for webapplications.

At the moment XRT requires python (in the future it will have it's own
Apache module as well as it's own webserver).

Installing XRT on Debian
------------------------

You can run XRT with a simple python based webserver or via Apache with
mod_python.

To get XRT running at all you need python, libxml2 and libxslt. Debian
packages used are:

   * libxml2

   * libxslt1.1

   * python2.3

   * python2.3-libxml2

   * python2.3-libxslt1

   * python2.3-gadfly

Note that gadfly is only used for the sqltest demo.

Running the simple webserver
----------------------------

Once you have installed the simple dependancies listed above you can
run the bookmark demo simply by doing this:

     cd demos/bookmark-demo
     python ../../XRTHttpServer.py

The server starts on port 8000 so simply request:

     http://localhost:8000

and you should be able to see the XRT examples running.

installing with Apache
----------------------

There are two ways to install XRT/Apache: in a chroot jail (which keeps
it away from any apache config you might already have) and just plainly
onto your filesystem.

Install XRT in it's own file system
-----------------------------------

The file:

debian-packages

lists the debian packages you need to get XRT up and running. To make a
filesystem capable of doing XRT you can do this:

     debootstrap etch somedir
     cp debian-packages somedir/tmp
     chroot somedir
     dpkg --set-selections < /tmp/debian-packages
     apt-get dselect-upgrade

You need to copy the XRT module to /var/local or somesuch place.

Install XRT in an existing file system
--------------------------------------

You can use the debian-packages file to apt-get the dependancies:

     apt-get install `cut -f1 debian-packages`

Install XRT on non-Debian operating systems
-------------------------------------------

I don't have a simple way of wrapping up dependancies in a portable
fashion. The debian-packages list should explain what code needs to be
run but I don't know how these equate to rpms or windows packages.

If anyone can help in that area please contact me
(mailto:nferrier@tapsellferrier.co.uk) directly.

Running XRT
-----------

Is just a matter of starting Apache with the relevant .apache-vhost
file linked into the virtual hosts to start.

Under debian you would do this like so:

     ln -s /location/of/xrt/demos/bookmark-demo/.apache-vhost /etc/apache2/sites-enabled/001-xrtbookmarkdemo

How can you help?
-----------------

Here's a list of ways:

   * make new demonstrations

   * suggest new demonstrations

   * clean up and prettify existing demonstrations

   * hack python, perl, java or C code for the next generation of XRT

