Not sure if this is possible, but it would be great if it is. I'd like to be able to branch based on attributes found in a complex type. Something like this:

<xs:complexType name="MyComplexType">
<xs:sequence>
<xs:element name="SomeElement">
<xs:complexType>
<xs:attribute name="Name" type="xs:string"/>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>

...where I can then define other types based on what's found in the name attribute of MyComplexType.