Identifying and representing changes between extensible markup language (XML) files using symbols with data element indication and direction indication
First Claim
1. A method of identifying one or more differences between a first extensible markup language (XML) file and a second XML file, comprising:
- determining a first plurality of symbols associated with the first XML file, wherein the first plurality of symbols comprises symbols that indicate a first plurality of data elements of the first XML file and a hierarchical arrangement of the first plurality of data elements of the first XML file, and wherein each symbol of the first plurality of symbols indicates a particular data element of the first plurality of data elements and further indicates a direction to arrive at the particular data element of the first plurality of data elements in a particular level of the first hierarchical arrangement;
determining a second plurality of symbols associated with the second XML file, wherein the second plurality of symbols comprises symbols that indicate a second plurality of data elements of the second XML file and a hierarchical arrangement of the second plurality of data elements of the second XML file, and wherein each symbol of the second plurality of symbols indicates a particular data element of the second plurality of data elements and further indicates a direction to arrive at the particular data element of the second plurality of data elements in a particular level of the second hierarchical arrangement;
comparing the first plurality of symbols with the second plurality of symbols;
determining, based on the comparing, a first edit transcript that comprises a first plurality of operational changes that may be applied to at least one of the first plurality of symbols or the second plurality of symbols to arrive at the other of the first plurality of symbols or the second plurality of symbols;
determining, based on the comparing, a second edit transcript that comprises a second plurality of operational changes that may be applied to at least one of the first plurality of symbols or the second plurality of symbols to arrive at the other of the first plurality of symbols or the second plurality of symbols; and
selecting one of the first edit transcript or the second edit transcript as an optimal edit transcript based on whether the first number of operational changes is less than the second number of operational changes.
1 Assignment
0 Petitions
Accused Products
Abstract
This disclosure is directed to techniques for providing comparing first and second XML files to one another. According to these techniques, a computing device (e.g., a version control service executing on the computing device), may be configured generate at least two edit transcripts that each include one or more operational changes that may be applied to data elements of the first XML file to arrive at data elements of the second XML file (or vice versa). The computing device may select at least one optimal edit transcript based on which of the number of operational changes of the at least two edit transcripts.
-
Citations
27 Claims
-
1. A method of identifying one or more differences between a first extensible markup language (XML) file and a second XML file, comprising:
-
determining a first plurality of symbols associated with the first XML file, wherein the first plurality of symbols comprises symbols that indicate a first plurality of data elements of the first XML file and a hierarchical arrangement of the first plurality of data elements of the first XML file, and wherein each symbol of the first plurality of symbols indicates a particular data element of the first plurality of data elements and further indicates a direction to arrive at the particular data element of the first plurality of data elements in a particular level of the first hierarchical arrangement; determining a second plurality of symbols associated with the second XML file, wherein the second plurality of symbols comprises symbols that indicate a second plurality of data elements of the second XML file and a hierarchical arrangement of the second plurality of data elements of the second XML file, and wherein each symbol of the second plurality of symbols indicates a particular data element of the second plurality of data elements and further indicates a direction to arrive at the particular data element of the second plurality of data elements in a particular level of the second hierarchical arrangement; comparing the first plurality of symbols with the second plurality of symbols; determining, based on the comparing, a first edit transcript that comprises a first plurality of operational changes that may be applied to at least one of the first plurality of symbols or the second plurality of symbols to arrive at the other of the first plurality of symbols or the second plurality of symbols; determining, based on the comparing, a second edit transcript that comprises a second plurality of operational changes that may be applied to at least one of the first plurality of symbols or the second plurality of symbols to arrive at the other of the first plurality of symbols or the second plurality of symbols; and selecting one of the first edit transcript or the second edit transcript as an optimal edit transcript based on whether the first number of operational changes is less than the second number of operational changes. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A computer-readable storage medium that stores instructions configured to cause a computing device to:
-
determine a first plurality of symbols associated with a first XML file, wherein the first plurality of symbols comprises symbols that indicate a first plurality of data elements of the first XML file and a hierarchical arrangement of the first plurality of data elements of the first XML file, and wherein each symbol of the first plurality of symbols indicates a particular data element of the first plurality of data elements and further indicates a direction to arrive at the particular data element of the first plurality of data elements in a particular level of the first hierarchical arrangement; determine a second plurality symbols associated with a second XML document, wherein the second plurality of symbols comprises symbols that indicate a second plurality of data elements of the second XML file and a hierarchical arrangement of the second plurality of data elements of the second XML file, and wherein each symbol of the second plurality of symbols indicates a particular data element of the second plurality of data elements and further indicates a direction to arrive at the particular data element of the second plurality of data elements in a particular level of the second hierarchical arrangement; compare the first plurality of symbols with the second plurality of symbols; determine, based on the comparing, a first edit transcript that comprises a first plurality of operational changes that may be applied to at least one of the first plurality of symbols or the second plurality of symbols to arrive at the other of the first plurality of symbols or the second plurality of symbols; determine, based on the comparing, a second edit transcript that comprises a second plurality of operational changes that may be applied to at least one of the first plurality of symbols or the second plurality of symbols to arrive at the other of the first plurality of symbols or the second plurality of symbols; and select one of the first edit transcript or the second edit transcript as an optimal edit transcript based on whether the first number of operational changes is less than the second number of operational changes. - View Dependent Claims (11, 12, 13, 14, 15, 16, 17, 18)
-
-
19. A device, comprising:
-
one or more processors; and a version control service (VCS) configured to; determine a first plurality of symbols associated with the first XML file, wherein the first plurality of symbols comprises symbols that indicate a first plurality of data elements of the first XML file and a hierarchical arrangement of the first plurality of data elements of the first XML file, and wherein each symbol of the first plurality of symbols indicates a particular data element of the first plurality of data elements and further indicates a direction to arrive at the particular data element of the first plurality of data elements in a particular level of the first hierarchical arrangement; determine a second plurality symbols associated with the second XML document, wherein the second plurality of symbols comprises symbols that indicate a second plurality of data elements of the second XML file and a hierarchical arrangement of the second plurality of data elements of the second XML file, and wherein each symbol of the second plurality of symbols indicates a particular data element of the second plurality of data elements and further indicates a direction to arrive at the particular data element of the second plurality of data elements in a particular level of the second hierarchical arrangement; compare the first plurality of symbols with the second plurality of symbols; determine, based on the comparing, a first edit transcript that comprises a first plurality of operational changes that may be applied to at least one of the first plurality of symbols or the second plurality of symbols to arrive at the other of the first plurality of symbols or the second plurality of symbols; determine, based on the comparing, a second edit transcript that comprises a second plurality of operational changes that may be applied to at least one of the first plurality of symbols or the second plurality of symbols to arrive at the other of the first plurality of symbols or the second plurality of symbols; and select one of the first edit transcript or the second edit transcript as an optimal edit transcript based on whether the first number of operational changes is less than the second number of operational changes. - View Dependent Claims (20, 21, 22, 23, 24, 25, 26, 27)
-
Specification