Copying Nodes
You can use the <xsl:copy> element to copy nodes, specifying just what parts you want to copy. The default rule for elements is that only the text in the element is copied. However, you can change that with <xsl:copy>, which can copy whole elements, text nodes, attributes, processing instructions and more, as you direct.
Heres an example; in this case, Ill strip all comments, processing instructions, and attributes out of planets.xml, simply by copying only text and elements:
<?xml version="1.0"?> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:template match="* | text()"> <xsl:copy> <xsl:apply-templates select="* | text()"/> </xsl:copy> </xsl:template> </xsl:stylesheet>
Heres the output of this transformation:
<?xml version="1.0" encoding="UTF-8"?> <PLANETS> <PLANET> <NAME>Mercury</NAME> <MASS>.0553</MASS> <DAY>58.65</DAY> <RADIUS>1516</RADIUS> <DENSITY>.983</DENSITY> <DISTANCE>43.4</DISTANCE> </PLANET> . . .