Document transformation performance via incremental fragment transformations
AssigneeInternational Business Machines Corporation
InventorJohn E. Petri
Life of this patent
Estimating the term…
Abstract
A method and apparatus for improving the efficiency of document transformation processes is disclosed. For example, more efficient XML transformations may be performed against a source document that has incurred minor or incremental changes. Rather than apply a transform (e.g., an XSLT document) to a complete document each time any fragment of the source document is modified, a document management system may be configured to apply the transform only to the modified portions of the document.
Claims21
A computer-implemented method of keeping result documents, transformed from source documents, current when the source documents are modified, the computer-implemented method comprising:
- subsequent to receiving a source document by a document management system (DMS):
- (i) fragmenting the source document into a constituent set of document fragments and (ii) applying the document transformation to the set of document fragments in order to generate a set of result fragments;
- generating a fragment link table based on a set of links established between:
- (i) each document fragment of the constituent set of document fragments and (ii) a corresponding result fragment of the set of result fragments;
- wherein the document transformation specifies a set of rules to transform the source document into a result document;
- subsequent to generating the fragment link table, and responsive to receiving a request to apply the document transformation to the source document, identifying the constituent set of document fragments generated from the source document, wherein each source fragment is associated with one or more rules of the set of rules for transforming the source document into the result document, wherein each of the constituent set of document fragments is stored in the DMS as a distinct document used to build the source document;
- determining that one of the document fragments, from the set of document fragments generated from the source document, has been modified since a last time the document transformation was applied to the source document, including:
- (i) evaluating a timestamp associated with the constituent set of document fragments and (ii) analyzing a transformation status flag associated with the constituent set of document fragments;
- generating a source tree of at least the one document fragment;
- and
- upon detecting occurrence of an event for performing a partial transformation, applying the one or more rules of the set of rules associated with the modified document fragment and by the DMS when executed by one or more computer processors, to the source tree in order to generate a transformed result fragment, wherein the event is defined by the one or more rules, wherein the transformed result fragment is stored in a result fragment cache.
A non-transitory computer-readable medium containing a program comprising a document management system (DMS) executable to perform an operation of keeping result documents, transformed from source documents, current when the source documents are modified, the operation comprising:
- subsequent to receiving a source document by a document management system (DMS):
- (i) fragmenting the source document into a constituent set of document fragments and (ii) applying the document transformation to the set of document fragments in order to generate a set of result fragments;
- generating a fragment link table based on a set of links established between:
- (i) each document fragment of the constituent set of document fragments of the set of result fragments and (ii) a corresponding result fragment;
- wherein the document transformation specifies a set of rules to transform the source document into a result document;
- subsequent to generating the fragment link table, and responsive to receiving a request to apply the document transformation to the source document, identifying the constituent set of document fragments generated from the source document, wherein each source fragment is associated with one or more rules of the set of rules for transforming the source document into the result document, wherein each of the constituent set of document fragments is stored in the DMS as a distinct document used to build the source document;
- determining that one of the document fragments, from the set of document fragments generated from the source document, has been modified since a last time the document transformation was applied to the source document, including:
- (i) evaluating a timestamp associated with the constituent set of document fragments and (ii) analyzing a transformation status flag associated with the constituent set of document fragments;
- generating a source tree of at least the one document fragment;
- and
- upon detecting occurrence of an event for performing a partial transformation, applying the one or more rules of the set of rules associated with the modified document fragment and by the DMS when executed by one or more computer processors, to the source tree in order to generate a transformed result fragment, wherein the event is defined by the one or more rules, wherein the transformed result fragment is stored in a result fragment cache.
A system of keeping result documents, transformed from source documents, current when the source documents are modified, the system comprising:
- one or more computer processors;
- and
- a memory containing a program associated with a document management system (DMS) and which, when executed by the one or more computer processors, performs an operation for managing documents in the DMS, the operation comprising:
- subsequent to receiving a source document by the DMS:
- (i) fragmenting the source document into a constituent set of document fragments and (ii) applying the document transformation to the set of document fragments in order to generate a set of result fragments;
- generating a fragment link table based on a set of links established between:
- (i) each document fragment of the constituent set of document fragments and (ii) a corresponding result fragment of the set of result fragments;
- wherein the document transformation specifies a set of rules to transform the source document into a result document;
- subsequent to generating the fragment link table, and responsive to receiving a request to apply the document transformation to the source document, identifying the constituent set of document fragments generated from the source document, wherein each source fragment is associated with one or more rules of the set of rules for transforming the source document into the result document, wherein each of the constituent set of document fragments is stored in the DMS as a distinct document used to build the source document;
- determining that one of the document fragments, from the set of document fragments generated from the source document, has been modified since a last time the document transformation was applied to the source document, including:
- (i) evaluating a timestamp associated with the constituent set of document fragments and (ii) analyzing a transformation status flag associated with the constituent set of document fragments;
- generating a source tree of at least the one document fragment;
- and
- upon detecting occurrence of an event for performing a partial transformation, applying the one or more rules of the set of rules associated with the modified document fragment, to the source tree in order to generate a transformed result fragment, wherein the event is defined by the one or more rules, wherein the transformed result fragment is stored in a result fragment cache.
Dependencies are inferred from the claim text.