The element 'complexContent' can be use to specify derivation.
It can also be use to wrap simple definitions that aren't derivations.
These are the same:
<xs:complexType name="Pair"> <xs:sequence> <xs:element name="A" type="xs:string"/> <xs:element name="B" type="xs:string"/> </xs:sequence> </xs:complexType> <xs:complexType name="Pair"> <xs:complexContent> <xs:restriction base="xs:anyType"> <xs:sequence> <xs:element name="A" type="xs:string"/> <xs:element name="B" type="xs:string"/> </xs:sequence> </xs:restriction> </xs:complexContent> </xs:complexType>
Usability?