xml-general mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Christopher R Newman <christopher.new...@alcatel.com>
Subject Re: XML differencing anyone?
Date Tue, 05 Apr 2005 17:56:05 GMT
Oops, forgot to add my list of XML differencing apps:
##### Perl modules #####
XML::SemanticDiff:  http://search.cpan.org/dist/XML-SemanticDiff/
+ open source license
+ provides a list of changes as a Perl data structure and it's up to you 
to output them how you like.  If you don't like something about it, you 
can write
a class similiar to XML::SemanticDiff::BasicHandler to change things.
- order of elements is ignored
- In mixed content, all text nodes treated as a single value.
- Leading/trailing whitespace always stripped, even in mixed content.
- Whitespace always normalized, even in text nodes.

XML::Diff:  http://search.cpan.org/dist/XML-Diff/
+ open source license
- Only compares elements, attrs, and text nodes

XML::DifferenceMarkup:  http://search.cpan.org/dist/XML-DifferenceMarkup/
+ open source license
- produces more of a maximal delta

xmldiff.pl/xmlpp.pl:  http://software.decisionsoft.com/tools.html
+ open source license
? no delta output
???

diffmk:
- can't find.  also ported to Java

##### Python #####
xmldiff:  http://www.logilab.org/projects/xmldiff/
+ open source license
? limited to internal memory
? errors due to coalescing text nodes
+ XUpdate output

##### Java-based #####
Microsoft xmldiff:  http://apps.gotdotnet.com/xmltools/xmldiff/
- commercial license = ???
+ compact and logical XML diff output

IBM/Alphaworks diff&merge tool:  
http://www.alphaworks.ibm.com/tech/xmldiffmerge
- commercial license = $1000+
- no delta output

IBM/Alphaworks xml treediff:  http://alphaworks.ibm.com/tech/xmltreediff
- commercial license?
+ FUL or XUL output

diffxml:  http://diffxml.sourceforge.net/
+ open source license
- being reworked
- a little verbose

diffmk:  http://nwalsh.com/java/diffmk/
+ open source license
? no delta output
? must write config file per DTD

VM Tools:  http://www.vmsystems.net/vmtools/
+ open source license
- no provision for dealing with small differences in *huge* CDATA sections
? reportedly bad output

3DM:  http://www.cs.hut.fi/~ctl/3dm/
+ open source license
- maximal delta
+ 3-way merge capability

XOperator:  http://www.living-pages.de/de/projects/xop/
- commercial license

Versim Differencing Toolkit:  http://www.versim.com/products_overview.htm
- commercial license = $500+

##### Unknown/other #####
Delta XML:  http://www.deltaxml.com/
- commercial license = $5000+
+ output delta or tagged input
+ minimal delta

VERSO XyDiff:  http://pauillac.inria.fr/cdrom/www/xydiff/index-eng.htm
+ open source license
- non-optimal delta
+ uses Apache Xerces C++ parser
+ fast algorithm

linear time treediff:  http://www.cs.ucl.ac.uk/staff/c.nentwich/treediff/
+ open source license
- non-optimal delta
+ fast linear time diff

##### Not useful #####
Dommitt diff&merge tool:  http://www.dommitt.com/
- commercial license?
- no delta output
- unordered XML differencing

X-diff:  http://www.cs.wisc.edu/~yuanwang/xdiff.html
- unordered XML differencing

XMLUnit:  http://xmlunit.sourceforge.net/
- unuseable output (plain English)

##### End #####

Comments?  Let me know!

Chris

Christopher R Newman wrote:

> So are you trying to do the XML differencing on an Apache server like 
> I am?
>
> Well, I've been running in circles looking at this stuff so I started 
> a list of all the XML differencing apps that I've come across.  I 
> tried to list each app with a URL, a license type, and 
> positives/negatives about it.  '?' means I'm not quite sure.  If 
> anyone has any additions or corrections, I'd be glad to hear it!
>
> Chris
>
> kkress@lkwd.com wrote:
>
>> Christopher,
>>
>> It was weird synchronicity seeing this topic come up. I had just 
>> started looking at XML diff software and found the usual
>> suspects: the IBM one (xmldiff), the SourceForge one (diffxml),
>> a Python module (xmldiff) and the Microsoft one (xmldiffpatch).
>>
>> My interest is in exposing changes in web services by providing
>> a diff of the WSDL.
>>
>> I haven't gotten very far down the road. what I've learned:
>>
>> - naive diff is no good because hierarchical data can take many
>>   equivalent forms
>> - There is no standard diff format, so those who implement
>>   it also usually write their own patch.
>> - There are visual diffs, but I haven't gotten any of them
>>   to work.
>> - The diff applications differ in complexity; the most complex
>>   will compare node names to attributes, etc., in trying
>>   to make a match. And to make this work, the app generally
>>   builds a DOM ... which limits the size of the documents
>>   it can compare.
>>
>> I don't know if that's helpful or not ...
>>
>> Here are links to the xml diffs I found:
>>
>> IBM: http://www.alphaworks.ibm.com/tech/xmldiffmerge
>> SourceForge: http://diffxml.sourceforge.net/downloads.html
>> Python: http://www.logilab.org/projects/xmldiff/
>> Microsoft: http://apps.gotdotnet.com/xmltools/xmldiff/
>>
>> --                                                             --
>> Ken Kress
>> Information Technology
>> Lockwood®
>> 10 Valley Stream Parkway
>> Malvern, PA 19355
>> Phone: (484) 605-4834
>> Fax: (484) 595-5700
>> Email: kkress@lkwd.com
>>
>>  
>>
>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: general-unsubscribe@xml.apache.org
> For additional commands, e-mail: general-help@xml.apache.org
>

-- 
======================================================================
Chris Newman       Alcatel USA          Work:(919)850-5586
Software Engineer  2301 Sugar Bush Rd.  Fax:(919)850-6160
Test Automation    Raleigh, NC 27601    Christopher.Newman@alcatel.com
======================================================================




---------------------------------------------------------------------
To unsubscribe, e-mail: general-unsubscribe@xml.apache.org
For additional commands, e-mail: general-help@xml.apache.org


Mime
View raw message