Class ElemCopy

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

public class ElemCopy extends ElemUse
Implement xsl:copy.
 invalid input: '<!'ELEMENT xsl:copy %template;>
 invalid input: '<!'ATTLIST xsl:copy
   %space-att;
   use-attribute-sets %qnames; #IMPLIED
 >
 
See Also:
  • Constructor Details

    • ElemCopy

      public ElemCopy()
  • Method Details

    • 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:
    • getNodeName

      public String getNodeName()
      Return the node name.
      Specified by:
      getNodeName in interface Node
      Overrides:
      getNodeName in class ElemTemplateElement
      Returns:
      This element's name
    • 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 class ElemUse
      Parameters:
      transformer - non-null reference to the the current transform-time state.
      Throws:
      TransformerException