node function: node()|@*
File: Data.xml <?xml version="1.0" encoding="UTF-8"?> <?xml-stylesheet type="text/xsl" href="Transform.xslt" ?> <html> <head> <title>A simple HTML page</title> </head> <body> <h2>Venus</h2> description <ul> <li><strong>Diameter</strong> 12104 km (7505 miles)</li> <li><strong>Moons:</strong> 0</li> <li><strong>Mean temperature:</strong> 482C (900F)</li> <li><strong>Length of one day:</strong> 243.01 earth days</li> <li><strong>Length of one year:</strong> 224.7 earth days</li> </ul> </body> </html> File: Transform.xslt <?xml version="1.0" encoding="UTF-8"?> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:output method="html" version="4.0" indent="yes"/> <xsl:template match="node()|@*"> <xsl:copy> <xsl:apply-templates select="node()|@*"/> </xsl:copy> </xsl:template> <xsl:template match="body"> <body> <xsl:apply-templates/> <hr/> comments </body> </xsl:template> </xsl:stylesheet> Output: <?xml-stylesheet type="text/xsl" href="Transform.xslt" ><html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>A simple HTML page</title> </head> <body> <h2>Venus</h2> description <ul> <li><strong>Diameter</strong> 12104 km (7505 miles) </li> <li><strong>Moons:</strong> 0 </li> <li><strong>Mean temperature:</strong> 482C (900F) </li> <li><strong>Length of one day:</strong> 243.01 earth days </li> <li><strong>Length of one year:</strong> 224.7 earth days </li> </ul> <hr> comments </body> </html>