<xs:schema xmlns:xs=“www.w3.org/2001/XMLSchema

xmlns="http://FOO" targetNamespace="http://FOO">

<xs:element name="foo">
        <xs:complexType>
                <xs:complexContent>
                        <xs:restriction base="typeA">
                                <xs:attribute name="barA_1" type="xs:string"  use="optional"/>
                                <!-- OK -->                                                             
                                <xs:attribute name="barA_2" type="xs:string"  use="required"/>
                                <!-- OK -->                                                                     
                                <xs:attribute name="barA_3" type="xs:string"  use="prohibited"/>
                                <!-- OK -->     

                                <xs:attribute name="barB_1" type="xs:string"  use="optional"/>          
                                <!-- 2.1.1 inconsistent ( OR 3 ) -->                                                    
                                <xs:attribute name="barB_2" type="xs:string"  use="required"/>
                                <!-- OK -->     
                                <xs:attribute name="barB_3" type="xs:string"  use="prohibited"/>
                                <!-- 3 -->                                                                      

                                <xs:attribute name="barC_1" type="xs:string"  use="optional"/>
                                <!-- 2.2  no match in base -->                                                          
                                <xs:attribute name="barC_2" type="xs:string"  use="required"/>  
                                <!-- 2.2  no match in base -->                          
                                <xs:attribute name="barC_3" type="xs:string"  use="prohibited"/>
                                <!-- OK -->     

                                <xs:attribute name="barD_1" type="xs:string"  use="optional"/>
                                <!-- 2.2  no match in base -->  
                                <xs:attribute name="barD_2" type="xs:string"  use="required"/>
                                <!-- 2.2  no match in base -->  
                                <xs:attribute name="barD_3" type="xs:string"  use="prohibited"/>
                                <!-- OK -->     

                        </xs:restriction>
                </xs:complexContent>
        </xs:complexType>
</xs:element>

<xs:complexType name="typeA">
        <xs:attribute name="barA_1" type="xs:string" use="optional"/>                   
        <xs:attribute name="barA_2" type="xs:string" use="optional"/>                   
        <xs:attribute name="barA_3" type="xs:string" use="optional"/>   
        <xs:attribute name="barB_1" type="xs:string" use="required"/>           
        <xs:attribute name="barB_2" type="xs:string" use="required"/>           
        <xs:attribute name="barB_3" type="xs:string" use="required"/>                   
        <xs:attribute name="barC_1" type="xs:string" use="prohibited"/> 
        <xs:attribute name="barC_2" type="xs:string" use="prohibited"/> 
        <xs:attribute name="barC_3" type="xs:string" use="prohibited"/> 
</xs:complexType>

</xs:schema>