The Element copies a node to the result tree : copy « XSLT stylesheet « XML Tutorial






File: Data.xml

<wine grape="Cabernet">
  <winery>shop 1</winery>
  <product>product 1</product>
  <year>2008</year>
  <prices date="12/1/01">
    <list>13.99</list>
    <discounted>11.00</discounted>
  </prices>
</wine>

File: Transform.xslt
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
  version="1.0">
  <xsl:output method="xml" omit-xml-declaration="yes" indent="no" />

  <xsl:template match="prices">
    <xsl:copy>
      <xsl:attribute name="date">
               <xsl:value-of select="@date" />
            </xsl:attribute>

      <xsl:attribute name="vendor">
               <xsl:text>Snee Wines</xsl:text>
            </xsl:attribute>
      <xsl:apply-templates />
    </xsl:copy>

  </xsl:template>

  <xsl:template match="winery | product | year" />

</xsl:stylesheet>

Output:


  
  
  
  <prices date="12/1/01" vendor="Snee Wines">
    13.99
    11.00
  </prices>








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.