C
CJ
What:
This tool helps create scripts to migrate XML data from one version of
an XML schema to a later
version of the same schema. The tool creates these scripts by
differencing XSD files and emitting
XSLT 2.0 to automatically migrate XML data.
Where:
https://sourceforge.net/projects/xsdevolver/
Background:
The company I work for sells a shrink-wrapped application where we
save a workbook in an XML format according to a specified XSD schema.
Over time, we expect the format of this schema to change. We wanted a
way to help us diff schema versions as they evolve over time and
generate initial XSLT to migrate data from older versions of the
schema to newer versions of the schema.
Details:
Usage:
XMLSchemaEvolver SchemaVersion1.xsd SchemaVersion2.xsd
Output:
1. A schema diff showing what elements have been changed
2. XSLT to translate XML data from SchemaVersion1 to
SchemaVersion2
How does it work?
The basic idea is this:
1) Do a diff of two xml schema (xsd) files.
2) Each change is classified as an INSERT, DELETE, MOVE or RENAME
operation.
3) For each of these operations, emit simple XSLT to carry out
the desired data change.
4) These data change operations are modeled after a set of
standard XSLT operations suggested by
Jesper Tverskov in XSLT Transformation Patterns. A full list
of the transformations emitted by our
code can be found XSLT Transformations.txt in the
documentation folder.
This tool helps create scripts to migrate XML data from one version of
an XML schema to a later
version of the same schema. The tool creates these scripts by
differencing XSD files and emitting
XSLT 2.0 to automatically migrate XML data.
Where:
https://sourceforge.net/projects/xsdevolver/
Background:
The company I work for sells a shrink-wrapped application where we
save a workbook in an XML format according to a specified XSD schema.
Over time, we expect the format of this schema to change. We wanted a
way to help us diff schema versions as they evolve over time and
generate initial XSLT to migrate data from older versions of the
schema to newer versions of the schema.
Details:
Usage:
XMLSchemaEvolver SchemaVersion1.xsd SchemaVersion2.xsd
Output:
1. A schema diff showing what elements have been changed
2. XSLT to translate XML data from SchemaVersion1 to
SchemaVersion2
How does it work?
The basic idea is this:
1) Do a diff of two xml schema (xsd) files.
2) Each change is classified as an INSERT, DELETE, MOVE or RENAME
operation.
3) For each of these operations, emit simple XSLT to carry out
the desired data change.
4) These data change operations are modeled after a set of
standard XSLT operations suggested by
Jesper Tverskov in XSLT Transformation Patterns. A full list
of the transformations emitted by our
code can be found XSLT Transformations.txt in the
documentation folder.