<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:r="http://nwalsh.com/xmlns/extreme2004/recipes/" xmlns:saxon="http://saxon.sf.net/" version="2.0"> <xsl:import-schema namespace="http://nwalsh.com/xmlns/extreme2004/recipes/" schema-location="recipes.xsd"/> <xsl:output method="text"/> <xsl:template match="/"> <xsl:variable name="bluefish-recipes" select="for $recipe in r:recipeList/* return for $ingr in $recipe//r:ingredient/r:name return if (contains($ingr, 'Bluefish')) then $recipe else ()"/> <xsl:text>There are </xsl:text> <xsl:value-of select="count($bluefish-recipes)"/> <xsl:text> Bluefish recipes.</xsl:text> </xsl:template> </xsl:stylesheet>