You can find out all of the available atom services that a website provides from the Atom Service Document. Here is a common way to find the service document.
Go to the website in your browser
View the Page Source
<link type="application/atomsvc+xml" ... />
This will normally be in the document's
The Service Document is the
href="..."attribute of that
Here is an example of Lotus Connections' Communities Service Document
<link> found in the Page's Source:
<link rel="introspection" type="application/atomsvc+xml" title="Atom Publishing Protocol" href="/communities/service/atom/introspection" />
An Atom Service Document is different from an Atom Entry and Atom Feed.
Its foundation is XML but its Namespace
taking on the shorthand
Check out the Atom Publishing Protocol Spec
if you would like to take a look at the Atom Service Document Specification. That article will
define the elements such as
For the rest of this discussion I will only focus on their meaning with respect to Lotus
Connections. Specifically using the following Service Document for Lotus Connections Blogs:
<?xml version="1.0" encoding="UTF-8"?> <service xmlns="http://www.w3.org/2007/app" xmlns:atom="http://www.w3.org/2005/Atom"> <atom:generator version="1.0-bcv3" uri="http://www.ibm.com/xmlns/prod/sn"> Lotus Connections - Blogs </atom:generator> <workspace xml:lang="en-US" xmlns:xml="http://www.w3.org/XML/1998/namespace"> <atom:title type="text">From Joe's Moleskin</atom:title> <collection href="http://example.com/weblogs/services/atom/jjpecora/entries"> <atom:title type="text">Weblog Entries</atom:title> <accept>application/atom+xml; type=entry</accept> <categories href="http://example.com/weblogs/services/atom/jjpecora/categories" /> </collection> <collection href="http://example.com/weblogs/services/atom/jjpecora/media"> <atom:title type="text">Media Entries</atom:title> <accept>video/x-msvideo</accept> <accept>application/octet-stream</accept> <accept>image/gif</accept><accept>text/html</accept> <accept>image/jpeg</accept><accept>image/png</accept> <accept>text/plain</accept> <categories fixed="yes" /> </collection> <collection href="http://example.com/weblogs/services/atom/jjpecora/comments"> <atom:title type="text">Comment Entries</atom:title> <accept>application/atom+xml; type=entry</accept> <categories fixed="yes" /> </collection> </workspace> </service>
In the above Service Document there are three collections (blue), each with a title tag (red), and a number of accept tags (green). The collections are the Atom services that you are allowed to interact with. The title gives a human readable description of what that collection does. You are not allowed to send just any data to that collection. Each collection accepts certain kinds of data. The type of data they accept are described in their accept tags.
For instance, if you want to post a new Blog Entry you would POST an Atom Entry
to this URL:
That is because the title of that collection is "Weblog Entries," it accepts
and the URL is in the collection's the
Here are the important things to take from the Service Document:
<collection>describes a service.
That service is accessed via the URL found in that collection's
A hint to what that service is used for is found in the
The list of formats you can upload to that collection are listed in
You may then make use of the REST architecture to POST and GET Atom Entries and Feeds.