# Fortran XML Tools

## SAX

Flib SAX is a SAX level 1.0 implementation in Fortran 90.

A PDF Tutorial and UserGuide is available here

## Stream Xpath

Stream Xpath is a library that emulates some of the features of the Xpath standard, but working within the stream model of SAX.

Its small memory footprint makes it quite useful to process large datafiles, for which the standard Xpath (built on top of the memory-intensive DOM) would not be appropriate. However, the stream paradigm forces the user to be careful about controlling the state of the parser.

A PDF Tutorial and UserGuide is available here

## WXML

WXML is a library that facilitates the writing of well-formed XML, including such features as automatic start-tag completion, attribute pretty-printing, and element indentation. There are also helper routines to handle the output of numerical arrays.

Desription of the routines

See also the examples in the `Examples/wxml` subdirectory of the main distribution.

Jon Wakelin has written a CML-formatting library on top of a slightly modified WXML. Documentation is available here. For examples of CML-formatting in strict WXML, see the `Examples/cml` subdirectory of the main xmlf90 distribution. The two strands of WXML will be merged very soon.

## FDOM

FDOM is a a DOM level 1.0 implementation in Fortran 95. We have implemented almost all the instance methods, although it is unlikely that any of the class methods will ever be implemented. The FDOM is still evolving but is already in a usable state. More importantly, as all of the interfaces are standard, changes to the code will only take place behind the scenes.

A page containing a breakdown of the FDOM methods is available here

See also the examples in the `Examples/dom` subdirectory of the main distribution.

Jon Wakelin, Alberto Garcia, April 2004