Hi there,
It appears to me that simple content complex types can have attributes
(apart from any inherited ones) declared in two different places:
<complexType
abstract = boolean : false
block = (#all | List of (extension | restriction))
final = (#all | List of (extension | restriction))
id = ID
mixed = boolean : false
name = NCName
{any attributes with non-schema namespace . . .}>
Content: (annotation?,
(simpleContent
| complexContent
| ((group | all
| choice | sequence)?,
((attribute
| attributeGroup)*,
anyAttribute?))))
-- the type definition, aaaaand
<restriction
base = QName
id = ID
{any attributes with non-schema namespace . . .}>
Content: (annotation?,
(simpleType?,
(minExclusive
| minInclusive
| maxExclusive
| maxInclusive
| totalDigits
| fractionDigits
| length
| minLength
| maxLength
| enumeration
| whiteSpace
| pattern)*)?,
((attribute
| attributeGroup)*,
anyAttribute?))
</restriction>
<extension
base = QName
id = ID
{any attributes with non-schema namespace . . .}>
Content: (annotation?,
((attribute
| attributeGroup)*,
anyAttribute?))
</extension>
-- in the restriction or extension, of
present.
I wonder if you can use both at the same
time, kind of cumulatively, and, if there is a conflict (same-name attr
declared in both), which has the final say?
Thanks.
Søren