xsl-list
[Top] [All Lists]

RE: [xsl] Diffing XML

2012-10-24 08:48:44
Thanks Michael,

Thanks for the response. Yes, I'm thinking doing it entirely myself might a bit 
too ambitious. The data is relatively stable at this point and gets updated 
once a month which should theoretically reduce the number of things to check 
for each time. But even so, I can tell diffing is an art.

DeltaXML does seem to offer some interesting options and it could probably be 
integrated into our CMS (given a chisel and a mallet - the CMS is getting a bit 
old), but I don't think we have any budget to buy another tool and it sounds as 
if the users have some very specific requirements (like exporting the list of 
user-friendly differences to an Excel spreadsheet!). So I was looking for ideas 
about how to tackle the problem just in case I do indeed need to implement it!

Emma


-----Original Message-----
From: Michael Kay [mailto:mike(_at_)saxonica(_dot_)com]
Sent: 24 October 2012 11:48
To: xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com
Subject: Re: [xsl] Diffing XML

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
______________________________________________________________________

--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: 
<mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--




--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--


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

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

--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--


<Prev in Thread] Current Thread [Next in Thread>