Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Migrated to Confluence 5.3

Fedora Atom is a serialization of a Fedora Digital Object using the Atom Syndication Format RFC 4287 in conjunction with the Atom Threading Extensions RFC 4685.

Many of the programming languages and platforms used with Fedora already provide libraries and tools for working with Atom feeds. By offering an Atom serialization of Fedora objects, these now become tools and libraries for authoring, browsing and validating Fedora digital objects as well.

On this page:

Table of Contents

Serialization Formats
Anchor
formats
formats

Fedora Atom
Anchor
formatsfatom
formatsfatom

A Fedora Digital Object is represented as an atom:feed element and Datastreams are represented as an atom:entry elements.

Code Block
<feed xmlns="http://www.w3.org/2005/Atom">
  <id>info:fedora/demo:5</id>
  <title type="text">Simple Image Demo</title>
  <updated>2008-07-02T05:09:42.015Z</updated>
  <author><name>fedoraAdmin</name></author>
  <category scheme="info:fedora/fedora-system:def/model#state" 
                 term="Active"/>
  <category scheme="info:fedora/fedora-system:def/model#createdDate" 
                 term="2008-07-02T05:09:42.015Z"/>

Object properties are represented using various atom:feed elements. In the abbreviated example above, the object's pid, label, ownerId and lastModifiedDate are represented using the feed's id, title, author, and updated elements respectively. atom:category elements are used to represent object properties such as state and createdDate.

Code Block
 
  <entry>
    <id>info:fedora/demo:5/DC</id>
    <title type="text">DC</title>
    <updated>2008-07-02T05:09:43.375Z</updated>
    <link href="info:fedora/demo:5/DC/2008-07-02T05:09:43.375Z" rel="alternate"/>
    <category scheme="info:fedora/fedora-system:def/model#state" 
                   term="A"/>
    <category scheme="info:fedora/fedora-system:def/model#controlGroup"
                   term="X"/>
    <category scheme="info:fedora/fedora-system:def/model#versionable"
                   term="true"/>
  </entry>

  <entry xmlns:thr="http://purl.org/syndication/thread/1.0">
    <id>info:fedora/demo:5/DC/2008-07-02T05:09:43.375Z</id>
    <title type="text">DC1.0</title>
    <updated>2008-07-02T05:09:43.375Z</updated>
    <thr:in-reply-to ref="info:fedora/demo:5/DC"/>
    <category scheme="info:fedora/fedora-system:def/model#formatURI" 
                   term="http://www.openarchives.org/OAI/2.0/oai_dc/"/>
    <category scheme="info:fedora/fedora-system:def/model#label" 
                   term="Dublin Core Record for this object"/>
    <content type="text/xml">
      <oai_dc:dc xmlns:dc="http://purl.org/dc/elements/1.1/" 
                      xmlns:oai_dc="http://www.openarchives.org/OAI/2.0/oai_dc/">
        <dc:title>Coliseum in Rome</dc:title>
      </oai_dc:dc>
    </content>
  </entry>

The hierarchy of Datastreams and their Datastream versions is represented via the Atom Threading Extensions. For convenience, a Datastream entry references its latest Datastream version entry with an atom:link element. In the example above, the DC datastream entry refers to its most recent version as follows:

Code Block
  <link href="info:fedora/demo:5/DC/2008-07-02T05:09:43.375Z" rel="alternate"/>

Each Datastream version refers to its parent Datastream via a thr:in-reply-to element. In the example above, the entry for the DC Datastream version refers to its parent as follows:

Code Block
  <thr:in-reply-to ref="info:fedora/demo:5/DC"/>

Fedora Atom Zip
Anchor
formatsfatomz
formatsfatomz

Fedora Atom Zip is a serialization of a Fedora digital object using the ZIP file format and a Fedora Atom manifest document. Inline and managed datastream content are packaged in the ZIP archive as individual files.

The manifest must be a Fedora Atom document named "atommanifest.xml".

Format URIs
Anchor
formatsuris
formatsuris

Fedora Atom and Fedora Atom Zip are identified respectively with the following URIs:

  • info:fedora/fedora-system:ATOM-1.1
  • info:fedora/fedora-system:ATOMZip-1.1

Examples
Anchor
examples
examples

A complete set of demonstration objects in both Fedora Atom and Fedora Atom Zip are included in the Fedora distribution. Please see the Demonstrations documentation for more information.

References
Anchor
references
references

[RFC 4287] – The Atom Syndication Format, Mark Nottingham, Robert Sayre, 2005.
[RFC 4685] – Atom Threading Extensions, James Snell, 2006.