James Snell has launched a Wiki to capture Atom best Practices. Suggestions include:
- Many feed readers are incapable of preserving the base URI unless xml:base is used. Consider always using absolute IRIs or xml:base
- While the spec allows atom:category to have child text and elements, most feed consumers are incapable doing anything with the extra markup. Child markup should be avoided. See: http://feedvalidator.org/docs/warning/AtomLinkNotEmpty.html
- Encode and decode non-ASCII characters according to the rules of RFC2822 email headers.
- When presenting internationalized email addresses to users, be able to show them both the encoded and the decoded versions of the address.
- Namespace prefix declarations for atom and xhtml haven't proven to be very interoperable in the context of an Atom document. Avoid declaring prefixes for the atom and xhtml namespaces. See
- (X)HTML markup contained in text constructs and content should be limited to a subset of elements, attributes, and styles that are known to be safe. See http://wiki.whatwg.org/wiki/Sanitization_rules
- The "self" link should either be an absolute IRI or xml:base should be used.
It's disturbing that so many of these revolve around supporting broken and brain damaged feed readers and tools that can't handle the basic specs like Namespaces in XML and xml:base. Personally I consider it a best practice to fix or replace broken tools rather than living with them.