| US 7,499,915 B2 | ||
| Index for accessing XML data | ||
| Sivasankaran Chandrasekar, Palo Alto, Calif. (US); Ravi Murthy, Fremont, Calif. (US); Ashish Thusoo, Foster City, Calif. (US); Anh-Tuan Tran, Vacaville, Calif. (US); Sreedhar Mukkamalla, San Francisco, Calif. (US); Eric Sedlar, San Francisco, Calif. (US); and Nipun Agarwal, Santa Clara, Calif. (US) | ||
| Assigned to Oracle International Corporation, Redwood Shores, Calif. (US) | ||
| Filed on Jul. 02, 2004, as Appl. No. 10/884,311. | ||
| Claims priority of provisional application 60/560927, filed on Apr. 09, 2004. | ||
| Claims priority of provisional application 60/580445, filed on Jun. 16, 2004. | ||
| Prior Publication US 2005/0228792 A1, Oct. 13, 2005 | ||
| Int. Cl. G06F 17/30 (2006.01) | ||
| U.S. Cl. 707—3 [707/E17.012; 707/E17.083] | 28 Claims |

| 1. A method for accessing information from XML documents stored in a base table within a relational database, the method comprising
the computer-implemented steps of:
identifying, within the XML documents, a set of nodes to be indexed;
for each node in the set of nodes to be indexed, storing, in an index, an entry for the node, wherein the entry for a given
node includes location data that identifies a location of XML content associated with the XML document that contains the given
node, and at least one of:
(a) hierarchical data that indicates a hierarchical position of the given node within the XML document that contains the given
node; and
(b) path data that corresponds to a path, through the structure of the XML document that contains the given node, to the given
node;
wherein the entry for the given node further includes a locator value that indicates a starting position, within the XML content
that resides at said location, of an XML fragment associated with the given node;
wherein the index includes a plurality of index entries that correspond to a plurality of nodes of a particular XML document
of the XML documents;
wherein each of the plurality of index entries includes the same location data, which identifies the location within the base
table, of XML content for the particular XML document;
wherein the locator value for each of the plurality of index entries indicates a different starting position within the XML
content for the particular XML document stored at the location within the base table, wherein the starting position indicated
by the locator value in each given index entry, of the plurality of index entries, is the starting position of the XML fragment
corresponding to the node associated with said each given index entry; and
using the index to locate information within the XML documents in response to requests for information from the XML documents,
wherein using the index comprises locating the XML content associated with the given node based on at least the location data.
|