Method for loading large XML documents on demand
First Claim
1. A method for processing a virtual DOM model instance of an XML document in memory comprising:
- receiving a virtual DOM compatible XML document having a parent element and a plurality of child elements each including a child component attribute that is associated with a respective child component that includes a respective external portion of the XML document;
loading the virtual DOM compatible digital document into memory;
receiving a request for a first child component from the plurality respective child components;
in response to the request for the first child component, retrieving the first child component and loading the first child component into memory using the respective child component attribute to obtain the first child component,wherein the parent element is a memory resident portion and the first child component and respective external portion is loaded into the memory resident DOM model instance when referenced, and wherein all of the child components are not loaded into memory when the virtual DOM model instance is being created;
the virtual DOM compatible XML document includes a wrapper XMLDocument class;
the virtual DOM compatible XML document includes a wrapper XMLElement class;
determining if the first child component is still needed in memory after it was loaded into memory; and
if the first child component is not needed in memory, performing a garbage collection operation to remove the child component from memory, but leaving the external child element in memory.
1 Assignment
0 Petitions
Accused Products
Abstract
Systems and methods for loading XML documents on demand are described. The system provides a Wrapper class for the XML Document class and the Element class. A user application then utilizes the Wrapper class in the same way that the Element class and Document class would be used to access any element in the XML Document. The Wrapper class loads external components as required. The external component retrieval is completely transparent to the user application and the user application is able to access the entire XML document as if it were completely loaded into a DOM object in memory. Accordingly, each element is accessible in a random manner. In one configuration, the XML document components or external components are stored in a database in a BLOB field as a Digital Document. The system uses external components to efficiently use resources as compared to systems using Xlink and external entities.
86 Citations
11 Claims
-
1. A method for processing a virtual DOM model instance of an XML document in memory comprising:
-
receiving a virtual DOM compatible XML document having a parent element and a plurality of child elements each including a child component attribute that is associated with a respective child component that includes a respective external portion of the XML document; loading the virtual DOM compatible digital document into memory; receiving a request for a first child component from the plurality respective child components; in response to the request for the first child component, retrieving the first child component and loading the first child component into memory using the respective child component attribute to obtain the first child component, wherein the parent element is a memory resident portion and the first child component and respective external portion is loaded into the memory resident DOM model instance when referenced, and wherein all of the child components are not loaded into memory when the virtual DOM model instance is being created; the virtual DOM compatible XML document includes a wrapper XMLDocument class; the virtual DOM compatible XML document includes a wrapper XMLElement class; determining if the first child component is still needed in memory after it was loaded into memory; and if the first child component is not needed in memory, performing a garbage collection operation to remove the child component from memory, but leaving the external child element in memory. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A computing system for processing a virtual DOM model of a virtual DOM compatible XML document having a parent element and at least one child element associated with an external child component comprising:
-
a data processor; a storage device connected to the processor; the storage device storing a logic program; and the data processor operative with the logic program to causing the computing system to process the virtual DOM model of the virtual DOM compatible XML document by performing the following steps; loading the virtual DOM compatible XML document into memory; creating a dynamic virtual DOM instance by parsing and creating appropriate DOM nodes in memory as the respective parent element and at least one child element of the virtual DOM compatible XML document are traversed; loading the external child component into memory only when the respective child element is traversed, wherein the external child component is not loaded into memory when the virtual DOM compatible XML document is first loaded into memory and wherein the external child component is not loaded into memory until the respective child element is traversed; the virtual DOM compatible XML document includes a wrapper XMLDocument class; the virtual DOM compatible XML document includes a wrapper XMLElement class; the data processor further operative with the logic program to causing the computing system to process the virtual DOM model by performing the following steps; determining if the external child component is needed in memory; and if the child component is not needed in memory, performing a garbage collection operation to remove the external child component from memory, but leaving the associated external child element in memory.
-
Specification