prohibited attributes in an attributeGroup

My question is regarding having prohibited attributes in an
attributeGroup which is referenced from a complex type derived from
restriction from a base type which has the same attribute as optional.

Base Type:

<xsd:complexType name="base">
	<xsd:attribute name="a" />
</xsd:complexType>

Derived Type:

<xsd:complexType name="derived">
  <xsd:complexContent>
    <xsd:restriction base="base">
      <xsd:attributeGroup ref="attG"/>
    </xsd:restriction>
  </xsd:complexContent>
</xsd:complexType>

<xsd:attributeGroup name="attG">
 <xsd:attribute name="a" use="prohibited"/>
</xsd:attributeGroup>

Should the complex type "derived" still have attribute "a"? 

>From the spec, it seems that it would allow attribute "a", since the
attribute-uses of the attributeGroup "attG" does not contain "a".

If the above understanding is correct. Having a prohibited attribute in
an attributeGroup is useless and does nothing, and it could be argued
that such attributes should be disallowed from attribute groups.


Thanks,
Zafar

Received on Tuesday, 17 May 2005 20:30:14 UTC