XML Validation via Object Model Segmentation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

XSLT-based Schematron validation methods face performance issues due to two-round transformations, lack of shareable rule context, difficulty in achieving fail-fast validation, and limitations in supporting partial validation with fine-grained assertions, especially in environments requiring real-time processing.

Innovation Solution

A method and system for validating XML documents by parsing XML and rule documents to create data and rule object models, extracting relevant objects, and performing validation in a corresponding execution context, allowing for shareable rule contexts and fine-grained validation with fail-fast capabilities.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If XSLT-based Schematron validation is used, then validation capability is provided, but performance deteriorates due to two-round transformations

Engineering Contradiction:
Improvevalidation capabilityVSAvoidvalidation performance
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent segments the validation process into distinct phases: XML parsing to create data object model, rule document parsing to create rule object model, extraction of relevant objects, and validation execution. This segmentation eliminates the need for two-round XSLT transformations by directly processing XML and rule documents into object models that can be validated efficiently.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces object models (data object model and rule object model) as intermediaries between the XML document, rule document, and validation engine. These object models serve as a common representation that enables direct validation without requiring XSLT transformation as an intermediary step, thus improving performance while maintaining validation capability.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Ease of manufacture

If XSLT-based Schematron validation is used, then rule transformation is achieved, but rule context cannot be shared

Engineering Contradiction:
Improverule transformationVSAvoidrule context sharing
Core Design Contradiction:
Ease of manufactureVSAdaptability or versatility

Solution Approach 1:

The rule object model serves multiple functions: it represents validation rules, maintains hierarchical relationships, stores execution contexts, and enables rule context sharing across different validation scenarios. This universal representation allows the same rule object model to be used for both transformation and context sharing purposes.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Solution Approach 2:

The patent adds a new dimension to rule representation by creating rule objects with associated execution contexts in a hierarchical structure. This dimensional expansion allows rule contexts to be shared and reused across different validation operations, transforming the flat XSLT transformation approach into a multi-dimensional object model that supports context sharing.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

3Reliability

If complete validation is performed, then comprehensive checking is achieved, but validation time increases

Engineering Contradiction:
Improvecomprehensive checkingVSAvoidvalidation time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent enables partial validation by allowing users to validate only specific portions of XML documents or apply only subsets of validation rules. The extraction module can select specific data objects and rule objects based on user requirements, performing only the necessary validation checks rather than complete validation, thus reducing validation time while maintaining comprehensive checking where needed.

Inventive Principle:
Principle #16Partial or excessive action

Solution Approach 2:

The validation system is made dynamic by allowing flexible configuration of validation scope and depth. Users can dynamically adjust which rules are applied and which portions of the document are validated, enabling the system to adapt validation comprehensiveness to the specific needs of each validation scenario, balancing reliability and time consumption.

Inventive Principle:
Principle #15Dynamics

4Measurement precision

If fine-grained validation assertions are implemented, then validation precision is improved, but system complexity increases

Engineering Contradiction:
Improvevalidation precisionVSAvoidsystem complexity
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The patent segments validation rules into fine-grained rule objects with specific assertions, each representing a discrete validation check. This segmentation allows precise control over validation logic while managing complexity through modular rule objects that can be independently configured, executed, and maintained.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces execution contexts as an additional dimension to fine-grained rule objects. This dimensional addition provides the structure needed to manage complex validation assertions by organizing them within hierarchical contexts, making the system more manageable despite increased precision requirements.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

Data Source

PatentUS10372809B2Validating an XML document
Publication Date: 2019.08.06 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US10372809B2 patent drawing
  • US10372809B2 patent drawing
  • US10372809B2 patent drawing

AI summary

At least one XML document to be validated is parsed, and XML data in the at least one XML document is represented as data objects in at least one data object model in a memory. At least one rule document is parsed and a rule object model that includes rule objects is created in the memory. At least part of the data objects are extracted from the at least one data object model and at least part of rule objects are extracted from the rule object model. Partial validation is performed in a corresponding execution context that validates the extracted at least part of the data objects based upon the extracted at least part of the rule objects.