File: Data.xml <?xml version="1.0" encoding="ISO-8859-1"?> <america> <source> <title>A</title> <url>http://www.java2s.com/</url> <populations estimate="true" year="2002"/> </source> <nation> <name>Canada</name> <capital>Ottowa</capital> <population>32277942</population> <cc>dz</cc> </nation> </america> File: Transform.xslt <?xml version="1.0" encoding="US-ASCII"?> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:output method="text" /> <xsl:template match="america"> <xsl:apply-templates select="nation" /> </xsl:template> <xsl:template match="nation"> <xsl:text> * </xsl:text> <xsl:value-of select="name" /> <xsl:if test="population <= 10000000"> <xsl:text> (<= to 10M)</xsl:text> </xsl:if> <xsl:text> </xsl:text> </xsl:template> </xsl:stylesheet> Output: * Canada