Делаю в xsl:
<msxsl:script
    language="JavaScript"
    implements-prefix="ext">
<![CDATA[
	function matchurl(text) {
		var txt = text[0].text.substr(0);
		result = txt.match(/\.(doc|ppt|xls)/);
		if (result != null) {  
			return txt + '<img src="/Info/images/' + result[1] + '.gif" />';
		}
		else {
			return txt;
		}
	}
]]>
</msxsl:script>
Вызываю:
<p style="clear: both;"><xsl:value-of select="ext:matchurl(rss/channel/item/text)" disable-output-escaping="yes" /></p>
В узле text содержится примерно та строка, которую привёл ранее.