In ExtJs 4.1 the current CompositeSprite.setAttributes method is implemented as the following:
PHP Code:
setAttributes: function(attrsredraw) {
     var 
0,
           
items this.items,
            
len this.length;
     for (; 
leni++) {
            
items[i].setAttributes(attrsredraw);
     }
     return 
this;
}, 
I don't think it is totally correct because when I did the following:
PHP Code:
compositeSprite.setAttributes({
       
scale: {
             
x0.5y0.5
        
}
}); 
I ended up with a corrupted SVG image. Each individual SVG element is correctly scaled but NOT between their distance. This is because it hasn't taken account the bbox dimension of the WHOLE CompositeSprite when it comes to scaling. When items[i].setAttributes(attrs, redraw) is called, it will call Ext.draw.Surface.scale method which has the following the implementation:

PHP Code:
scale: function(sprite) {        
    var 
bbox,
          
sprite.attr.scaling.|| 1,
          
sprite.attr.scaling.|| 1,
          
centerX sprite.attr.scaling.centerX,
          
centerY sprite.attr.scaling.centerY;

    if (!
Ext.isNumber(centerX) || !Ext.isNumber(centerY)) {
         
bbox this.getBBox(spritetrue);
         
centerX = !Ext.isNumber(centerX) ? bbox.bbox.width centerX;
         
centerY = !Ext.isNumber(centerY) ? bbox.bbox.height centerY;
    }
    
sprite.transformations.push({
         
type"scale",
         
xx,
         
yy,
         
centerXcenterX,
         
centerYcenterY        
    
});
}, 
As you can see, the line
PHP Code:
bbox this.getBBox(spritetrue); 
doesn't take the account the fact that the element is part of the CompositeSprite

IMHO, I think the CompositeSprite.setAttributes should be something like that and cascade the change down to the Surface implementation:
PHP Code:
setAttributes: function(attrsredraw) {
     var 
bbox this.getBBox();
     var 
0,
           
items this.items,
            
len this.length;
     for (; 
leni++) {
            
items[i].setAttributesByGroup(attrsbboxredraw);
     }
     return 
this;
}, 
Many thanks
Joe