W3C home > Mailing lists > Public > xmlschema-dev@w3.org > December 2001

Re: Derivation Valid (Extension): 1.2 attribute uses

From: Jeni Tennison <jeni@jenitennison.com>
Date: Thu, 20 Dec 2001 16:23:46 +0000
Message-ID: <11316120800.20011220162346@jenitennison.com>
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 GMT

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