org.apache.xalan.templates

Class ElemCopy

Implemented Interfaces:
Document, Element, ExpressionNode, Node, NodeList, PrefixResolver, Serializable, SourceLocator, WhitespaceStrippingElementMatcher, XSLTVisitable

public class ElemCopy
extends ElemUse

Implement xsl:copy.
 <!ELEMENT xsl:copy %template;>
 <!ATTLIST xsl:copy
   %space-att;
   use-attribute-sets %qnames; #IMPLIED
 >
 
See Also:
copying in XSLT Specification

Method Summary

void
execute(TransformerImpl transformer)
The xsl:copy element provides an easy way of copying the current node.
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, execute, getUseAttributeSets, setUseAttributeSets, setUseAttributeSets

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

appendChild, appendChild, callVisitors, canAcceptVariables, canStripWhiteSpace, compareTo, compose, containsExcludeResultPrefix, endCompose, error, error, execute, exprAddChild, exprGetChild, exprGetNumChildren, exprGetParent, exprSetParent, getBaseIdentifier, getChildNodes, getColumnNumber, getDOMBackPointer, getDeclaredPrefixes, getEndColumnNumber, getEndLineNumber, getFirstChild, getFirstChildElem, getLastChild, getLastChildElem, getLength, getLineNumber, getLocalName, getNamespaceForPrefix, getNamespaceForPrefix, getNextSibling, getNextSiblingElem, getNodeName, getNodeType, getOwnerDocument, getOwnerXSLTemplate, getParentElem, getParentNode, getParentNodeElem, getPreviousSibling, getPreviousSiblingElem, getPublicId, getStylesheet, getStylesheetComposed, getStylesheetRoot, getSystemId, getTagName, getUid, getXSLToken, 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, appendChild, appendData, cloneNode, compareDocumentPosition, createAttribute, createAttributeNS, createCDATASection, createComment, createDocumentFragment, createElement, createElementNS, createEntityReference, createProcessingInstruction, createTextNode, deleteData, error, error, getActualEncoding, getAttribute, getAttributeNS, getAttributeNode, getAttributeNodeNS, getAttributes, getBaseURI, getChildNodes, getDoctype, getDocumentElement, getDocumentURI, getDomConfig, getElementById, getElementsByTagName, getElementsByTagNameNS, getFeature, getFirstChild, getImplementation, getInputEncoding, getLastChild, getLength, getLocalName, getNamespaceURI, getNextSibling, getNodeName, getNodeType, getNodeValue, getOwnerDocument, getOwnerElement, getParentNode, getPrefix, getPreviousSibling, getSchemaTypeInfo, getSpecified, getStrictErrorChecking, getTagName, getTextContent, getUserData, getWholeText, getXmlEncoding, getXmlStandalone, getXmlVersion, hasAttribute, hasAttributeNS, hasAttributes, hasChildNodes, importNode, insertBefore, insertData, isDefaultNamespace, isEqualNode, isId, isSameNode, isSupported, isWhitespaceInElementContent, item, lookupNamespaceURI, lookupPrefix, normalize, normalizeDocument, removeAttribute, removeAttributeNS, removeAttributeNode, removeChild, renameNode, replaceChild, replaceData, replaceWholeText, setActualEncoding, setAttribute, setAttributeNS, setAttributeNode, setAttributeNodeNS, setData, setDocumentURI, setIdAttribute, setIdAttribute, setIdAttributeNS, setIdAttributeNode, setInputEncoding, setNodeValue, setPrefix, setStrictErrorChecking, setTextContent, setUserData, setValue, setXmlEncoding, setXmlStandalone, setXmlVersion, splitText, substringData

Method Details

execute

public void execute(TransformerImpl transformer)
            throws 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 interface ElemUse
Parameters:
transformer - non-null reference to the the current transform-time state.

getNodeName

public String getNodeName()
Return the node name.
Overrides:
getNodeName in interface ElemTemplateElement
Returns:
This element's name

getXSLToken

public int getXSLToken()
Get an int constant identifying the type of element.
Overrides:
getXSLToken in interface ElemTemplateElement
Returns:
The token ID for this element
See Also:
Constants

Copyright B) 2006 Apache XML Project. All Rights Reserved.