Atom contains all you need to annotate & navigate

Sigfrid Lundberg's Stuff 2010-04-28

Bookmark and Share


M. Nottingham & R. Sayre, 2005. The Atom Syndication Format

The RFC 4287 specifies the Atom syndication format and states the following about

[t]he "atom:link" element [which] defines a reference from an entry or feed to a Web resource. This specification assigns no meaning to the content (if any) of this element. (Section 4.2.7)

The reference mentioned is given in the href attribute. The RFC does, clearly, not assign any semantics to the relation embodied by the tag. However, it continues discussing the rel attribute (those of you who know the elements of <html:link/> realizes that the two tags are very similar):

atom:link elements MAY have a "rel" attribute that indicates the link relation type. If the "rel" attribute is not present, the link element MUST be interpreted as if the link relation type is "alternate". [...] If a name is given, implementations MUST consider the link relation type equivalent to the same name registered within the IANA (Section

The semantics of the relations are thus from a controlled list which is has an international maintenance agency, IANA. In a moment I'll discuss that list, but before I'll mention a few more useful attributes of the atom:link element: title and hreflang. The former conveys human-readable information about the link and the latter describes the language of the resource pointed to by the href attribute.

Now, the vocabulary to be used for the rel attribute is maintained by Internet Assigned Numbers Authority (IANA) and published in the document Atom Link Relations. Each entry on this list has to be documented (which is usually done in an RFC). Here are obvious ones, such as:

  • up
  • first
  • previous
  • next
  • last

Hence, here you have anything you need for navigating just about any content that may be modelled as a tree. And much more.


J. Snell, 2006. Atom Threading Extensions

The Atom infrastructure for comments, discussions and annotations is described in RFC4685. The mechanism is simple:

The "in-reply-to" element is used to indicate that an entry is a response to another resource. The element MUST contain a "ref" attribute identifying the resource that is being responded to. (RFC 4685, Section 3)

The ref attribute specifies the persistent, universally unique identifier of the resource being responded to. In practice it will refer to the content of the id element of the annotated research, which is described in RFC 4287.

So, you just add a reply-to link to your entry, and the entry has become an annotation. The rest is programming. ;-)

This entry is part of my series Readings on digital objects


Subscribe to Stuff from Sigfrid LundbergSubscribe to my stuff

stuff by category || year


My name is Sigfrid Lundberg. The stuff I publish here may, or may not, be of interest for anyone else.

On this site there is material on photography, music, literature and other stuff I enjoy in life. However, most of it is related to my profession as an Internet programmer and software developer within the area of digital libraries. I have been that at the Royal Danish Library, Copenhagen (Denmark) and, before that, Lund university library (Sweden).

The content here does not reflect the views of my employers. They are now all past employers, since I retired 1 May 2023.

Creative Commons License
This entry (Atom contains all you need to annotate & navigate) within Sigfrid Lundberg's Stuff, by Sigfrid Lundberg is licensed under a Creative Commons Attribution-ShareAlike 3.0 Unported License.