The element 'extension' is used to specify a complex type extension derivation.
You put it in the 'complexContent' element:
<xs:complexType name="Teacher"> <xs:complexContent> <xs:extension base="my:PersonInfo"> <!-- the new elements (appended) go here --> <xs:element name="students"> <xs:complexType> <xs:sequence> <xs:element name="student" type="my:Student" maxOccurs="unbounded"/> </xs:sequence> </xs:complexType> </xs:element> </xs:extension> </xs:complexContent> </xs:complexType>
That derivation added an element 'students' to the end of the children of 'PersonInfo'.
Notice how the same rules for in-lining and referring to types apply.