src/sap.ui.core/src/sap/ui/core/util/XMLPreprocessor.js
function visitAttributes(oElement, oWithControl) {
				/*
				 * Comparator for DOM attributes by name.
				 *
				 * @param {Attr} oAttributeA
				 * @param {Attr} oAttributeB
				 * @returns {number} <0, 0, >0
				 */
				function comparator(oAttributeA, oAttributeB) {
					return oAttributeA.name.localeCompare(oAttributeB.name);
				}

				return stopAndGo(
					// Note: iterate over a shallow copy to account for removal of attributes!
					// Note: sort attributes by name to achieve a stable log order across browsers
					Array.prototype.slice.apply(oElement.attributes).sort(comparator),
					function (oAttribute) {
						return visitAttribute(oElement, oAttribute, oWithControl);
					});
			}
function visitAttributes(oElement, oWithControl) {
				/*
				 * Comparator for DOM attributes by name.
				 *
				 * @param {Attr} oAttributeA
				 * @param {Attr} oAttributeB
				 * @returns {number} <0, 0, >0
				 */
				function comparator(oAttributeA, oAttributeB) {
					return oAttributeA.name.localeCompare(oAttributeB.name);
				}

				return stopAndGo(
					// Note: iterate over a shallow copy to account for removal of attributes!
					// Note: sort attributes by name to achieve a stable log order across browsers
					Array.prototype.slice.apply(oElement.attributes).sort(comparator),
					function (oAttribute) {
						return visitAttribute(oElement, oAttribute, oWithControl);
					});
			}
function visitAttributes ( oElement , oWithControl ) { /*
				 * Comparator for DOM attributes by name.
				 *
				 * @param {Attr} oAttributeA
				 * @param {Attr} oAttributeB
				 * @returns {number} <0, 0, >0
				 */ function comparator ( oAttributeA , oAttributeB ) { return oAttributeA . name . localeCompare ( oAttributeB . name ) ; } return stopAndGo ( // Note: iterate over a shallow copy to account for removal of attributes! // Note: sort attributes by name to achieve a stable log order across browsers Array . prototype . slice . apply ( oElement . attributes ) . sort ( comparator ) , function ( oAttribute ) { return visitAttribute ( oElement , oAttribute , oWithControl ) ; } ) ; }
Visits all attributes of the given element. If an attribute value represents a
binding expression that can be resolved, it is replaced with the resulting value.

@param {Element} oElement the XML DOM element
@param {sap.ui.core.template._with} oWithControl the "with" control
@returns {sap.ui.base.SyncPromise}
A sync promise which resolves with <code>undefined</code> as soon as all
attributes' values have been replaced, or is rejected with a corresponding error if
getting some binding's value fails.
Visits all attributes of the given element . If an attribute value represents a binding expression that can be resolved it is replaced with the resulting value .