Lists Home |
Date Index |
> Say I have a schema for the old document set, and a transformation
> that creates the new schema from the old -- a transformation between
> schemas. This transformation creates the new schema from the old.
> Could I somehow derive a transformation between documents from this
> transformation between schemas?
I think it depends on two things.
First, how are you expressing the transformation from the old schema
to the new one? If that transformation is written in XSLT or another
programming language, then I'd say it would be hard, because unless
your code is extremely formulaic, analyzing code to work out what it
does, and then translating that into what should be done to the
instance documents, is hard. On the other hand, if you create a
declarative language that describes the changes, then transforming
that language into *both* a transformation from schema to schema and
from instance to instance should be possible.
Second, what kind of transformations are involved? Changing the names
of elements in schemas and instances is easy. Mapping conceptual
differences, such as a line-based structure for a postal address onto
a street/city-based structure, is hard: you can articulate it for a
schema (e.g. "replace the content model (line+) with the content model
(houseNo, street, city)"), but that schema to schema mapping tells you
nothing about how existing data needs to be mapped into the new
I'm working on a project at the moment which addresses a similar
problem. We have a single conceptual model that's mapped (through a
declarative mapping language) to multiple markup languages (which
might use different naming schemes, attributes rather than elements,
different ways of expressing lists and so on). The schemas for the
different markup languages are automatically generated based on the
conceptual model and the mappings. We're hoping to also be able to
automatically create transformations between markup languages based on
the mappings, but the only reason I think this is feasible is that we
can guarantee that the conceptual models underlying the markup
languages are consistent.