| # XMLmind XML Editor - Online Help |

## 1. Comparison with other approaches

| Generic XML Differencing Tool | XMLmind Compare Tool | Change Tracking
--- | --- | --- | ---
Main function | Show what has been changed. | Show what has been changed. Inserting remarks in a revision allows to specify by whom, when and why. | Show how changes have been made, by whom, when and possibly why.
How does it work? | Compare two arbitrary XML files. | Compare two revisions of the same initial document (in which change detection has been activated). | Record insertions and deletions in the revised document, typically in the form of proprietary processing-instructions.
Needs to be activated for a given document | No. | Yes. | Yes.
Performance penalty when loading and saving the document | No. | Not significant. | Possibly yes, when the number of changes becomes large.
Performance penalty when editing the document | No. | No. | Possibly yes, when the number of changes becomes large.
Increases the size of the revised document | No. | Yes. The increase in size depends on the number of elements contained in the document. See Section 2, “Elements are given serial numbers”. | Yes. The increase in size depends on the number of changes made to the document.
Detects all changes | Highly depends on the quality of the underlying algorithm. Yes, for some algorithms. | Yes. | No, cannot handle attributes.
Allows to accept or reject one or more changes | Yes. | Yes. | Yes.
Validity of the document after accepting or rejecting one or more changes | Well-formed, may be valid. | Well-formed. In practice, generally valid. | Valid.

See also: "Approaches to change tracking in XML" by Robin La Fontaine.