An Efficient Similarity-based Approach for Comparing XML Documents. Oliveira, A., Tessarolli, G., Ghiotto, G., Pinto, B., Campello, F., Marques, M., Oliveira, C., Rodrigues, I., Kalinowski, M., Souza, U., Murta, L., & Braganholo, V. Information Systems, 78:40-57, 2018.
An Efficient Similarity-based Approach for Comparing XML Documents [pdf]Author version  doi  abstract   bibtex   1 download  
XML documents are widely used to interchange information among heterogeneous systems, ranging from office applications to scientific experiments. Independently of the domain, XML documents may evolve over time, so identifying and understanding the changes they undergo becomes crucial. Some syntactic-based diff approaches have been proposed to address this problem. They are mainly designed to compare revisions of XML documents using explicit IDs to match elements. However, elements in different revisions may not share IDs due to tool incompatibility or even divergent or missing schemas. In this paper, we present Phoenix, a similarity-based approach for comparing revisions of XML documents that does not rely on explicit IDs. Phoenix uses dynamic programming and optimization algorithms to compare different features (e.g., element name, attributes, content, and sub-elements) of XML documents and calculate the similarity degree between them. We compared Phoenix with X-Diff and XyDiff, two state-of-the-art XML diff algorithms. XyDiff was the fastest approach, but failed in providing precise matching results. X-Diff presented higher efficacy in 30 of the 56 scenarios, but was slow. Phoenix performed in a fraction of the running time required by X-Diff, and achieved the best results in terms of efficacy in 26 of 56 tested scenarios. In our evaluations Phoenix was by far the most efficient approach to match elements across revisions of the same XML document.

Downloads: 1