A complex type can be extended to add some number of attribute declarations via the 'complexContent' element.
The 'extension' element child contains some number of attribute declarations.
The content of the element is the same as the type referenced via the 'base' attribute on 'extension'.
Example:
<xs:complexType name="Person"> <xs:sequence> <xs:element ref="my:name"/> <xs:element ref="my:major"/> </xs:sequence> </xs:complexType> <xs:complexType name="GradedPerson"> <xs:complexContent> <xs:extension base="my:Person"> <xs:attribute name="grade" type="xs:string"/> </xs:extension> </xs:complexContent> </xs:complexType>