[Date Prev]
| [Thread Prev]
| [Thread Next]
| [Date Next]
--
[Date Index]
| [Thread Index]
XML Zebra, a path-based tool for generating diff fingerprints for XMLSchemas
- From: "Anthony B. Coates \(XML-Dev\)" <abcoatesecure-xmldev@yahoo.co.uk>
- To: "xml-dev List" <xml-dev@lists.xml.org>
- Date: Sun, 17 Jan 2010 16:16:39 -0000
I have written a tool (in Scala) that can be used to check the differences
between versions of a set of W3C XML Schemas. The tool can be run with
Scala, Java, or Apache Ant. The idea is that for each version, you create
a fingerprint file that contains paths (like XPaths, but with an extended
syntax). By comparing the two fingerprint files for two versions, you can
see what has changed between the versions of the Schemas. The tools makes
use of the XMLBeans API for examining the structure of W3C XML Schemas.
How does this differ from just doing diffs of the individual Schema files
themselves? The difference is that the path-based approach shows you not
only what has changed, but also shows all of the places that are directly
or indirectly impacted by the change. Also, the path-based approach
ignores restructurings that don't impact users, like renaming of Schema
types or moving of definitions to a different Schema file. Put another
way, the path-based approach allows you to evaluate how the Schemas have
changed from a user-impact perspective, rather than from a simple
file-change perspective.
The software is open source, released under the Apache licence. For more
details, and to download it, see
http://www.xmlzebra.com/
There will be a presentation about this software at the XML Prague 2010
conference, 13-14 March.
http://www.xmlprague.cz/2010/index.html
Feedback would be very welcome. Thanks,
Cheers, Tony.
--
Anthony B. Coates
Director and CTO
Londata Ltd
abcoates@londata.com
UK: +44 (20) 8816 7700, US: +1 (239) 344 7700
Mobile/Cell: +44 (79) 0543 9026
Skype: abcoates
Data standards participant: genericode, ISO 20022 (ISO 15022 XML),
UN/CEFACT, MDDL, FpML, UBL.
http://www.londata.com/
[Date Prev]
| [Thread Prev]
| [Thread Next]
| [Date Next]
--
[Date Index]
| [Thread Index]