A data management system for generating customized versions of data
documents. Initially the document is stored as in the form of raw data,
which is subsequently parsed into an internal representation of the
document. In one embodiment, raw data is stored in XML form and is parsed
by an XML parser. Upon the initial request for a customized version of
the document, a sequence of transforms is applied to the internal
representation and to subsequently transformed documents in order to
create hierarchical, customized document levels. In one embodiment,
transforms are implemented as either XSL stylesheets, although Java
classes may also be employed. The document versions are written to cache,
and subsequent requests for existing versions of the document are
referred to cache. In the event that any document dependencies change, a
cached version will be denoted invalid, and subsequent requests will
result in the re-generation of a customized version.