- From: Jeni Tennison <jeni@jenitennison.com>
- Date: Fri, 4 Jan 2002 19:57:52 +0000
- 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 UTC