A programmability mode for interacting with data stores within a document
allows real time interaction. Data for structuring information associated
with a document, such as document metadata, is maintained in the data
store where relationships between different pieces of data are maintained
in a location distinct from the surface level view of a document. The
data store exposes interfaces to the various pieces of data in the data
store for allowing different applications to access and operate on one or
more of the data pieces. The pieces of data may be structured according
to a markup language such as the Extensible Markup Language (XML), and
XML schemas may be associated with each piece of data for allowing the
data store to validate the structure applied to the data based on an XML
schema associated with a given piece of data.