Robust modification of persistent objects while preserving formatting and other attributes
First Claim
1. A method for preserving attributes of original objects in a file when the file is opened in a different environment than that in which the file was originally created, comprising the steps of:
- (a) defining a set of preservation rules defining how objects and associated attributes are to be preserved in the different environment;
(b) temporarily storing attributes of any original objects included in the file when the file is opened in the different editing environment in a manner that links each object to any associated attributes;
(c) enabling changes to be made to the file, said changes being temporarily stored in the different editing environment; and
(d) writing a revised file to a temporary file and/or a persistent medium, said revised file including the original objects and their associated attributes, and any new object and any attributes associated with said any new object resulting from changes made to the file, said file preserving the attributes of the original objects remaining in the revised file based on preservation rules corresponding to the original objects and their attributes.
3 Assignments
0 Petitions
Accused Products
Abstract
Attributes of objects within a file that was created in a different environment from that in which the file is opened are preserved, enabling the attributes to be maintained after the file is saved. For example, an HTML document created with a text editor includes objects such as plain text and HTML tags with which attributes such as whitespace, line breaks, and indent level are associated. When such a document is opened in an HTML editor implementing the present invention, the attributes of these objects are preserved. Even when changes to these objects occur, to the extent possible, attributes of objects that were in the document as originally opened in the HTML editor are determined, so that these attributes can be applied to related objects that are added to the document or in regard to changes that are made by the user. The preservation of persistent object attributes is also applicable to other types of software applications such as language development systems and word processing programs. This invention thus insures, for example, that functions developed in newer versions of a program, although not recognized in an earlier version, persist when a file is opened in the earlier version and then saved.
-
Citations
32 Claims
-
1. A method for preserving attributes of original objects in a file when the file is opened in a different environment than that in which the file was originally created, comprising the steps of:
-
(a) defining a set of preservation rules defining how objects and associated attributes are to be preserved in the different environment;
(b) temporarily storing attributes of any original objects included in the file when the file is opened in the different editing environment in a manner that links each object to any associated attributes;
(c) enabling changes to be made to the file, said changes being temporarily stored in the different editing environment; and
(d) writing a revised file to a temporary file and/or a persistent medium, said revised file including the original objects and their associated attributes, and any new object and any attributes associated with said any new object resulting from changes made to the file, said file preserving the attributes of the original objects remaining in the revised file based on preservation rules corresponding to the original objects and their attributes. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13)
(a) identifying any omitted objects in the markup language document that are implicitly added by the browser to produce the display page; and
(b) leaving omitted the original objects that are identified as omitted objects in the revised file, unless omission of one or more of such omitted objects would cause the display page to appear differently than if said one or more of omitted objects were present in the revised file, and, if so, explicitly adding said one or more omitted objects to the revised file.
-
-
13. A computer-readable medium having computer-executable instructions for performing the steps recited in claim 1.
-
14. A method for preserving attributes of original elements in a document written in a programming language when the document is opened in a different environment than that in which the document was originally created, comprising the steps of:
-
(a) parsing the document to identify each original element and its associated attributes and temporarily storing information concerning each original element that is identified and its associated attributes, when the document is opened in the different environment;
(b) enabling changes to be made to the document, including adding new, elements and any attributes corresponding to the new elements to the document, said changes being temporarily stored in the different environment;
(c) merging the attributes of any new elements added by the changes made to the document with the attributes of the original elements, to produce an internal representation of a revised document; and
(d) saving the revised document to a temporary file and/or in a persistent format, said revised document being saved so as to preserve the attributes of the original elements and so as to include any new elements and corresponding attributes that were added in accord with any changes made to the document. - View Dependent Claims (15, 16, 17, 18, 19, 20, 21, 22, 23, 24)
(a) determining the attributes of specific original elements when the document was opened; and
(b) applying attributes for any related new elements that are added to the document while the document is changed, so that the attributes of the related new elements are consistent with the attributes of the specific original elements.
-
-
21. The method of claim 14, wherein the step of saving the document comprises the steps of:
-
(a) defining a set of preservation rules defining how different elements and attributes associated with those different elements are to be preserved upon saving the document; and
(b) writing each element in the document and any attributes associated with the element to the document when it is saved based upon any preservation rules that are applicable to the element and/or to its associated attributes.
-
-
22. The method of claim 14, wherein the document is written in a markup programming language that enables the document to be rendered by a browser, and wherein elements in the document include text entries having whitespace attributes, further comprising the step of removing a whitespace attribute that is associated with a specific text entry so that the specific text entry and any elements related to the specific text entry are arranged in accordance with a predefined stylistic format, so long as removal of the whitespace attribute does not alter how the document is rendered by the browser.
-
23. The method of claim 14, wherein the document is written in a markup programming language and the original elements comprise markup language tags, and further wherein the document is rendered by a browser to produce a display page, further comprising the steps of:
-
(a) identifying any omitted markup language tags in the document that are implicitly added by the browser to produce the display page; and
(b) leaving omitted any omitted markup language tags that are identified in the revised document, unless omission of one or more of such omitted markup language tags would cause the display page to appear differently than if said one or more of omitted markup language tags were present in the revised document, and if so, explicitly adding said one or more omitted markup language tags to the revised document.
-
-
24. A computer-readable medium having computer-executable instructions for performing the steps recited in claim 14.
-
25. A system for preserving attributes of original objects in a file when the file is opened in a different environment than that in which the file was originally created, comprising:
-
(a) a memory adapted to store data and machine instructions, said data including data defining a set of preservation rules corresponding to how various objects and associated attributes are to be preserved in the different environment;
(b) a processor coupled to the memory, said processor controlling storage of the data in the memory and executing the machine instructions to implement a plurality of functions;
(c) a display on which graphics and text are presented to a user in accord with the machine instructions, said display being controlled by the processor; and
(d) a user input device adapted to enable the user to input data and to control the processor, said plurality of functions implemented by the processor including;
(i) temporarily storing attributes of any original objects included in the file when the file is opened in the different editing environment in a manner that links each original object to its associated attributes;
(ii) enabling changes to be made to the file, including adding new objects and any attributes associated with said new objects to the file, said changes being temporarily stored in the different editing environment; and
(iii) writing a revised file to a temporary file and/or a persistent medium, said revised file including the original attributes and their associated attributes and any new objects and attributes associated with said new objects added in accord with any changes made to the file, said revised file preserving the attributes of the original objects remaining in the revised file based on preservation rules from the set that correspond to those original objects and their attributes. - View Dependent Claims (26, 27, 28, 29, 30, 31, 32)
(a) identifying any omitted markup language tags in the file that are implicitly added by the browser to produce the display page; and
(b) leaving omitted any omitted markup language tags that are identified in the revised file, unless omission of one or more of such omitted markup language tags would cause the display page to appear differently than if said one or more of omitted markup language tags were present in the revised file, and if so, explicitly adding said one or more omitted markup language tags to the revised file.
-
Specification