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>