code: function extractTemplateFromAttributeTemplate(el) {
      var template = el.ownerDocument.createElement('template');
      el.parentNode.insertBefore(template, el);
  
      var attribs = el.attributes;
      var count = attribs.length;
      while (count-- > 0) {
        var attrib = attribs[count];
        if (templateAttributeDirectives[attrib.name]) {
          if (attrib.name !== 'template')
            template.setAttribute(attrib.name, attrib.value);
          el.removeAttribute(attrib.name);
        }
      }
  
      return template;
    }
docs: For non-template browsers, the parser will disallow <template> in certain locations, so we allow "attribute templates" which combine the template element with the top-level container node of the content, e.g.  <tr template repeat="{{ foo }}"" class="bar"><td>Bar</td></tr>  becomes  <template repeat="{{ foo }}"> + #document-fragment + <tr class="bar"> + <td>Bar</td>