Open albfan opened 9 years ago
Based on this article
http://www.roseindia.net/opensource/xmldiff.php
I have come back to life this projects:
https://github.com/albfan/3dm https://github.com/albfan/diffmk https://github.com/albfan/vmtools https://github.com/albfan/x-diff
there is also a good looking project to test xml output
https://github.com/xmlunit/xmlunit
Hope one of them has the basis for a good xml diffting.
This one too https://github.com/albfan/diffxml
XMLUnit is the way to go here. It has all the options required for allowing you to ignore certain xml attributes. e.g. Ignore attribute order http://xmlunit.sourceforge.net/api/org/custommonkey/xmlunit/XMLUnit.html#setIgnoreAttributeOrder%28boolean%29
You can also implement your own versions.
What does the output have to look like in order for JMeld to display it in the GUI?
By now, diff model is implemented with JMRevision, JMDelta and JMChunk. They represent line changes and word changes
You can see it in action on DiffTree addnodes() function or JMDiff paintDiffs()
It is not a robust implementation (as is line based)
Which branch is that in?
Line based isn't really good enough for XML diff as you can have attributes changing order. e.g. these are technically the same for XML.
<person gender="female" haircolour="blonde">
<firstname>Anna</firstname>
<lastname>Smith</lastname>
</person>
<person haircolour="blonde" gender="female">
<firstname>Anna</firstname>
<lastname>Smith</lastname>
</person>
There are lots of other options needed for XML diff too e.g. ignore child order, namespace, whitespace, comments etc
XmlUnit will also allow you to add your own ignore listeners so you could add one to ignore date time fields for instance. This is a common requirement when trying to reconcile 2 systems where the timestamps are slightly out.
There's no such branch. Here's only the research.
Although weak, that model should support a first approach for xml diff.
See tokenizers avaliable (word, char, syntax) for different results with same model.
Move change can the face on second round.
A rebumped project with working detection of moves -See test suite-
https://github.com/membrane/soa-model
See doc: http://membrane-soa.org/soa-model-doc/1.4/cmd-tool/wsdldiff-tool.htm
It has even integration test with docker
Use https://github.com/albfan/diffxml project