Re: Proper home namespace/resource for built-in datatypes

I reviewed the schema for datatypes and there are several things that
concern me about it:

1) It introduces a parallel type hierarchy which would result in unnecessary
confusion
2) It doesn't use qualified names for the base datatype, which implies a
special rule when the name and base values are the same.  Otherwise an
unqualified reference should refer an element in the current namespace and
failing that then be resolved whatever namespace provides the built-in
datatypes.
3) It implies an implicit import of some namespace (to provide the built-in
datatypes).  If this implied import is the schema namespace, you haven't
done anything to reduce the namespace since the entirity of the implicit
namespace is still there.

My current thinking on this is that:

a) schema-datatypes should be the one and only definition of the built-in
datatypes
b) schema-instance should import datatypes (at least implicitly) to resolve
the QName type of xsi:type and the boolean type for xsi:null.
c) schema-instance and schema-datatypes are implicitly imported any any
schema processing.  If you provide an explicit import for the instance or
datatypes, that resource will be used preferentially.  Otherwise, the
processor will provide them from its resources.
d) schema for schema can declare any necessary "utility" datatypes, however
these are not available outside of schema for schemas without an explicit
import and qualified reference.
e) when a schema interpreter is resolving an unqualified simple type name,
it should first look for a matching type in the current namespace and if not
found, then look for a matching type in the schema-datatypes namespace.
f) the base and name attribute should not be allowed to be the same unless
the name is urDataType.
g) schema analysis and authoring environments should report a diagnostic
message if a locally-scoped name conflicts with a type name in
schema-datatypes.  However, parsers should not treat that as an error and
resolve to the locally scoped name first.

I believe this arrangement provides a near optimal partition.  Built-in
types can be accessed either through unqualified names or qualified with the
datatypes namespace and generic XML documents do not need to import the
symbol space for schema definition.

If not, however I would strongly recommend dropping or avoiding the parallel
type hierarchy as currently defined in schema-datatypes.

Received on Thursday, 27 April 2000 01:10:40 UTC