Validation rules for a complexType

It appears to me from looking at the spec that whenever you derive a
complexType from another complexType as a restriction, you have to
re-declare any attributes or children from the supertype in the subtype if
you want them to be available in the subtype.  Is this true?  If so, it
seems like when validating an instance of the subtype, I need look no
farther than the subtype itself (i.e., I don't need to traverse the type
hierarchy to see what's valid).

Also, what's the difference in this scenario between not re-declaring a
child or attribute and declaring a child with maxOccurs=0 or an attribute
with use="prohibited", respectively?

Finally, where in the spec, if anywhere, are these questions answered?

John P. A. Verhaeg
JVerhaeg@MetaMatrix.Com <mailto:JVerhaeg@MetaMatrix.Com>

 <<...OLE_Obj...>> 
11477 Olde Cabin Road Suite 400
Creve Coeur, MO 63141
(314) 739-3190 x150

Received on Tuesday, 2 July 2002 11:54:49 UTC