code: function xsltAttributeValue(value, context) {
    var parts = stringSplit(value, '{');
    if (parts.length == 1) {
      return value;
    }
  
    var ret = '';
    for (var i = 0; i < parts.length; ++i) {
      var rp = stringSplit(parts[i], '}');
      if (rp.length != 2) {
        // first literal part of the value
        ret += parts[i];
        continue;
      }
  
      var val = xpathEval(rp[0], context).stringValue();
      ret += val + rp[1];
    }
  
    return ret;
  }
docs: Evaluates an XSL-T attribute value template. Attribute value templates are attributes on XSL-T elements that contain XPath expressions in braces {}. The XSL-T expressions are evaluated in the current input context. NOTE(mesch): We are using stringSplit() instead of string.split() for IE compatibility, see comment on stringSplit().