## org.apache.xalan.templates
Class ElemCopy

    java.lang.Object
      org.apache.xml.utils.UnImplNode
          org.apache.xalan.templates.ElemTemplateElement
              org.apache.xalan.templates.ElemUse
                  org.apache.xalan.templates.ElemCopy

All Implemented Interfaces:
  java.io.Serializable, javax.xml.transform.SourceLocator, XSLTVisitable, PrefixResolver, ExpressionNode, WhitespaceStrippingElementMatcher, org.w3c.dom.Document, org.w3c.dom.Element, org.w3c.dom.Node, org.w3c.dom.NodeList

    public class ElemCopy

extends ElemUse

Implement xsl:copy.

See Also:
  copying in XSLT Specification, Serialized Form
Usage:
  **For advanced use only**

Field Summary

Fields inherited from interface org.w3c.dom.Node

`ATTRIBUTE_NODE, CDATA_SECTION_NODE, COMMENT_NODE, DOCUMENT_FRAGMENT_NODE, DOCUMENT_NODE, DOCUMENT_POSITION_CONTAINED_BY, DOCUMENT_POSITION_CONTAINS, DOCUMENT_POSITION_DISCONNECTED, DOCUMENT_POSITION_FOLLOWING, DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC, DOCUMENT_POSITION_PRECEDING, DOCUMENT_TYPE_NODE, ELEMENT_NODE, ENTITY_NODE, ENTITY_REFERENCE_NODE, NOTATION_NODE, PROCESSING_INSTRUCTION_NODE, TEXT_NODE`

Constructor Summary
`ElemCopy()`

Method Summary
`void` `execute(TransformerImpl transformer)` The xsl:copy element provides an easy way of copying the current node.
`java.lang.String` `getNodeName()` Return the node name.
`int` `getXSLToken()` Get an int constant identifying the type of element.

Methods inherited from class org.apache.xalan.templates.ElemUse
`applyAttrSets, getUseAttributeSets, setUseAttributeSets, setUseAttributeSets`

Methods inherited from class org.apache.xalan.templates.ElemTemplateElement

`appendChild, appendChild, callVisitors, canAcceptVariables, canStripWhiteSpace, compareTo, compose, containsExcludeResultPrefix, endCompose, error, error, exprAddChild, exprGetChild, exprGetNumChildren, exprGetParent, exprSetParent, getBaseIdentifier, getChildNodes, getColumnNumber, getDeclaredPrefixes, getDOMBackPointer, getEndColumnNumber, getEndLineNumber, getFirstChild, getFirstChildElem, getLastChild, getLastChildElem, getLength, getLineNumber, getLocalName, getNamespaceForPrefix, getNamespaceForPrefix, getNextSibling, getNextSiblingElem, getNodeType, getOwnerDocument, getOwnerXSLTemplate, getParentElem, getParentNode, getParentNodeElem, getPrefixes, getPreviousSibling, getPreviousSiblingElem, getPublicId, getStylesheet, getStylesheetComposed, getStylesheetRoot, getSystemId, getTagName, getUid, getXmlSpace, handlesNullPrefixes, hasChildNodes, hasTextLitOnly, hasVariableDecl, insertBefore, isCompiledTemplate, item, recompose, removeChild, replaceChild, replaceChild, resolvePrefixTables, runtimeInit, setDOMBackPointer, setEndLocaterInfo, setLocaterInfo, setParentElem, setPrefixes, setPrefixes, setUid, setXmlSpace, shouldStripWhiteSpace`

Methods inherited from class org.apache.xml.utils.UnImplNode

`adoptNode, appendData, cloneNode, compareDocumentPosition, createAttribute, createAttributeNS, createCDATASection, createComment, createDocumentFragment, createElement, createElementNS, createEntityReference, createProcessingInstruction, createTextNode, deleteData, getActualEncoding, getAttribute, getAttributeNode, getAttributeNodeNS, getAttributeNS, getAttributes, getBaseURI, getDoctype, getDocumentElement, getDocumentURI, getDomConfig, getElementById, getElementsByTagName, getElementsByTagNameNS, getFeature, getImplementation, getInputEncoding, getNamespaceURI, getNodeValue, getOwnerElement, getPrefix, getSchemaTypeInfo, getSpecified, getStrictErrorChecking, getTextContent, getUserData, getWholeText, getXmlEncoding, getXmlStandalone, getXmlVersion, hasAttribute, hasAttributeNS, hasAttributes, importNode, insertData, isDefaultNamespace, isEqualNode, isId, isSameNode, isSupported, isWhitespaceInElementContent, lookupNamespaceURI, lookupPrefix, normalize, normalizeDocument, removeAttribute, removeAttributeNode, removeAttributeNS, removeChild, renameNode, replaceData, replaceWholeText, setActualEncoding, setAttribute, setAttributeNode, setAttributeNodeNS, setAttributeNS, setData, setDocumentURI, setIdAttribute, setIdAttribute, setIdAttributeNode, setIdAttributeNS, setInputEncoding, setNodeValue, setPrefix, setStrictErrorChecking, setTextContent, setUserData, setValue, setXmlEncoding, setXmlStandalone, setXmlVersion, splitText, substringData`

Methods inherited from class java.lang.Object
`equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Constructor Detail

### ElemCopy

    public ElemCopy()

Method Detail

### getXSLToken

    public int getXSLToken()

  Get an int constant identifying the type of element.

  Overrides:
    `getXSLToken` in class `ElemTemplateElement`
  Returns:
    The token ID for this element
  See Also:
    `Constants`

### getNodeName

    public java.lang.String getNodeName()

  Return the node name.

  Specified by:
    `getNodeName` in interface `org.w3c.dom.Node`
  Overrides:
    `getNodeName` in class `ElemTemplateElement`
  Returns:
    This element's name

### execute

    public void execute(TransformerImpl transformer)
                 throws javax.xml.transform.TransformerException

  The xsl:copy element provides an easy way of copying the current node. Executing this function creates a copy of the current node into the result tree.

  The namespace nodes of the current node are automatically copied as well, but the attributes and children of the node are not automatically copied. The content of the xsl:copy element is a template for the attributes and children of the created node; the content is instantiated only for nodes of types that can have attributes or children (i.e. root nodes and element nodes).

  The root node is treated specially because the root node of the result tree is created implicitly. When the current node is the root node, xsl:copy will not create a root node, but will just use the content template.

  Overrides:
    `execute` in class `ElemUse`
  Parameters:
    `transformer` - non-null reference to the the current transform-time state.
  Throws:
    `javax.xml.transform.TransformerException`

Copyright © 2005 Apache XML Project. All Rights Reserved.