Versions Compared

Key

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

...

Note
titleExperimental

This is an experimental feature and subject to change in future versions.

...

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
xmlxml
borderStylesolid
<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.

xml
Code Block
xml
borderStylesolid
 
  <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
xmlxml
borderStylesolid
  <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:

solid
Code Block
xmlxmlborderStyle
  <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|http://www.atompub.org/rfc4287.html], Mark Nottingham, Robert Sayre, 2005. \
[RFC 4685\] -- [Atom Threading Extensions|http://www.ietf.org/rfc/rfc4685.txt], James Snell, 2006.

...