Patent ID: 7305414

Claim:
A machine-implemented method, comprising the steps of: storing, within one or more structures of a database, data for an XML document; receiving a database command with an embedded XML query expression, wherein the embedded XML query expression specifies (a) a path that identifies one or more locations within the structure of the XML document, and (b) text search criteria for filtering the one or more locations based on content contained within the one or more locations; determining whether an index should be used as a primary filter; upon determination that a set of conditions is satisfied, transforming, within the database command, the embedded XML query expression into a rewritten expression that includes a text function, wherein the text function specifies the path and the text search criteria, and wherein the text function includes a reference to the index if it was determined that the index should be used; and executing the database command to retrieve data from the one or more structures based on the path and the text search criteria specified in the rewritten expression.