ICI Modules: xml

Modules by name : by type


The xml module provides two major facilities. Firsly it is an interface to James Clark's expat XML parser. This is a non-validating XML parser with a SAX-style programming interface. The ICI interface presents a similar interface to the C API and can be considered an ICI SAX implementation.

On top of the direct expat interface a set of functions is provided for reading a complete XML stream into memory. The stream is represented using ICI objects with the XML's structure maintained in the data structure so it is possible to output what has been read. Functions are provided to manipulate this in-memory representation and this can be thought of as a DOM-like interface. It is not however an implementation of the DOM as specified by the W3C but uses this structure.


The lowest level interface provides direct access to the expat callback-based interface.

In-memory Interface

This interface uses the above functions to read XML streams into memory and provides functions to traverse the document structure and perform various manipulations.