<xs:schema xmlns:xs=“www.w3.org/2001/XMLSchema” elementFormDefault=“unqualified”>

<xs:element name="foo" type="baseType"/>

<xs:complexType name="baseType">
        <xs:all>
                <xs:element name="bar" type="derivedType" minOccurs="0"/>
        </xs:all>
        <xs:attribute name="attrA" type="xs:string" use="required"/>
</xs:complexType>

<xs:complexType name="derivedType">
        <xs:complexContent>
                <xs:extension base="baseType">
                        <xs:attribute name="attrB" type="xs:string" use="required"/>
                </xs:extension>
        </xs:complexContent>
</xs:complexType>

</xs:schema>