<?xml version="1.0"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">

  <xs:attributeGroup name="basicUserAttrGrp">
    <xs:attribute name="basicUserAttr" type="xs:string" use="required"/>
  </xs:attributeGroup>

  <xs:attributeGroup name="existingUserAttrGrp">
    <xs:attribute name="existingUserAttr" type="xs:int" use="required"/>
  </xs:attributeGroup>

  <xs:complexType name="BasicUserType" abstract="true">
    <xs:sequence>
      <xs:element name="BasicUserTypeElement" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
    </xs:sequence>
    <xs:attributeGroup ref="basicUserAttrGrp"/>
  </xs:complexType>

  <xs:element name="ExistingUserType">
    <xs:complexType>
      <xs:complexContent>
        <xs:extension base="BasicUserType">
          <xs:attributeGroup ref="existingUserAttrGrp"/>
        </xs:extension>
      </xs:complexContent>
    </xs:complexType>
  </xs:element>
  
</xs:schema>

