Re: XML differencing anyone?
Christopher R Newman <[email protected]>
| Newsgroups | gmane.text.xml.general |
|---|---|
| Message-ID | <[email protected]> |
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 > > [email protected] 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: [email protected] >> >> >> > > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [email protected] > For additional commands, e-mail: [email protected] > -- ====================================================================== Chris Newman Alcatel USA Work:(919)850-5586 Software Engineer 2301 Sugar Bush Rd. Fax:(919)850-6160 Test Automation Raleigh, NC 27601 [email protected] ======================================================================