code: function xsltCopy(dst, src, dstDocument) {
    if (src.nodeType == DOM_ELEMENT_NODE) {
      var node = domCreateElement(dstDocument, src.nodeName);
      domAppendChild(dst, node);
      return node;
    }
  
    if (src.nodeType == DOM_TEXT_NODE) {
      var node = domCreateTextNode(dstDocument, src.nodeValue);
      domAppendChild(dst, node);
  
    } else if (src.nodeType == DOM_CDATA_SECTION_NODE) {
      var node = domCreateCDATASection(dstDocument, src.nodeValue);
      domAppendChild(dst, node);
  
    } else if (src.nodeType == DOM_COMMENT_NODE) {
      var node = domCreateComment(dstDocument, src.nodeValue);
      domAppendChild(dst, node);
  
    } else if (src.nodeType == DOM_ATTRIBUTE_NODE) {
      domSetAttribute(dst, src.nodeName, src.nodeValue);
    }
  
    return null;
  }
docs: Implements xsl:copy for all node types.  @param {Node} dst the node being copied to, part of output document, @param {Node} src the node being copied, part in input document, @param {Document} dstDocument @return {Node|Null} If an element node was created, the element node. Otherwise null.