We investigate the general mechanism of type derivations in XML schemas
1, of which the restrictions and extensions of the proposed schema
standard (in
[XSD1] and
[XSD2])
are but special cases. The principal idea here is that the designer of a modified
or derived type be able to declare the nature of the derivations made. Moreover,
we would like to be able to substitute the derived type in places where the
ancestral type was expected. But what if an application cannot tolerate such
a substitution? In order to exploit fully such derived types, an application,
in turn, needs to be able to declare what sorts of modifications it is willing
to tolerate. Furthermore, the validator, upon hearing such advice from the
application, needs to validate an instance according to the tolerances declared.
In effect, we propose to make applications responsible for telling the validator
what classes of type transformations lead to substitutable derivations from
the application's perspective. The validator, then, is responsible for guaranteeing
that the effective derivations fall within the application's tolerances.