File: Data.xml <?xml version="1.0" encoding="UTF-8"?> <provinces> <province id="AB"> <name>Alberta</name> <abbreviation>AB</abbreviation> </province> </provinces> 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="text" /> <xsl:template match="math"> <xsl:apply-templates select="operand[(. < 50) and (. > 30)]" /> </xsl:template> <xsl:template match="operand[(. < 50) and (. > 30)]"> <xsl:value-of select="." /> <xsl:text> + 25 = </xsl:text> <xsl:value-of select=". + 25" /> <xsl:text> </xsl:text> <xsl:value-of select="." /> <xsl:text> * 25 = </xsl:text> <xsl:value-of select=". * 25" /> <xsl:text> </xsl:text> </xsl:template> </xsl:stylesheet> Output: Alberta AB