EFFICIENT STREAMING EVALUATION OF XPATHS ON BINARY-ENCODED XML SCHEMA-BASED DOCUMENTS
First Claim
1. A computer-implemented method comprising the steps of:
- encoding an XML data source, thereby forming an encoded XML data source,wherein the XML data source comprises a textual representation of an element;
wherein the encoded XML data source comprises an encoded representation of the element;
receiving an XPath expression to be performed on the XML data source,wherein the XPath expression comprises a textual reference to the element;
compiling the XPath expression, thereby forming a compiled XPath expression,wherein the step of compiling comprises translating the textual reference into an encoded reference;
wherein the encoded reference is identical to the encoded representation; and
evaluating the compiled XPath expression on the encoded XML data source without decoding the encoded XML data source;
generating a result based on the evaluation.
3 Assignments
0 Petitions
Accused Products
Abstract
A database system may utilize XML schema information to increase the efficiency of an XPath streaming evaluation. The database system may access XML schema or translation information during the evaluation of an element, attribute, or value in an XML data source. Based on the XML schema or translation information, the database system may determine matches to an XPath expression without decoding any binary-encoded data in the XML data source. Also, based on the XML schema information, the database may selectively skip or evaluate portions of the XML data source depending on whether those portions are defined in the XML schema so as to possibly contain a match to one or more unmatched steps in the XPath expression. XML schema information may be compiled into a compiled representation of the XPath expression for additional efficiencies.
-
Citations
29 Claims
-
1. A computer-implemented method comprising the steps of:
-
encoding an XML data source, thereby forming an encoded XML data source, wherein the XML data source comprises a textual representation of an element; wherein the encoded XML data source comprises an encoded representation of the element; receiving an XPath expression to be performed on the XML data source, wherein the XPath expression comprises a textual reference to the element; compiling the XPath expression, thereby forming a compiled XPath expression, wherein the step of compiling comprises translating the textual reference into an encoded reference; wherein the encoded reference is identical to the encoded representation; and evaluating the compiled XPath expression on the encoded XML data source without decoding the encoded XML data source; generating a result based on the evaluation. - View Dependent Claims (2, 3, 4, 5)
-
-
6. A computer-implemented method comprising the steps of:
-
receiving an XPath expression to be evaluated on a streamed XML data source, wherein the streamed XML data source is defined by an XML schema; compiling the XPath expression, thereby forming a compiled XPath expression, wherein the compiled XPath expression comprises a compiled representation of a step from the XPath expression; wherein the compiled XPath expression also comprises parsing instructions associated with the compiled representation of the step; wherein compiling the XPath expression comprises generating the parsing instructions based at least upon the XML schema and the step; evaluating the compiled XPath expression on the streamed XML data source, wherein, based on the parsing instructions, a portion of the streamed XML data source is not parsed; generating a result based on the evaluation of the XPath expression. - View Dependent Claims (7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17)
-
-
18. A computer-implemented method comprising the steps of:
-
receiving an XPath expression to be evaluated on a streamed XML data source, wherein the streamed XML data source is defined by an XML schema; while evaluating the XPath expression on the streamed XML data source, based at least upon information derived from the XML schema, identifying a next portion of unevaluated XML data in the streamed XML data source, wherein the next portion of unevaluated XML data cannot comprise a subelement, attribute, or value that matches an unmatched step in the XPath expression; skipping evaluation of all subelements, attributes, and values in the next portion of unevaluated XML data; and generating a result based on the evaluation of the XPath expression. - View Dependent Claims (19, 20, 21, 22, 23, 24, 25, 26, 27)
-
-
28. A computer-implemented method comprising the steps of:
-
receiving an XPath expression to be evaluated on a streamed XML data source, wherein the streamed XML data source is defined by an XML schema; while evaluating the XPath expression on the streamed XML data source; based at least upon information derived from the XML schema, identifying a target location in the streamed XML data source, wherein the target location comprises an element, attribute, or data value that potentially matches a next unmatched step in the XPath expression; evaluating XML data from the streamed XML data source at the target location without evaluating any unevaluated XML data from the streamed XML data source located before the target location, wherein at least one unevaluated element, attribute, or data value is located before the target element; and generating a result based on the evaluation of the XPath expression. - View Dependent Claims (29)
-
Specification