Copy value : copy of « XSLT stylesheet « XML






Copy value


File: Data.xml

<?xml version="1.0" encoding="utf-8"?>
<PurchaseOrder>
  <From>a</From>
  <To>b</To>
  <Address>
    <Street>Street</Street>
    <City>Town</City>
    <State>MO</State>
    <ZipCode>11111</ZipCode>
  </Address>
</PurchaseOrder>


File: Transform.xslt

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

  <xsl:template match="/">
    <Invoice>

      <xsl:apply-templates select="PurchaseOrder/To" />
      <xsl:apply-templates select="PurchaseOrder/From" />
      <xsl:apply-templates select="PurchaseOrder/Address" />
      <xsl:comment>
        The rest of the Invoice would go here.
      </xsl:comment>
    </Invoice>
  </xsl:template>

  <xsl:template match="To">
    <xsl:element name="From">
      <xsl:value-of select="." />
    </xsl:element>
  </xsl:template>

  <xsl:template match="From">
    <xsl:element name="To">
      <xsl:value-of select="." />
    </xsl:element>
  </xsl:template>

  <xsl:template match="Address">
    <xsl:copy-of select="." />
  </xsl:template>

</xsl:stylesheet>

Output:

<?xml version="1.0" encoding="UTF-8"?><Invoice><From>b</From><To>a</To><Address>
    <Street>Street</Street>
    <City>Town</City>
    <State>MO</State>
    <ZipCode>11111</ZipCode>
  </Address><!--
        The rest of the Invoice would go here.
      --></Invoice>

 








Related examples in the same category

1.copy-of select="."
2.Copy all the attributes and other nodes
3.Copy all the other source tree nodes