XSLT Template Processor Context Node Determination
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current technologies lack an efficient method to determine context nodes for matched templates during design-time editing of XSLT, as existing solutions do not effectively utilize the XSLT processor to map templates to context nodes, leading to difficulties in identifying which XML nodes will be processed by templates.
Innovation Solution
The proposed solution involves using an XSLT processor to add unique identifiers to data instances and templates, processing these inputs to generate an output that maps templates to context nodes, thereby providing identifying information for design-time display and ensuring accurate node processing.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Loss of information
If traditional XSLT processing is used without modifications, then the XSLT processor can process XML files according to templates, but it cannot determine context nodes for matched templates during design-time editing
Solution Approach 1:
The patent applies preliminary action by modifying the XML input file before processing to include unique identifiers (UIDs) on data instances. This pre-modification enables the XSLT processor to track and determine context nodes during design-time editing, as the UIDs are already in place to facilitate template matching and context node determination before the actual transformation occurs.
Solution Approach 2:
The patent introduces an intermediary mechanism by adding output instructions to templates that include UID references. These output instructions act as mediators between the template matching process and the context node determination, allowing the system to capture which data instances are matched by which templates during processing, thereby enabling design-time context node identification.
2Ease of operation
If unique identifiers and output instructions are added to data instances and templates, then context nodes can be determined during design-time editing, but the processing complexity increases
Solution Approach 1:
The patent applies segmentation by separating the concerns of data storage and template matching. Unique identifiers are added to data instances as distinct elements, and output instructions are added to templates as separate components. This segmentation allows the XSLT processor to handle template matching and context node determination independently, improving design-time editing capability without overwhelming complexity in the core processing logic.
Solution Approach 2:
The patent changes parameters by introducing unique identifiers as a new attribute parameter for data instances and adding output instructions as a new structural parameter for templates. These parameter changes enable the system to track template matching results and determine context nodes during design-time editing, enhancing ease of operation while managing complexity through standardized parameter additions.
3Measurement precision
If the XSLT processor is modified to provide output with UID information, then accurate context node mapping is achieved, but processing time increases
Solution Approach 1:
The patent applies self-service by designing the output instructions to automatically include UID information in the transformation output. The XSLT processor itself generates the context node mapping information as part of its normal processing workflow, without requiring external tools or post-processing steps. This self-service approach achieves accurate context node mapping while minimizing additional processing time, as the information is generated during the existing template matching process.
Data Source
AI summary
Embodiments of the current invention may include methods, systems, and products designed to utilize a template processor to determine particular data types and/or data instances that are matched to each of a number of different templates. An input file containing at least a data type/instances portion may be processed along with another input that includes templates with code for processing one or more of the data types/instances. Some of the data types/instances may have a unique identifier added to the definition and/or instantiation. Similarly, some of the templates may have code added that may cause the template processor to create an output for each data type/instance that is processed using the template. The output of the processor may then be used to indicate which of the data types/instances may be processed by each template for which the additional code was added.


