Change detection in hierarchically structured information
SIGMOD '96 Proceedings of the 1996 ACM SIGMOD international conference on Management of data
Linux Journal
A State-of-the-Art Survey on Software Merging
IEEE Transactions on Software Engineering
Detecting Changes in XML Documents
ICDE '02 Proceedings of the 18th International Conference on Data Engineering
A three-way merge for XML documents
Proceedings of the 2004 ACM symposium on Document engineering
diffX: an algorithm to detect changes in multi-version XML documents
CASCON '05 Proceedings of the 2005 conference of the Centre for Advanced Studies on Collaborative research
Fast and simple XML tree differencing by sequence alignment
Proceedings of the 2006 ACM symposium on Document engineering
Merging changes in XML documents using reliable context fingerprints
Proceedings of the eighth ACM symposium on Document engineering
A formal investigation of Diff3
FSTTCS'07 Proceedings of the 27th international conference on Foundations of software technology and theoretical computer science
Flexible support for managing evolving software product lines
Proceedings of the 2nd International Workshop on Product Line Approaches in Software Engineering
Proceedings of the 11th ACM symposium on Document engineering
A generic calculus of XML editing deltas
Proceedings of the 11th ACM symposium on Document engineering
Incremental validation of digital TV applications in nested context language
Proceedings of the 10th European conference on Interactive tv and video
Version aware LibreOffice documents
Proceedings of the 2013 ACM symposium on Document engineering
Introduction to the universal delta model
Proceedings of the 2013 ACM symposium on Document engineering
Hi-index | 0.00 |
XML has become the standard document representation for many popular tools in various domains. When multiple authors collaborate to produce a document, they must be able to work in parallel and periodically merge their efforts into a single work. While there exist a small number of three-way XML merging tools, their performance could be improved in several areas and they lack any form of user interface for resolving conflicts. In this paper, we present an implementation of a three-way XML merge algorithm that is faster, uses less memory and is more precise than existing tools. It uses a specialized versioning tree data structure that supports node identity and change detection. The algorithm applies the traditional three-way merge found in GNU diff3 to the children of changed nodes. The editing operations it supports are addition, deletion, update, and move. A graphical interface for visualizing and resolving conflicts is also provided. An evaluation experiment was conducted comparing the proposed algorithm with three other tools on randomly generated XML data.