Hypermedia Types

Hypermedia Factors
CL
CR CU CM
LE LO LT LN LI
Atom

Atom

Description

Atom is an XML-based document format that describes lists of related information known as "feeds". Feeds are composed of a number of items, known as "entries", each with an extensible set of attached metadata. For example, each entry has a title. The primary use case that Atom addresses is the syndication of Web content such as weblogs and news headlines to Web sites as well as directly to user agents. [1]

The Atom Publishing Protocol is an application-level protocol for publishing and editing Web Resources using HTTP [RFC2616] and XML 1.0. The protocol supports the creation of Web Resources and provides facilities for: 1) Collections: Sets of Resources, which can be retrieved in whole or in part; 2) Services: Discovery and description of Collections; and 3) Editing: Creating, editing, and deleting Resources. [2]

MIME Types

  • application/atom+xml [1]
  • application/atomcat+xml, application/atomsvc+xml [2]

Hypermedia Elements

app:accept[11][CR]

Notes

The content of an "app:accept" element value is a media range as defined in [RFC2616]. The media range specifies a type of representation that can be POSTed to a Collection.

Example

<app:accept>image/png, image/*</app:accept>
app:collection[10][LO]

Notes

app:collection has the following hypermedia attributes:
  • href

Example

<collection href="http://example.org/blog/main" />
atom:content[4][LE][LO]

Notes

atom:content has the following hypermedia attributes:
  • src

Most often the atom:content element holds inline text, html, or xhtml data. Optionally, the atom:content element can point to another resource using the src attribute.

The resource pointed to by the src attribute may be treated as an outbound link (LO) or rendered in place as an embed link (LE).

Example

<content src="http://www.example.org/blog-posts/123" />
atom:generator[6][LO]

Notes

atom:generator has the following hypermedia attributes:
  • uri

Example

<generator uri="http://www.example.org/generators/abc" />
atom:icon[7][LE]

Example

<icon>http://www.example.org/images/icon</icon>
atom:link[5][LO][CL]

Notes

atom:link has the following hypermedia attributes:
  • href
  • rel
  • hreflang

The atom:link element is used throughout the media type as a way to link to other resources. It is the only element in the Atom format that also uses the rel attribute (CL). The initial documentation identifies the following link relation values:

  1. alternate
  2. related
  3. self
  4. enclosure
  5. via

Additional link relation values can be found in the IANA Registry of Link Relations [9].

Example

<link href="http://www.example.org/data/q1w2e3r4" rel="related" hreflang="en" />
atom:logo[8][LE]

Example

<logo>http://www.example.org/images/logo</logo>
atom:uri[3][LO]

Example

<uri>http://www.example.com/content/doc1</uri>

Reference Links

  1. The Atom Syndication Format [RFC4287]
  2. The Atom Publishing Protocol [RFC5023]
  3. The "atom:uri" Element
  4. The "atom:content" Element
  5. The "atom:link" Element
  6. The "atom:generator" Element
  7. The "atom:icon" Element
  8. The "atom:logo" Element
  9. Link Relations
  10. The "app:collection" Element
  11. The "app:accept" Element

Update History

2010-06-18
Completed Atom spec entries
2010-06-01
Initial post