It’s me again 🙂 I think, there may be some errors in file /wp-includes/feed-atom-comments.php:
- Line 23:
<link rel="alternate" type="<?php bloginfo_rss('html_type'); ?>" content="<?php bloginfo_rss('home'); ?>" />
should be
<link rel="alternate" type="<?php bloginfo_rss('html_type'); ?>" href="<?php bloginfo_rss('home'); ?>" />
- Line 43:
<link rel="alternate" href="<?php comment_link(); ?>" type="<?php bloginfo_rss('content_type'); ?>" />
should be
<link rel="alternate" href="<?php comment_link(); ?>" title="<?php bloginfo_rss('content_type'); ?>" />
- Lines 52 and 53: Dateformat-string is
'D, d M Y H:i:s +0000'
but should be
'Y-m-d\TH:i:s\Z', like in line 20, where it is coded correctly.
Unfortunately, the ATOM-articlefeed still does not validate.
you might want to look into diffing the files, or upgrading to 2.2.
http://trac.wordpress.org/ticket/1526
that may or may not fix your problem(s), I dunno.
@whooami: I am having this problem since the upgrade to 2.2. The old 0.3-atom-feeds from 2.1 did validate without any problems.
To what version should I diff my 2.2-files?
I guess, I found the same problem in WordPress 2.1.3.
The Atom RSS is not valid. Who khow the version of WP where validation of Atom RSS is affirmative?
I finally figured out the problem: it’s not WP 2.2, but the Ultimate tag warrior plugin.
The code used to put the tags into the atom-feed generates invalid xml.
To correct this, edit the file ‘ultimate-tag-warrior-actions.php‘ in function ultimate_add_tags_to_rss() [somewhere near line 712]:
look for this if-clause:
`if ($type == ‘rdf’ || $type = ‘atom’){
$format=”<dc:subject>%tagdisplay%</dc:subject>”;
} else {
$format=”<category>%tagdisplay%</category>”;
}`
and change it to:
`if ($type == ‘rdf’ ){
$format=”<dc:subject>%tagdisplay%</dc:subject>”;
} else if ($type = ‘atom’) {
$format=”<category term=’%tagdisplay%’ />”;
} else {
$format=”<category>%tagdisplay%</category>”;
}`