diffxml & patchxml: Tools for comparing and patching XML files.

The standard Unix tools diff and patch are used to find the differences between text files and to apply the differences. These tools operate on a line by line basis using well-studied methods for computing the longest common subsequence (LCS).

Using these tools on hierarchically structured data (XML etc) leads to sub-optimal results, as they are incapable of recognizing the tree-based structure of these files.

This project aims to provide Open Source XML diff and patch utilities which operate on the hierarchical structure of XML documents.


16 May 2013 - Proposed move to Apache2 license
As part of restarting the project, I intend to relicense the project as Apache2 next month. As it stands, all code committed to the project so far has been written by myself, so I don't believe there are any copyright issues to address. However, if anyone is opposed to this change, please let me know immediately.

The project will probably also move to github at the same time, leaving the last GPL2 version of the code here.

11 May 2009 - Why use diffxml?
An article on Feeding the Bit Bucket explains why diffxml is better than line-based tools such as diff and patch for comparing XML documents.

05 May 2009 - New Release
Version 0.95 Beta has just been released. This version has minor improvements to the package, scripts and documentation.

11 April 2009 - New Release
Version 0.94 Beta has just been released. This version has major bug fixes and scripts for running on Windows.

09 March 2005 - Developers use CVS
Anyone looking at the codebase is strongly recommended to look at the CVS repisitory. It contains major refactorings over the last release and some bugfixes.

A new release of diffxml can be expected soon.

18 January 2004 - New Release.
Version 0.92A has just been released. This release contains major structural changes to the code base and an Ant build file.

19 May 2003 - Website Updated.
The website has be revamped so it looks reasonable and is easier to navigate.

The much promised update will be here soon.

One of the problems has been that the original diffxml code was the first program I wrote in Java, hence it doesn't follow many OO principles and is in need of a major refactor.

Recently I've been studying Martin Fowler's Refactoring book and a Design Patterns book, so I have a much better feel for good OO code.
Anyway, the codebase will be updated soon.

Get XML differencing and patching tools at SourceForge.net. Fast, secure and Free Open Source software downloads