code: function(schema, raw_tag, widget_config) {
  
  		var name,
  			descriptor,
  			unknown_attributes = {};
  
  		for (name in raw_tag.attributes) {
  
  			if (Lava.schema.DEBUG && name != 'id' && !schema.attribute_mappings) Lava.t('Sugar schema is missing attribute mappings for: ' + name);
  
  			descriptor = (name == 'id') ? {type: 'id'} : schema.attribute_mappings[name];
  
  			if (descriptor) {
  				this[this._root_attributes_handlers[descriptor.type]](widget_config, raw_tag.attributes[name], descriptor, descriptor.name || name);
  			} else {
  				unknown_attributes[name] = raw_tag.attributes[name];
  			}
  
  		}
  
  		if (!Firestorm.Object.isEmpty(unknown_attributes)) {
  
  			if (Lava.schema.DEBUG && !schema.root_resource_name) Lava.t("Sugar: unknown attribute: " + name + ", for widget: " + raw_tag.name);
  			this._storeAttributesAsResource(widget_config, unknown_attributes, schema.root_resource_name);
  
  		}
  
  	}
docs: end: root parsers ////////////////////////////////////////////////////////////////////////////////////////////////////////////////// 
  Parse attributes of the widget's `raw_tag` into `widget_config`
  @param {_cSugar} schema
  @param {_cRawTag} raw_tag
  @param {_cWidget} widget_config