Bloglines and xml:base

Unfortunately Bloglines still isn't handling xml:base attributes properly. My Atom feeds have this on the div element which contains an article's content, and it's set to the URL of the article, so relative links in the article should work fine as they are. Bloglines seems to use the root of the domain as the base instead.

Update (2006-11-10): This may actually be partly my fault, see below for details.

Since this is breaking things like blogging of photos for me, I've temporarily added a call to the absolutify_links function in the code which generates my Atom feeds. This will be in the next version of Daizu. It makes all the links in the feed absolute, so even the stupidest feed reader should get them right.

Update

So it looks like part of the problem was that I had the xml:base attribute on the XHTML div element, whereas the example given in the Atom specification puts it on the content element. According to the spec xml:base is allowed on “any element defined by this specification”. Since the div element is actually defined as part of HTML that might not be included, even though the Atom spec requires its presence. Of course there's no reason why xml:base shouldn't be allowed there, but it doesn't work that way in Bloglines or Google Reader.

I've moved xml:base to the content element, and taken out the code to absolutify the links. The new version does work in Google Reader, and apparently Bloglines will be rolling out a fix that will make it work in the next week or so.

< Adding content from CVS | Subversion Perl bug >