Copy element copies only the current node without children and attributes, while copy-of copies everything. : copy « XSLT stylesheet « XML Tutorial






File: Data.xml
<?xml version="1.0" encoding="utf-8"?>
<p id="a12">
    Compare <B>these constructs</B>.
</p>

File: Transform.xslt

<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet
      version="1.0"
      xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

    <xsl:template match="p">
      <DIV>
        <B>
          <xsl:text>copy-of : </xsl:text>
        </B>
        <xsl:copy-of select="."/>
      </DIV>
      <DIV>
        <B>
          <xsl:text>copy : </xsl:text>
        </B>
        <xsl:copy/>
      </DIV>
      <DIV>
        <B>
          <xsl:text>value-of : </xsl:text>
        </B>
        <xsl:value-of select="."/>
      </DIV>
    </xsl:template>
</xsl:stylesheet>

Output:

<?xml version="1.0" encoding="UTF-8"?><DIV><B>copy-of : </B><p id="a12">
    Compare <B>these constructs</B>.
</p></DIV><DIV><B>copy : </B><p/></DIV><DIV><B>value-of : </B>
    Compare these constructs.
</DIV>








5.48.copy
5.48.1.The Element copies a node to the result tree
5.48.2. and
5.48.3.Copy element copies only the current node without children and attributes, while copy-of copies everything.