Patent ID: 7581172

Claim:
Apparatus for representing and managing an XML compliant document in a memory in a computer environment comprising a plurality of concurrently executing processes, the XML-compliant document being composed of a plurality of elements arranged in a nested relationship, the apparatus comprising: computer storage medium having: a plurality of element objects, each element object representing a respective element of the plurality of elements of the XML-compliant document, each element object providing a programming interface to information associated with the respective element of the plurality of elements; a mapping between elements of the plurality of elements and computer executable instructions that implement a respective element object of the plurality of element objects; computer-executable instructions that, when executed, provide a mechanism for arranging the plurality of element objects in a hierarchy representative of the nested relationship of the elements; and computer-executable instructions that, when executed, provide an application programming interface for applications to manipulate information associated with the plurality of elements, the application programming interface, in response to a call from an application program to manipulate an element of the plurality of elements, identifying from the mapping a respective element object for the element and returning to the application through the application programming interface a pointer to the respective element object, whereby the application can manipulate the element by invoking the computer executable instructions implementing the respective element object through the programming interface of the respective element object; and a schema document referenced by the XML-compliant document, the schema document containing element objects and the mapping, wherein: the mapping is contained within the schema document; the schema data is accessed using the computer-executable instructions that provide an application programming interface for applications to manipulate information associated with the plurality of elements of the XML-compliant document; and the XML-compliant document is accessed from applications executing in each of the plurality of concurrently executing processes.