...............................................................................
Xmlm - Streaming XML input/output for OCaml
       Release 1.0.1
...............................................................................

Xmlm is an OCaml module providing streaming XML input/output. It aims
at making XML processing robust and painless. The streaming interface
can process documents without building an in-memory representation. It
lets the programmer translate its data structures to XML documents and
vice-versa. Functions are provided to easily transform arborescent
data structures to/from XML documents.

To facilitate its integration into projects Xmlm is made of a single
module and distributed under the new BSD license.

Project home page : http://erratique.ch/software/xmlm
Contact : daniel.buenzl i@erratique.ch


# Installation

Xmlm was tested with OCaml 3.10. It can be directly embedded in your
project. Just copy xmlm.mli and xmlm.ml from the src/ directory to
your project. These two files contain everything : the code,
documentation and the license.

The documentation is generated by ocamldoc from xmlm.mli. You can find
a generated version in the doc/ directory of the distribution.

If you have ocamlbuild, Xmlm can be installed in the xmlm/ directory 
of `ocamlc -where` by typing :
 
  > ./build 
  > ./build install 

to install to a different location :

  > INSTALLDIR=/path/to/install/dir ./build install 

A test program, xmltrip, is provided in the test/ directory. It can
be built with :

  > ./build xmltrip

xmltrip reads XML files with Xmlm and outputs them back in various
ways. It is useful to understand how Xmlm handles documents. xmltrip
-help has more information.

If you need to parse XHTML, there is a file named xhtml.ml in the
test/ directory. It contains an OCaml list coupling each XHTML
character entity with its corresponding UTF-8 encoded character
string. You can use it to program a suitable entity callback.
