Configurable Plug-in Architecture for XML Document Generation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Document build systems lack flexibility to generate arbitrary output formats and effectively manage different document scenarios, often being monolithic and unable to change build logic or create documents of various types under variable conditions.

Innovation Solution

A build engine that utilizes a configuration file to manage a sequence of components, allowing for the modification of document generation by specifying components, their order, and actions, enabling the creation of documents from multiple input files and formats without requiring re-compilation.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If a monolithic document build system is used, then the system structure is simple and unified, but the system lacks flexibility to generate arbitrary output formats and manage different document scenarios

Engineering Contradiction:
Improveflexibility to generate arbitrary output formatsVSAvoidsystem structure complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent divides the monolithic document build system into separate, interchangeable components that can be independently configured and executed. Each component performs a specific function in the document generation process, allowing the system to be customized for different output formats and scenarios without requiring a complete system redesign.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent creates a universal component framework where a single set of modular components can handle multiple document generation scenarios and output formats. The configuration file mechanism allows the same component infrastructure to be adapted to different purposes through configuration rather than code changes.

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

2Adaptability or versatility

If a fixed monolithic build system is used, then the system is easy to operate, but the build logic cannot be changed in arbitrary ways

Engineering Contradiction:
Improveability to change build logicVSAvoiduser interface uniformity
Core Design Contradiction:
Adaptability or versatilityVSEase of operation

Solution Approach 1:

The patent introduces a configuration file as an intermediary layer between the user and the build system components. This configuration file allows users to define and modify build logic, component sequences, and document scenarios without directly interacting with the complex system architecture, thus maintaining ease of operation while enabling arbitrary changes to build logic.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Adaptability or versatility

If a monolithic application generates fixed documentation, then the system is simple to implement, but it cannot create documents of various types under variable scenarios

Engineering Contradiction:
Improveversatility to create documents of any typeVSAvoidsystem architecture complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent transforms the static, fixed-documentation-generation system into a dynamic system where the build logic and component execution sequence can be changed at runtime through configuration files. This allows the system to adapt to variable scenarios and create different document types without requiring structural changes to the underlying architecture.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS8856095B2Configurable plug-in architecture for manipulating XML-formatted information
Publication Date: 2014.10.07 MICROSOFT TECHNOLOGY LICENSING LLC
  • US8856095B2 patent drawing
  • US8856095B2 patent drawing
  • US8856095B2 patent drawing

AI summary

A method and system is described for building a document using a configurable plug-in architecture. In one example, a configuration file containing information of building the document with one or more components is received. The one or more components execute to modify or manipulate the document. The document may further be passed from one component to another component, where each of the components performs a function on the document. The sequence of execution of the components, the type of function or activity executed by each of the components, and/or configuration data of the components may be provided by the configuration file. The document may further be output to a user or stored.