code: function stripCustomNsAttrs(node) {
      while (node) {
        if (node.nodeType === window.Node.ELEMENT_NODE) {
          var attrs = node.attributes;
          for (var i = 0, l = attrs.length; i < l; i++) {
            var attrNode = attrs[i];
            var attrName = attrNode.name.toLowerCase();
            if (attrName === 'xmlns:ns1' || attrName.lastIndexOf('ns1:', 0) === 0) {
              node.removeAttributeNode(attrNode);
              i--;
              l--;
            }
          }
        }
  
        var nextNode = node.firstChild;
        if (nextNode) {
          stripCustomNsAttrs(nextNode);
        }
  
        node = node.nextSibling;
      }
    }
docs: When IE9-11 comes across an unknown namespaced attribute e.g. 'xlink:foo' it adds 'xmlns:ns1' attribute to declare
  ns1 namespace and prefixes the attribute with 'ns1' (e.g. 'ns1:xlink:foo'). This is undesirable since we don't want
  to allow any of these custom attributes. This method strips them all.
  
  @param node Root element to process