Attribute with restriction means that the type of the attribute value is defined inline, directly within the definition of the attribute itself.
That is used when, on one hand, the attribute type is something special (not just a base type) but, on other hand, it is used only for that attribute. So, defining that type as a separate component would be redundant.
But in your case, the construct:
<xs:attribute name="ProcessingRequestType" use="required">
<xs:simpleType>
<xs:restriction base="xs:string"/>
</xs:simpleType>
</xs:attribute>
although is valid, actually doesn't restrict anything (it is an empty restriction). So, it is equivalent to
<xs:attribute name="ProcessingRequestType" type="xs:string" use="required"/>
A true restriction would look something like this:
<xs:attribute name="ProcessingRequestType" use="required">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="typeA"/>
<xs:enumeration value="typeB"/>
<xs:enumeration value="typeC"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
That means that the attribute value is a string, however restricted to be only one from the list: "typeA", "typeB", "typeC".