function(name, value, elementBindingContext) {
	var binding;
	
	for(var i = 0; i < registeredAttributes.length; i++) {
		if((registeredAttributes[i].pattern.constructor == String && registeredAttributes[i].pattern == name) || (registeredAttributes[i].pattern.constructor == RegExp && name.search(registeredAttributes[i].pattern) >= 0)) {
			binding = new registeredAttributes[i](name, value, elementBindingContext);
			elementBindingContext.addBinding(binding);
			binding.apply();
		}
	}
}
function(name, value, elementBindingContext) {
	var binding;
	
	for(var i = 0; i < registeredAttributes.length; i++) {
		if((registeredAttributes[i].pattern.constructor == String && registeredAttributes[i].pattern == name) || (registeredAttributes[i].pattern.constructor == RegExp && name.search(registeredAttributes[i].pattern) >= 0)) {
			binding = new registeredAttributes[i](name, value, elementBindingContext);
			elementBindingContext.addBinding(binding);
			binding.apply();
		}
	}
}
function ( name , value , elementBindingContext ) { var binding ; for ( var i = 0 ; i < registeredAttributes . length ; i ++ ) { if ( ( registeredAttributes [ i ] . pattern . constructor == String && registeredAttributes [ i ] . pattern == name ) || ( registeredAttributes [ i ] . pattern . constructor == RegExp && name . search ( registeredAttributes [ i ] . pattern ) >= 0 ) ) { binding = new registeredAttributes [ i ] ( name , value , elementBindingContext ) ; elementBindingContext . addBinding ( binding ) ; binding . apply ( ) ; } } }
/* process data attribute
/ * process data attribute