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>
|