Can someone point me to some normative examples of the use of
extensions to Atom feeds?
For a good time I would like to create a purely REST-ful Web
interface to MyLibrary. I plan to start out easy and only support
read (HTTP GET) operations. MyLibrary is essentially made up of four
objects: information resources, patrons, librarians, and facet/term
combinations. The information resource objects are essentially
described using Dublin Core elements, plus facet/term combinations.
The patrons and librarian descriptions are based on FOAF elements,
plus facet/term combinations. Facets consist of a key, a name, and a
description. Terms consist of a key, a name, a description, and facet
key.
I think I will support four types of output: RDF/XML, Atom, JSON, and
maybe XHTML. A local flavor of RDF/XML is intended to be the
canonical transmission file format because it is the richest syntax I
can use without creating Yet Another Mark-up Language. I want to use
Atom and JSON because my book tells me to do so [1], and because
these data types seem prevalent in machine-to-machine interfaces.
XHTML will be for human convenience only.
After a bit or reading it seems as if Atom is essentially Dublin Core
plus elements for syndication. [2] This makes it easy to map just
about all the MyLibrary objects to Atom. I think I might be able to
stuff my facet/term combinations into Atom extensions, but I don't
know what these extensions are suppose to look like. I found a draft
describing them, but it doesn't make a lot of sense to me. [3]
Reading standards has never been my forte.
Once I get this far I will:
1. Accept requests
2. Process the input
3. Internally return RDF
4. Optionally transform the RDF into Atom, JSON, or XHTML
5. Return the requested data type.
I have all the parts I need except Atom examples of extensions.
[1] RESTful Web Services by Leonard Richardson & Sam Ruby
[2] http://iandavis.com/blog/2004/03/thenucleusofatom
[3] http://www.ietf.org/rfc/rfc5023.txt
--
Eric Morgan
|