Well, I'm going to go over this one. The example feed from Google illustrates what can be done by a feed source to really screw up a newsfeed. In the early days, RSS specs didn't really disallow HTML markup, but there was a general concensus to seperate markup from the feed. We used css stylesheets to provide - gee uh, styling. Seemed pretty reasonable to me and a lot of other folks. Then, the little RSS feed evolved into the hairy beast that google provides.
There is so much going on with this feed, I'd really not even fuss with using it or customize it. I wouldn't want to encourage folks to even go to Google for news. That's just my opinion, but there are other sources that have newsfeeds which are easier to work into your site. Of course, that doesn't help you, so, I'll discuss what can be done, but it's not simple by any means.
In any event, when you want to effectively 'control' the feed with a custom xsl, it helps to have your programming cap on, and a good xml/xsl editor. Afterall, a newsfeed is all code that has to be broken down and evaluated. So, the first step is to use your browser to view the source, and I usually borrow it - placing into whatever tool you can use for further evaluation.
Let's take your problem with the feed showing the title twice. Looking at the sourcefeed, we find that this is caused by the inclusion of the 'title' information in the DESCRIPTION tag. The TITLE tag has the 'title' and 'news source attribution' combined, and that is followd up by placing the same info into the DESCRIPTION tag with a bit of variance in the style. You could probably program around the issue by creating vars to hold the title info and strip the same info out of the DESCRIPTION, but the different styling would create another programming block. So, my recommendation is to just forget about showing the TITLE tag altogether. I don't like to do a whole lot of custom programming to fuss with these types of horror-show news sources, so I take a simple approach. See, the newsource is probably going to change their formatting, and when they do, you have to change all of your programming again and again.
Now, the other part of your question is how to eliminate the HTML encoding. That's seems easy to do, but in certain cases, it is difficult due to the mish-mash of css and html included. All you really do with the not coding the HTML is present the info without using it to control the output. You will get the various lt gt tags and every other bit of HTML in the tag presented. So, again, it's a lot of customizing to deal with the issue, and hope that the source doesn't change - but I promise you that will not happen. I've done so many different google xsl's, I just don't use them anymore, unless I want to just present what they do - and that's just plain ugly.
So, back to the issue... You provide an example xsl that I'll need to take, and examine on my dev site, but it may take some time for me to get back to you. Lee and I worked several examples, and it looks like you put some of them together, but with this example sourcefeed, there may be some other issues going on that make it not the best to use in your case. So, be patient, or take my other advice, and look for a different news source or just present it as is.
I'll get back to you, but I'm in the middle of converting our Hospital clinical system from backend servers using OpenVMS to HP-UX, so I'm really engaged in all things UNIX / Linux / Korn Shell / Perl / Python and whatnot. Pretty ugly stuff on its' own.
Cheers,