Disclosed is software architecture and method for sharing data objects
among multiple applications in a client device. The architecture includes a server
process in the client device for processing a template, such as a SHTML template
for the Extended Markup Language (XML), based on a template identifier value received
from a user application. Each of multiple applications has a template. Each template
identifies a series of objects identified by tag values, such as XML entities,
that are to be incorporated into a display page. A database of objects, such as
a database of XML entities identified by tag values, is maintained that contains
data objects for the applications. An update process periodically establishes a
communication link with a remote server and requests download of a data document
containing content data corresponding to at least a portion of several of the templates.
The data document is parsed into the database of objects based on the structure
of the data document, which generally conforms to a data type definition. When
the server process processes different templates that reference the same data object,
it will retrieve the data object from the database. Each template may then be rendered
into a page of output data for display to a user. The architecture and method according
to the present invention thus permit data objects to be shared by multiple applications
and to be automatically updated. Each time a data object is updated, the data will
be current for each user application that references the data object.