The requirements of the PIA's document processing system (DPS) are quite different from those of the W3C's DOM, which is basically a formalization of the ECMAscript document API.
The DPS uses a set of interfaces that are almost completely orthogonal to those of the DOM. While the DOM's interfaces model a document as a (doubly-linked) tree of Node objects, the DPS interfaces define a family of cursors that allow the processor to traverse a tree. The advantage of the cursorial approach over the arboreal is that the tree being traversed need not all be in memory at once.
In spite of the cursorial interface's advantages, it is sometimes necessary to construct an actual parse tree. The DOM, though perhaps not the best interface for this kind of thing, works well enough. The tree subdirectory contains a complete implementation of the DOM which also implements the ``Active'' interface required for the DPS, and the navigational methods required for an efficient implementation of cursors.
This package, org.risource.dps.active
, defines the interfaces
that make up the hybrid model of which the
org.risource.dps.tree
package is an implementation.
This directory originally contained a complete collection of interfaces and implementation classes for an earlier version of the DOM.