This stylesheet gave me the desired output:
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
version="1.0">
<xsl:template match="FRUIT">
<HTML>
<HEAD><TITLE>XSL TEST</TITLE></HEAD>
<BODY>
<TABLE>
<xsl:apply-templates/>
</TABLE>
</BODY>
</HTML>
</xsl:template>
<xsl:template match="IDENTIFICATION">
<TR><TD><xsl:value-of select="NAME"/></TD></TR>
</xsl:template>
<xsl:template match="APPEARANCE">
<TR><TD><xsl:value-of select="COLOR"/></TD></TR>
</xsl:template>
<xsl:template match="STORAGE">
<TR><TD><xsl:value-of select="TEMP"/></TD></TR>
</xsl:template>
</xsl:stylesheet>
By specifying three apply-templates commands, you were removing XSL's
ability to recurse, which you needed there.
Jay Bryant
Bryant Communication Services