Re: [xsl] Diffing XML

Subject: Re: [xsl] Diffing XML
From: Michael Kay <mike@xxxxxxxxxxxx>
Date: Wed, 24 Oct 2012 11:48:06 +0100
In general differencing well is quite a challenge, e.g. handling an arbitrary number of inserted elements in either document, addition or removal of "div" layers, combining/splitting of paragraphs, reformatted indentation, etc. Doing it better than a general-purpose product such as DeltaXML could turn out to be a project that will keep you busy for a while.

Michael Kay
Saxonica

On 24/10/2012 11:36, Emma Burrows wrote:
I have a requirement to produce an end-user-readable "checklist" of all the places where an XML file has changed since the last version, with custom explanations of what each difference is. I'm able to run diffs which are fine for my own purposes, but the end users need the differences spelled out more precisely in plain language (eg: "there is an extra paragraph here", "the text 'xyz' has changed", "the attribute 'audience' has been changed to 'book'" etc).

Being an XSLT developer, I'm thinking of using an XSLT stylesheet to work on the "new" version of the file, document() in the "old" version, and then compare the nodes in the "new" version to those in the "old" version, generating appropriate messages into an HTML output as I go along.

Does that sound like a reasonable approach? Are there existing tools or examples that might do what I'm after? Any recommendations on the best way of comparing individual nodes? I am planning to do this in Oxygen 14 so the world is my oyster as far as XSLT is concerned. :)

Just looking for general suggestions to point me in the right direction. Thanks!


______________________________________________________________________ This email has been scanned by the Symantec Email Security.cloud service. For more information please visit http://www.symanteccloud.com ______________________________________________________________________

Current Thread