System and method for incrementally transforming and rendering hierarchical data files
First Claim
1. A computer-readable medium comprising computer-executable instructions that perform the following when executed by a computer:
- producing a first rendering file of a hierarchical data file by applying a full transformation file on the hierarchical data file;
rendering the first rendering file to show a rendered form;
enabling a user to input data into a first node of the hierarchical data file through the rendered form;
changing the hierarchical data file by retaining the data in the first node of the hierarchical data file;
determining whether applying a partial transformation file on the changed hierarchical data file will produce a third rendering file equivalent to a difference between the first rendering file and a second rendering file created by applying the full transformation file on the changed hierarchical data file;
applying a partial transformation file on the changed hierarchical data file responsive to determining that applying a partial transformation file on the changed hierarchical data file will produce a third rendering file equivalent to the difference; and
enabling the user to input data into a second node of the hierarchical data file.
2 Assignments
0 Petitions
Accused Products
Abstract
This document describes a system and method that incrementally transforms and renders changes to a hierarchical data file. This system and method allows a user to incrementally see changes that the user has made to the hierarchical data file through entry of data in a rendered form. A hierarchical data processing engine may perform partial transformations of data files and produce partial rendering files of changes made to data files. By so doing, the hierarchical data processing engine improves a user'"'"'s editing experience by allowing for quicker updating of the rendered form being edited by the user.
-
Citations
53 Claims
-
1. A computer-readable medium comprising computer-executable instructions that perform the following when executed by a computer:
-
producing a first rendering file of a hierarchical data file by applying a full transformation file on the hierarchical data file; rendering the first rendering file to show a rendered form; enabling a user to input data into a first node of the hierarchical data file through the rendered form; changing the hierarchical data file by retaining the data in the first node of the hierarchical data file; determining whether applying a partial transformation file on the changed hierarchical data file will produce a third rendering file equivalent to a difference between the first rendering file and a second rendering file created by applying the full transformation file on the changed hierarchical data file; applying a partial transformation file on the changed hierarchical data file responsive to determining that applying a partial transformation file on the changed hierarchical data file will produce a third rendering file equivalent to the difference; and enabling the user to input data into a second node of the hierarchical data file. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A computer-readable medium comprising computer-executable instructions that perform the following when executed by a computer:
-
applying a transformation file on a hierarchical data file to produce a first rendering file; rendering the first rendering file to produce a rendered form; enabling a user to input data into a first node of the hierarchical data file through the rendered form; changing the hierarchical data file by retaining the data in the first node of the hierarchical data file; applying the transformation file on the changed hierarchical data file to produce a second rendering file; determining a difference between the first rendering file and the second rendering file; attempting to map the difference on the first rendering file; producing a third rendering file, the third rendering file comprising a partial rendering file based on the difference if the map is successful and comprising a full rendering file if the map is not successful; rendering the third rendering file to update the rendered form; and enabling the user to input data into a second node of the hierarchical data file through the updated rendered form. - View Dependent Claims (10, 11, 12, 13)
-
-
14. A method comprising:
-
producing a first rendering file of a hierarchical data file having first and second nodes by applying a full transformation file on the hierarchical data file; rendering the first rendering file to show a rendered form having a first data-entry field associated with the first node of the hierarchical data file and a second data-entry field associated with the second node of the hierarchical data file; enabling a user to input data into the first data-entry field; changing the hierarchical data file by retaining the data in the first node of the hierarchical data file; determining whether applying a partial transformation file on the changed hierarchical data file will produce a rendering file equivalent to a difference between the first rendering file and a second rendering file created by applying the full transformation on the changed hierarchical data file; producing a third rendering file of the changed hierarchical data file, the third rendering file comprising a partial rendering file based on the difference if it is determined that applying a partial transformation file on the changed hierarchical data file will produce a rendering file equivalent to the difference and the third rendering file comprising a full rendering file if it is determined that applying a partial transformation file on the changed hierarchical data file will not produce a rendering file equivalent to the difference; rendering the third rendering file to show a second rendered form reflecting the change to the hierarchical data file; and enabling the user to input data into the second data-entry field. - View Dependent Claims (15, 16, 17, 18)
-
-
19. A method comprising:
-
applying a transformation file on a hierarchical data file having first and second nodes to produce a first rendering file; rendering the first rendering file to show a rendered form having a first data-entry field associated with the first node of the hierarchical data file and a second data-entry field associated with the second node of the hierarchical data file; enabling a user to input data into the first data-entry field; changing the hierarchical data file by retaining the data in the first node of the hierarchical data file; applying the transformation file on the changed hierarchical data file to produce a second rendering file; determining a difference between the first rendering file and the second rendering file; attempting to map the difference on the first rendering file; producing a third rendering file, the third rendering file comprising a partial rendering file based on the difference if the map is successful and comprising a full rendering file if the map is not successful; rendering the third rendering file to show a second rendered form reflecting the change to the hierarchical data file; and enabling the user to input data into the second data-entry field. - View Dependent Claims (20, 21, 22, 23, 24)
-
-
25. A method comprising:
-
producing a first rendering file of a hierarchical data file; changing a node of the hierarchical data file, thereby making a part of the first rendering file out-of-date with respect to the changed node of the hierarchical data file; producing an interim rendering file by applying an XSLT transformation file on the changed hierarchical data file; determining a difference between the interim rendering file and the first rendering file; attempting to map the difference to the out-of-date part of the first rendering file; and producing a partial rendering file based on the difference if the map is successful and producing a full rendering file if the map is not successful. - View Dependent Claims (26, 27, 28, 29)
-
-
30. A method comprising:
-
analyzing a subtree of transformation-file nodes of a transformation file to determine if a hierarchical data file can be accurately transformed for possible changes to a data-file node of the hierarchical data file by applying the subtree of transformation-file nodes on a subtree of data-file nodes including the data-file node; changing data in the data file node of the hierarchical data file; and transforming the subtree of data-file nodes including the data-file node by applying the subtree of transformation-file nodes on the subtree of data-file nodes including the data-file node, wherein the transforming the subtree of the data-file nodes produces a second rendering file identical to a difference between a first rendering file produced by applying all of the transformation file on all of the hierarchical data file before the change to the data-file node and a third rendering file produced by applying all of the transformation file on all of the hierarchical data file after the change to the data-file node. - View Dependent Claims (31, 32, 33)
-
-
34. A method comprising:
-
applying a full transformation file on a hierarchical data file containing a node, thereby producing a first rendering file; determining one or more elements of the rendering file that can change for possible changes of the node; changing the hierarchical data file by changing the node; creating a second rendering file by applying a full transformation file on the changed hierarchical data file; determining a difference between the first rendering file and the second rendering file; attempting to map the difference on the first rendering file; and producing a third rendering file, the third rendering file comprising a partial rendering file based on the difference if the map is successful and comprising a full rendering file if the map is not successful. - View Dependent Claims (35, 36, 37)
-
-
38. A method comprising:
-
applying a transformation file on a hierarchical data file containing a node to produce a first result; applying a transformation file subtree of the transformation file on a data file subtree containing the node of the hierarchical data file for a range of possible changes to the node to produce a second result; applying the transformation file on the hierarchical data file with the node having the range of possible changes to produce a third result; determining if the first result in conjunction with the second result is equal to the third result; and recording the data file subtree of the hierarchical data file to be isolatable if the determining is true. - View Dependent Claims (39, 40, 41)
-
-
42. A method comprising:
-
determining, for a change to a node of a hierarchical data file subtree, whether applying a partial transformation file subtree corresponding to the hierarchical data file subtree will produce a third rendering file equivalent to a difference between a first rendering file created by applying a full transformation file on a full hierarchical data file prior to the change to the node and a second rendering file created by applying the full transformation file on the full hierarchical data file after the change to the node; and producing the third rendering file by applying a partial transformation file when it is determined that applying a partial transformation file on the changed hierarchical data file will produce a third rendering file equivalent to the difference. - View Dependent Claims (43, 44, 45)
-
-
46. A method comprising:
-
applying a transformation file on a hierarchical data file containing a node, thereby producing a first rendering file; changing data within the node, thereby changing the hierarchical data file; applying the transformation file on the changed hierarchical data file thereby producing a second rendering file; determining a difference between the first rendering file and the second rendering file; and integrating the difference into the first rendering file to produce a third rendering file equal to the second rendering file. - View Dependent Claims (47, 48, 49, 50, 51, 52)
-
-
53. An apparatus comprising:
-
means for producing a first rendering file of a hierarchical data file; means for rendering the first rendering file to show a rendered form; means for enabling a user to input data into a first node of the hierarchical data file; means for storing the data in the first node of the hierarchical data file; means for determining whether applying a partial transformation file on the hierarchical data file after data is stored in the first node file will produce a third rendering file equivalent to a difference between the first rendering file and a second rendering file created by applying a full transformation file on the changed hierarchical data file after data is stored in the first node; means for applying a partial transformation file on the hierarchical data file after data is stored in the first node to produce the third rendering file when it is determined that applying a partial transformation file on the changed hierarchical data file will produce a third rendering file equivalent to the difference; means for accurately viewing the change in the hierarchical data file in the rendered form by rendering the third rendering file; and means for enabling the user to input data into a second node of the hierarchical data file.
-
Specification