System and method for the storage, indexing and retrieval of XML documents using relational databases
First Claim
Patent Images
1. A computer-implemented method for manipulating a first XML document, the method comprising:
- determining a tree data structure that represents the first XML document, wherein the tree data structure comprises one or more nodes, each node representing an XML element of the first XML document;
assigning unique name values for a plurality of XML element names in the first XML document by assigning name values to the one or more nodes according to the element names of the XML elements represented by the nodes;
converting the tree into a table by;
identifying a node of the tree and a path of nodes from a root node of the tree to the identified node;
generating name path data indicating the identified path, the name path data comprising a list of name values assigned to one or more nodes in the identified path; and
storing in the table the name path data; and
storing the table in a relational database.
4 Assignments
0 Petitions
Accused Products
Abstract
A system and method for assigning attributes to XML document nodes to facilitate their storage in relational databases and the subsequent retrieval and re-construction of pertinent nodes and fragments in original document order is provided. Since these queries are performed using relational database query engines, the speed of their execution is significantly faster than that using more exotic systems such as object-oriented databases. Furthermore, this method is portable across all vendor platforms, and so can be deployed at client sites without additional investments in database software.
34 Citations
20 Claims
-
1. A computer-implemented method for manipulating a first XML document, the method comprising:
-
determining a tree data structure that represents the first XML document, wherein the tree data structure comprises one or more nodes, each node representing an XML element of the first XML document; assigning unique name values for a plurality of XML element names in the first XML document by assigning name values to the one or more nodes according to the element names of the XML elements represented by the nodes; converting the tree into a table by; identifying a node of the tree and a path of nodes from a root node of the tree to the identified node; generating name path data indicating the identified path, the name path data comprising a list of name values assigned to one or more nodes in the identified path; and storing in the table the name path data; and storing the table in a relational database. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12)
-
-
13. A data structure embodied in computer-readable medium for storing a node representing an XML element of an XML document, the data structure comprising:
-
data that indicates a name of an element, and an identified node instantiating the element; data that indicates in a first manner a path from a root node to the identified node, the path comprising one or more elements; data that indicates, in a second manner the path; and data that indicates a value of the identified node. - View Dependent Claims (14)
-
-
15. A data structure embodied in computer-readable medium for storing an XML document, the data structure comprising a plurality of sub-data structures, wherein a sub-data structure comprises:
-
data that indicates a name of an element, an identified node instantiating the element; data that indicates in a first manner a path from a root node to the identified node, the hint path comprising one or more elements; data that indicates, in a second manner the path; and data that indicates a value of the identified node.
-
-
16. A computer-implemented method for manipulating an XML document, the method comprising:
-
determining a tree data structure that represents the XML document, wherein the tree data structure comprises one or more nodes, each node representing an XML element of the XML document; converting the tree into a table by; identifying a node of the tree; generating name path data and order path data for the identified node, the name path data and the order path data indicating in two different manners a path of nodes from a root node of the tree to the identified node; and storing in the table the name path data and the order path data; and
storing the table in a relational database. - View Dependent Claims (17)
-
-
18. A computer-implemented method for manipulating an XML document, the method comprising:
-
determining a tree data structure that represents the XML document, wherein the tree data structure comprises one or more nodes, each node representing an XML element of the XML document; converting the tree into a table by; identifying a node of the tree and a path of nodes from a root node of the tree to the identified node; generating order path data for the identified node, the order path data denoting, for a first node in the path of nodes, a breadth-wise enumerated order of the first node in the identified path; and storing in the table the order path data; and storing the table in a relational database. - View Dependent Claims (19, 20)
-
Specification