XML Zebra is an XML Schema differencing tool that works by creating a "fingerprint" file for a set of Schemas. The "fingerprint" contains paths (like XPaths, but extended with extra information) that define what is allowed in valid XML documents for those Schemas. By comparing versions of the "fingerprint" files, both direct and indirect changes to the allowed XML can be detected between versions of the Schemas.
For more details about XML Zebra, see http://www.xmlzebra.com/.
You can run XML Zebra with either Scala or Java. You can also run it using Apache Ant.
scala -version
bin\xmlzebra.bat -o example\paths.xml
example\xsd
chmod 755
bin/xmlzebra.sh
bin/xmlzebra.sh -o
example/paths.xml example/xsd
java -version
bin\xmlzebra.bat -o example\paths.xml
example\xsd
chmod 755
bin/xmlzebra.sh
bin/xmlzebra.sh -o
example/paths.xml example/xsd
java -version
ant -version
ant -f example/build.xml