HTML/XML tree synchronization
First Claim
1. A method comprising:
- using a first application to render a first view of a document;
using a second application to render a second view of the document;
receiving through the first application, a user-submitted modification to the first view of the document;
performing a modification to a first data structure associated with the first view of the document, the modification being based on the user-submitted modification;
generating a change log that represents the modification to the first data structure;
applying the change log to a second data structure, the second data structure being associated with the second view of the document such that the second data structure is modified like the first data structure was modified; and
refreshing the second view of the document so that the second view of the document is a visual representation of the modified second data structure.
2 Assignments
0 Petitions
Accused Products
Abstract
The HTML/XML tree synchronization module synchronizes a document with a view or multiple views, after a change has been made to the document. First, the tree synchronization module receives a document change from an application program. An update processor converts the tree data of the document to a character string, and receives document change information from one or more application program interfaces. The update processor utilizes the document change information to update the document tree data character string. The document change information is then sent to one or more application program interfaces to determine the scope and content of the document views. A log generator receives the view change information, and creates record logs for each changed document view. These logs are played by a log player to each view, and each view data tree is updated with the view changes contained in the change logs. The tree synchronization module sends the subsequent view changes to the application program to update the display views.
-
Citations
27 Claims
-
1. A method comprising:
-
using a first application to render a first view of a document;
using a second application to render a second view of the document;
receiving through the first application, a user-submitted modification to the first view of the document;
performing a modification to a first data structure associated with the first view of the document, the modification being based on the user-submitted modification;
generating a change log that represents the modification to the first data structure;
applying the change log to a second data structure, the second data structure being associated with the second view of the document such that the second data structure is modified like the first data structure was modified; and
refreshing the second view of the document so that the second view of the document is a visual representation of the modified second data structure. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23)
recording a content of the modification; and
recording a unique, logical location of the modification within the first data structure.
-
-
3. The method as recited in claim 1, wherein the generating a change log comprises:
-
generating a string of characters representing data associated with the document and unique, logical positions within the first data structure;
determining a scope of changes made to the string of characters;
determining a root character in the string of characters; and
generating a change log containing document changes beginning with the root character.
-
-
4. The method as recited in claim 3, further comprising generating multiple change logs based on the root character in the string of characters.
-
5. The method as recited in claim 3, wherein the generating a string of characters comprises identifying individual specific logical positions in the first data structure with a numeric integer.
-
6. The method as recited in claim 1 wherein the applying the change log to a second data structure comprises:
-
detecting a trigger event; and
in response to detecting the trigger event, playing the change log.
-
-
7. The method as recited in claim 6, wherein the trigger event comprises detection of available processing time of a processing unit.
-
8. The method as recited in claim 6, wherein the trigger event comprises detection of a user-submitted request to render the second view of the particular document.
-
9. The method as recited in claim 6, wherein the trigger event comprises detection of a request to refresh the second view of the particular document.
-
10. The method as recited in claim 1 wherein the second data structure is modified in the same way the that the first data structure was modified.
-
11. The method as recited in claim 1 wherein the first and second data structures are tree data structures.
-
12. The method as recited in claim 1 wherein the document comprises an XML document.
-
13. The method as recited in claim 1 wherein the document comprises an HTML document.
-
14. The method as recited in claim 1 wherein the first application comprises a word processing application.
-
15. The method as recited in claim 1 wherein the first application comprises a document editing application.
-
16. The method as recited in claim 1 wherein the second application comprises an Internet browser application.
-
17. The method as recited in claim 1 wherein the second application comprises a second instance of the first application.
-
18. The method as recited in claim 1 wherein:
-
the first application comprises a document editing application; and
the second application comprises a document rendering application.
-
-
19. The method as recited in claim 1 wherein the user-submitted modification comprises an addition of formatting data.
-
20. The method as recited in claim 1 wherein the user-submitted modification comprises a modification of formatting data.
-
21. The method as recited in claim 1 wherein the user-submitted modification comprises an addition of textual data.
-
22. The method as recited in claim 1 wherein the user-submitted modification comprises a modification of textual data.
-
23. One or more computer-readable media comprising computer executable instructions that, when executed, direct a computing system to perform the method as recited in claim 1.
-
24. A system comprising:
-
a first application program configured to;
generate a first view of a document; and
receive a data modification associated with the first view of the document;
a second application program configured to generate a second view of the document; and
a tree synchronization utility configured to;
receive the data modification from the first application program;
generate a string of characters representing data associated with the document as stored in a first data structure associated with the first view of the document;
generate change information representing the data modification;
update the first data structure based on the change information;
generate a change log for the second view of the document based on the change information and the string of characters;
update a second data structure associated with the second view of the document; and
refresh the second view of the document to reflect the update to the second data structure. - View Dependent Claims (25, 26)
the first application comprises a document editing application; and
the second application comprises a document rendering application.
-
-
27. One or more computer-readable media comprising computer executable instructions that, when executed, direct a computing system to:
-
render a first view of a document using a first application program, the first view of the document being an editable representation of a first instance of a tree data structure associated with the document;
render a second view of the document using a second application program, the second view of the document being a representation of a second instance of the tree data structure associated with the document;
receiving an edit to the first view of the document;
modifying the first instance of the tree data structure based on the edit to the first view of the document;
generating a change log based on the edit to the first instance of the tree data structure;
using the change log to modify the second instance of the tree data structure; and
refreshing the second view of the document such that the second view of the document comprises a representation of the second instance of the tree data structure after the second instance of the tree data structure is modified.
-
Specification