> > I don't think we can assume this. The whiteSpace facet changes the
> > equivalence relation.
However, there's never any need for a user to specify a whiteSpace facet.
The Schema spec says:
"For all ·atomic· datatypes other than string (and types ·derived· by
·restriction· from it) the value of whiteSpace is collapse and cannot be
changed by a schema author"
Thus whiteSpace can be changed only for datatype string. However, if you
want a string with a whiteSpace facet of replace, then you can just derive
from the builtin type normalizedString, and if you want a string with a
whiteSpace facet of collapse, then you can just derive from the builtin
type token.
So our model of datatypes can be that the params to a datatype don't change
the equivalence relation. It seems like we will need a separate (very
short) spec that describes how to use XML Schema Part 2 datatypes with RELAX
NG; this can say that users can't specify whiteSpace as a param.
This means we can have a nice, simple restriction for compatibility of
datatypes with the same key/keyRef value: the type attributes must specify
the same expanded name.
James