XML Data Transformation via Two-Pass Caching and External Context Integration

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing XML transformation methods, such as XSL and XPath, lack flexibility in transforming XML data to desired formats, especially when incorporating data from external sources and requiring complex transformations.

Innovation Solution

The proposed solution enhances flexibility by using configuration data to cache specific elements during a first pass and applying XSL transformation rules in a second pass, along with context objects that interface with external data sources to retrieve necessary data for transformation.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If XSL and XPath based approaches are used for XML transformation, then transformation capability is provided, but flexibility is insufficient especially for incorporating external data and complex transformations

Engineering Contradiction:
Improvetransformation flexibilityVSAvoidtransformation system complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The transformation process is divided into two distinct passes: a first pass that identifies and caches required elements from the input XML, and a second pass that applies transformation rules using the cached elements. This segmentation enables complex transformations by breaking down the transformation logic into manageable phases, improving flexibility while managing system complexity through structured processing.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The first pass performs preliminary actions by identifying and caching all elements needed for subsequent transformation before the actual transformation rules are applied. This preliminary caching of required elements enables the second pass to execute complex transformations more efficiently, enhancing transformation flexibility without proportionally increasing overall system complexity.

Inventive Principle:
Principle #10Preliminary action

2Productivity

If elements are cached during first pass and transformed in second pass, then transformation efficiency is improved, but processing time increases due to two-pass processing

Engineering Contradiction:
Improvetransformation efficiencyVSAvoidprocessing time
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The first pass performs preliminary identification and caching of required elements, which reduces the complexity of the second pass transformation process. Although an additional pass is required, the caching mechanism significantly improves overall transformation efficiency by avoiding repeated element searches and enabling more complex transformations to execute faster.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS9098558B2Enhanced flexibility for users to transform XML data to a desired format
Publication Date: 2015.08.04 ORACLE INT CORP
  • US9098558B2 patent drawing
  • US9098558B2 patent drawing
  • US9098558B2 patent drawing

AI summary

An aspect of the present disclosure provides enhanced flexibility for users to transform XML data to a desired format. In an embodiment, a configuration data indicates the specific elements required for generating the output for other elements. During a first pass, any occurrences of the specific elements in an input XML data are populated in a cache. During a second pass, XSL transformation rules are used for transforming the elements of the XML data. When an XSL transformation requires a specific element stored in the cache, the specific element is retrieved and an output portion is formed by incorporating the retrieved element according to the XSL transformation rule. According to another aspect, the configuration data also specifies various context objects that are enabled to interface with corresponding external (data) sources. Accordingly, data from external sources is enabled to be incorporated in the output according to XSL transformation rules.