An Efficient Algorithm to Compute Differences between Structured Documents

  • Authors:
  • Kyong-Ho Lee;Yoon-Chul Choy;Sung-Bae Cho

  • Affiliations:
  • IEEE Computer Society;IEEE Computer Society;IEEE Computer Society

  • Venue:
  • IEEE Transactions on Knowledge and Data Engineering
  • Year:
  • 2004

Quantified Score

Hi-index 0.00

Visualization

Abstract

SGML/XML are having a profound impact on data modeling and processing. This paper presents an efficient algorithm to compute differences between old and new versions of an SGML/XML document. The difference between the two versions can be considered to be an edit script that transforms one document tree into another. The proposed algorithm is based on a hybridization of bottom-up and top-down methods: The matching relationships between nodes in the two versions are produced in a bottom-up manner and then the top-down breadth-first search computes an edit script. Faster matching is achieved because the algorithm does not need to investigate the possible existence of matchings for all nodes. Furthermore, it can detect structurally meaningful changes such as the movement and copy of a subtree as well as simple changes to the node itself like insertion, deletion, and update.