A walkthrough an RSS 1.0 calendar

Suppose we have descriptions of two meetings that we want to syndicate as
an RSS 1.0 channel. One event is a physical meeting with two attendees at
RDFWeb HQ, on 2002-01-04 at 10am GMT. The other is a teleconference
with three attendees at 5pm GMT.

The following follows the guidellines for creating RSS 1.0
channels and modules.
RSS 1.0 uses RDF, which can be thought of as a
specific set of design conventions for XML. This
requires that we write down a standard introduction to the file, stating
that it is XML and RDF, and that we are using certain shorthands for the
various namespaces used:

We also need to write down a contents list for the channel. "Seq" is
just a sequence or ordered list. "li" is like the html li tag, an element
of a list. Each event must have a url associated with it - this is the
part in the resource= attribute.

That's the end of the channel tag. So far this is identical to the
ordinary proceedure for RSS 1.0 channels.

</channel>

Now we can say more about the things we've said are in the channel.
We can say more about the image, which should have the same url in
rdf:about as we had in <image rdf:resource above. It should have a
title, a link, and a description.

Then we want to talk about the items, or contents of the channel
themselves. For each item we use
rdf:about to refer to the urls of the items as used in the contents.
As usual in RSS 1.0, the item must have a title, link and description.

Now we can start adding information about the calendar information
associated with this item. The meeting has a start date-time, which points
to an object of type Date-time. The Date-time has a textual rdf:value
associated with it, a string representing the date-time in RFC 8601
format. The Z represents UTC, equivalent to GMT. For other timezones a
slightly more complex representation is required (example here; see also issues).

Then we can add information about people attending the meeting.
iCalendar represents people by their email address. Which is why the
Cal-address object has an rdf:about tag pointing to the mail
address of the person it represents. Here there is also some additional
information about the attendees, using the foaf ("friend of a friend")
vocabulary.

Here's an example of an item which uses a
timezone identifier instead
of UTC. The timezone url refers to a different file, because describing
timezones is complex. Here's an example of
a timezone file.