Spooling strategies are described for producing job information that
conforms to a hierarchical structure, and then storing the job
information in a spool storage. The job information is then retrieved
from the spool storage and consumed. The structured job information
includes a multi-level hierarchy of nodes, including a job level that
represents the entire job, a document level that represents a document to
be processed within the job; a rendition level that represents a
rendition of the document to be processed; and a page level that
represents a page associated with the rendition. The hierarchical
structure can also include resource nodes and metadata nodes associated
with any level of the hierarchy, respectively representing resources and
metadata. The hierarchy can optionally be composed using one or more
selection and sequence parts. Program logic implements the production and
consumption of the job information by providing a collection of logic
modules for selectively adding and retrieving elements to the
hierarchically structure. The program logic also provides logic for
enumerating the contents of the job information and for signaling the
occurrence of various events associated with the processing of the job
information.