W3C home > Mailing lists > Public > xmlschema-dev@w3.org > January 2002

Re: {disallowed substitutions} with a simple type definition?

From: Jeni Tennison <jeni@jenitennison.com>
Date: Fri, 4 Jan 2002 19:57:52 +0000
Message-ID: <1419687408.20020104195752@jenitennison.com>
To: Stanley Guan <Stanley.Guan@oracle.com>
CC: Schema XML <xmlschema-dev@w3.org>
Hi Stanley,

> 3.3.4 Element Declaration Validation Rules
>
> 4.3 The ·local type definition· must be validly derived from the
> {type definition} given the union of the {disallowed substitutions}
> and the {type definition}'s {prohibited substitutions}, as defined
> in Type Derivation OK (Complex) (§3.4.6) (if it is a complex type
> definition), or given {disallowed substitutions} as defined in Type
> Derivation OK (Simple) (§3.14.6) (if it is a simple type definition).
>
> Does anyone know what this "{disallowed substitutions}as defined in
> Type Derivation OK (Simple)" is?

I think the root of the problem is that you've phrased the sentence
incorrectly. For simple type definitions, read it as:

4.3 The ·local type definition· must be validly derived from the {type
definition}, given {disallowed substitutions}, as defined in Type
Derivation OK (Simple) (§3.14.6).

In other words, the {disallowed substitutions} are the {disallowed
substitutions} of the element declaration. How a set of disallowed
substitutions affects whether a type derivation is valid or not is
explained in Section 3.14.6 (Type Derivation OK (Simple)).

Basically, if an element's got a xsi:type attribute, then the type
that you name has to be a valid derivation from the type declared for
the element. If that type is a simple type, then the value of the
'block' attribute on the element declaration determines what kinds of
derivations are legal.

I don't know why complex types have their own set of prohibited
substitutions but simple types don't...

Cheers,

Jeni

---
Jeni Tennison
http://www.jenitennison.com/
Received on Friday, 4 January 2002 14:57:54 GMT

This archive was generated by hypermail 2.2.0+W3C-0.50 : Tuesday, 11 January 2011 00:14:26 GMT