If you have many elements with repeating attributes, you can use declare them in attribute groups and reuse the attributeGroup object in several elements:
In your schema you can declare a group like this:
<xs:attributeGroup name="attributes">
<xs:attribute type="s:stringNameType" name="name" use="required"/>
<xs:attribute type="s:extraType" name="extra" use="optional" default="ALL"/>
</xs:attributeGroup>
And then just add it in the place where you would add your attributes:
<xs:complexType name="superType">
<xs:sequence>...</xs:sequence>
<xs:attributeGroup ref="attributes"/>
</xs:complexType>
<xs:complexType name="elegantType">
<xs:simpleContent>
<xs:extension base="xs:string">
<xs:attributeGroup ref="attributes"/>
</xs:extension>
</xs:simpleContent>
</xs:complexType>