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
OG exemplary drawing
 
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.