- From: Jeni Tennison <jeni@jenitennison.com>
- Date: Thu, 20 Dec 2001 16:23:46 +0000
- To: "Lemmin, Harald" <Harald.Lemmin@softwareag.com>
- CC: "'xmlschema-dev@w3.org'" <xmlschema-dev@w3.org>
Hi Harald,
> I do not understand this section:
> 1.2 Its {attribute uses} must be a subset of the {attribute uses} of
> the complex type definition itself, that is, for every attribute use
> in the {attribute uses} of the {base type definition}, there must be
> an attribute use in the {attribute uses} of the complex type
> definition itself whose {attribute declaration} has the same {name},
> {target namespace} and {type definition} as its attribute
> declaration.
>
> Before reading this I thougth that attributes, defined in the {base
> type definition} do not have to be listed in the extending complex
> type again.
Attributes that are specified in the base type definition do not have
to be listed in the extending complex type again.
The cause of your confusion, I think, is the fact that the {attribute
uses} property is distinct from the attribute declarations/references
within the extended type. Look at the XML representation of complex
type definitions, and you'll find the definition of the {attribute
uses} property, as follows:
  A union of sets of attribute uses as follows:
  1 The set of attribute uses corresponding to the <attribute>
  [children], if any.
  2 The {attribute uses} of the attribute groups ·resolved· to by the
  ·actual value·s of the ref [attribute] of the <attributeGroup>
  [children], if any.
  3 The {attribute uses} of the type definition ·resolved· to by the
  ·actual value· of the base [attribute]...
So the {attribute uses} on the extended complex type automatically
includes all the {attribute uses} of the base type.
Cheers,
Jeni
---
Jeni Tennison
http://www.jenitennison.com/
Received on Thursday, 20 December 2001 11:23:47 UTC