A virtual view tree for representing a document. A virtual view tree is
maintained by an application, rather than a renderer (e.g., graphics
rendering library) called upon by the application to display the
document. The view tree is virtual in that nodes need not be created
until they are to be displayed. When instructed to display the document,
the renderer requests nodes and their attributes. The nodes may be cached
while the renderer works on their content, but may be removed from memory
anytime thereafter. Only a subset of the virtual view tree's nodes is
stored at one time, and only in non-persistent storage. The application
includes various APIs for navigating a virtual view tree, describing its
attributes and caching its nodes. The APIs may be directly accessible to
the renderer or may be invoked by subsystems of the application (e.g.,
client, tree navigation and caching subsystems).