Here are some details for those who care. I'm no expert on XML namespaces and am still learning the ropes. However, I do currently use XSLT to postprocess my RSS 2.0 feed, which is in turn created by a customized RSS writer. So here's what I did. In the writer, I changed from:

add ("<rss version=\"2.0\" xmlns:content=\"http://purl.org/rss/1.0/modules/content/\"

To:

add ("<rss version=\"2.0\" xmlns:rss=\"http://blogs.law.harvard.edu/tech/rss\" xmlns:content=\"http://purl.org/rss/1.0/modules/content/\"

Then all RSS elements went from, e.g., <description>...</description>, to <rss:description>...</rss:description>.

This of course broke my XSLT postprocessors, so they had to change from:

<xsl:stylesheet
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
...

To:

<xsl:stylesheet
xmlns:rss="http://blogs.law.harvard.edu/tech/rss"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
...

And then from, e.g.,

<xsl:template match="channel">

To:

<xsl:template match="rss:channel">

The XSLT postprocessing step was a useful way to assure that the original feed was valid, because it choked until I got things right. Now I've got to check and make sure the feeds produced by the postprocesser are consumable in aggregators.