XPath Evaluation on Binary XML Using Schema-Guided Skipping

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing techniques for streaming evaluation of XPath expressions on binary-encoded XML data are inefficient, requiring decoding of binary-encoded data, which consumes processing time and resources.

Innovation Solution

Utilizing XML schema information to skip non-matching portions and jump directly to potentially matching elements, allowing for direct evaluation of binary-encoded XML data without decoding, by encoding XPath steps using the same scheme as the XML data and compiling schema information for efficient matching.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of operation

If binary-encoded XML data is decoded before XPath evaluation, then the data can be processed by standard XPath evaluators, but processing time and resource consumption increase

Engineering Contradiction:
Improvecompatibility with standard XPath evaluatorsVSAvoidprocessing time
Core Design Contradiction:
Ease of operationVSLoss of time

Solution Approach 1:

The XPath expression is pre-encoded into the binary encoding scheme before evaluation. This preliminary encoding action allows the evaluator to work directly on the binary-encoded XML data without needing to decode it first, thereby avoiding the time-consuming decoding step while maintaining compatibility with XPath evaluation semantics

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent changes the representation parameter of the XPath expression from text-based to binary-encoded format. By transforming the XPath expression into the same encoding scheme as the XML data, the system eliminates the need for decoding operations during evaluation, significantly reducing processing time and resource consumption

Inventive Principle:
Principle #35Parameter changes

2Reliability

If all XML data is evaluated sequentially, then complete evaluation is ensured, but processing efficiency decreases

Engineering Contradiction:
Improvecomplete evaluationVSAvoidprocessing efficiency
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The XML data is segmented into nodes, and the evaluation process is divided into two phases: a schema-guided skipping phase that identifies and skips non-matching portions based on XML schema information, and a targeted evaluation phase that only processes potentially matching nodes. This segmentation allows complete evaluation to be maintained while significantly improving processing efficiency by avoiding unnecessary sequential evaluation of all data

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent implements a skipping mechanism that uses XML schema information to identify and skip portions of the XML data that cannot possibly match the XPath expression. By rushing through non-matching segments without detailed evaluation, the system maintains evaluation completeness for relevant data while dramatically improving overall processing efficiency

Inventive Principle:
Principle #21Skipping (Rushing through)

Data Source

PatentUS9842090B2Efficient streaming evaluation of XPaths on binary-encoded XML schema-based documents
Publication Date: 2017.12.12 ORACLE INT CORP
  • US9842090B2 patent drawing
  • US9842090B2 patent drawing
  • US9842090B2 patent drawing

AI summary

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.