A user of the system typically works with composite objects which are built up out of these small information components (generally referred to simply as `components' when used in reference to a part of a composite object). For instance, a document may be built up out of components representing main sections, where each main section is built up of subsections which are in turn built up of paragraphs. Each composite object can thus be seen as a tree structure, which is built from information components in the underlying database. A single information component can be a component in many different composite objects - perhaps used and developed by different people. Thus information is shared and reused.
When a user works with a composite object s/he does this via a
view of that object. A view picks out selected parts from the
components and combines them in a single display window. A view is made
up of items where an item is the smallest indivisible part of a
component - e.g. an attribute value, a bitmap or a link
tag. A view may contain none, one or many
items from each component. For example one view of a document (the most
familiar one) could be a display where the title and the authors are
extracted as attribute values from the root component, an abstract is
extracted from the image of an abstract component, section and
subsection titles from attribute values of components, and the
paragraphs from the images of paragraph components. These are then
displayed in the appropriate order in the display window. An
alternative view may be one that selects title and authors, an
abstract, section and subsection titles, but instead of paragraphs
displays only a summary of each subsection taken from the image of that
component.
A composite object is in fact defined by the combination of a view descriptor (which we call a Generic Presentation Descriptor) and a particular root component. The view descriptor gives a template for the composite object type (such as `full document', `memo', `folder', etc.), while the root component indicates the particular place in the database from which the components for this particular composite object can be found.