match="text()|@*"
File: Data.xml <winelist> <wine grape="Chardonnay"> <winery>shop 1</winery> <product>product 1</product> <year>1998</year> <prices> <list>6.99</list> <discounted>5.99</discounted> <case>71.50</case> </prices> </wine> <wine grape="Chardonnay"> <winery>shop 2</winery> <product>product 2</product> <year>1997</year> <prices> <list>10.99</list> <discounted>9.50</discounted> <case>114.00</case> </prices> </wine> </winelist> File: Transform.xslt <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"> <xsl:output method="xml" omit-xml-declaration="yes" indent="no" /> <xsl:template match="*|/"> <xsl:apply-templates /> </xsl:template> <xsl:template match="text()|@*"> <xsl:value-of select="." /> </xsl:template> <xsl:template match="processing-instruction()|comment()" /> </xsl:stylesheet> Output: shop 1 product 1 1998 6.99 5.99 71.50 shop 2 product 2 1997 10.99 9.50 114.00