- About Scala
- Documentation
- Code Examples
- Software
- Scala Developers
XML Zebra, a path-based tool for generating diff fingerprints for XML Schemas
Sun, 2010-01-17, 17:15
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
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.
Thu, 2010-03-25, 23:37
#2
Re: XML Zebra, a path-based tool for generating diff fingerprint
Version 1.0-pre-3 of XML Zebra is now available. It adds the ability to
select which global elements are used as root elements. See
https://launchpad.net/xmlzebra/+announcement/5454
Cheers, Tony.
On Sat, 06 Feb 2010 22:31:04 -0000, Anthony B. Coates (Londata)
wrote:
> Version 1.0-pre-2 of XML Zebra is now available. It adds support for
> substitution groups, and you can now set namespace prefixes via the
> command line.
>
> https://launchpad.net/xmlzebra/+announcement/5072
>
> Cheers, Tony.
>
> On Sun, 17 Jan 2010 16:15:07 -0000, Anthony B. Coates (Londata)
> wrote:
>
>> 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.
>
>
Version 1.0-pre-2 of XML Zebra is now available. It adds support for
substitution groups, and you can now set namespace prefixes via the
command line.
https://launchpad.net/xmlzebra/+announcement/5072
Cheers, Tony.
On Sun, 17 Jan 2010 16:15:07 -0000, Anthony B. Coates (Londata)
wrote:
> 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.