Ok, here's a bit of explaination.
As the RSS v2.0 spec goes, each RSS feed has attributes that are either required or optional, which is a good and sometimes a very bad thing due to the many flavors of how this spec get interpreted by browser coders like MS IE and FireFox. Some forgive and forget, some forgive, others just forget. I'll try to explain further.
In the xsl above, I coded to allow for a news feed to include the optional Channel image attributes. (Go to Harvard Law to read the RSSv2.0 specs). As such, I created variables to hold the various information, which whould allow me to use the variable name in calls to them later in the code.
Source Feed
<channel>
<ttl>15</ttl>
<title>Dispatch Online - News</title>
<link>http://www.dispatch.co.za</link>
<description>All the top News stories</description>
<image>
<url>http://www.dispatch.co.za/RSS/Images/Daily Dispatch_News204672.jpg</url>
<title></title>
<link>http://www.dispatch.co.za/RSS/Images/Daily Dispatch_News204672.jpg</link>
</image>
XSL variables
<xsl:variable name="link" select="link"/>
<xsl:variable name="description" select="description"/>
<xsl:variable name="image" select="image/url"/>
<xsl:variable name="idesc" select="image/description"/>
<xsl:variable name="ilink" select="image/link"/>
<xsl:variable name="iwide" select="image/width"/>
<xsl:variable name="ihigh" select="image/height"/>
Later code references:
<div class="rssChannelTitle">
<xsl:if test="$image">
<a href="{$ilink}" title="{$idesc}"><xsl:value-of select="ilink" /></a>
<img src="{$image}" height="{$ihigh}" width="{$iwide}" style="float: left; margin: 2px; border: 0px;"/>
</xsl:if>
<a href="{$link}"><xsl:value-of select="title" /></a><br/>
</div>
Now, turn on the thinking cap. Normally, the specs say the Channel attribute contains information about the Channel image like the link, title, URL, with the image width, height as optional. Most source feeds have some blurb about usage of their feeds that includes giving due attribution to the source. That includes the Name of the News source, along with their back link and a company icon image. The Channel Image attribute is what is usually used to provide this information. As a user/coder, you have a choice on what to do about giving attribution, but I generally choose to include it, as I don't mind giving them their due for hiring photogs, writers, and such. Small price to pay for the news feed, I figure.
In the sample XSL above, I assumed that the height and width would be defaulted to the RSSv2.0 specs max settings if not provided, or just not displayed. In MS IE, if an image attribute is detected without the width and height information, it will not display at all. However, in FireFox, it just displays the image as the link to it is given.
Each of the variables are referenced to make it easier to code (decide for yourself). None of them are actually needed if you don't want the image attribution to display, though. That's the beauty of 'feeding yourself'. Use what you will, choice is yours.
So, if you don't want the image stuff, just take this bit of code out.
<xsl:if test="$image">
<a href="{$ilink}" title="{$idesc}"><xsl:value-of select="ilink" /></a>
<img src="{$image}" style="float: left; margin: 2px; border: 0px;"/>
</xsl:if>
Nothing to it. In that code you'll see the variables being referenced. Again, this is only one of the many, many ways to approach the problem and solve it.
Hope that clears it up.
Cheers !-)