Streaming XML codec for OCaml
OCaml
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
doc Topkg support. Mar 15, 2017
pkg Use VERSION_NUM in META file. Mar 16, 2017
src Safe-string support. Mar 15, 2017
test Relicense from BSD3 to ISC. Mar 15, 2017
.gitignore Topkg support. Mar 15, 2017
.merlin Add .merlin file. Oct 1, 2014
.ocp-indent Add .ocp-indent file. Oct 1, 2014
CHANGES.md Update change log. Mar 15, 2017
LICENSE.md Relicense from BSD3 to ISC. Mar 15, 2017
README.md Doc tweaks. Mar 15, 2017
_tags Safe-string support. Mar 15, 2017
opam Safe-string support. Mar 15, 2017

README.md

Xmlm — Streaming XML codec for OCaml

%%VERSION%%

Xmlm is a streaming codec to decode and encode the XML data format. It can process XML documents without a complete in-memory representation of the data.

Xmlm is made of a single independent module and distributed under the ISC license.

Home page: http://erratique.ch/software/xmlm

Installation

Xmlm can be installed with opam:

opam install xmlm

If you don't use opam consult the opam file for build instructions.

Documentation

The documentation and API reference is automatically generated from the source interfaces. It can be consulted online or via odig doc xmlm.

Sample programs

If you installed xmlm with opam sample programs are located in the directory opam config var xmlm:doc.

In the distribution sample programs and tests are located in the test directory of the distribution. They can be built and run with:

topkg build --tests true && topkg test 

The xmltrip tool 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, the file xhtml.ml in the test directory has 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.