Search This Blog

Friday, March 12, 2010

IETF Publishes xCal: The XML Format for iCalendar

Cyrus Daboo, Mike Douglass, and Steven Lees (eds), IETF Internet Draft

An IETF Internet Draft previously published under the title "iCalendar
XML Representation" has been revised and issued under the new title
"xCal: The XML Format for iCalendar." An added Section 5 (Handling
Link Elements in XML and iCal) now recommends a preferred format for
links in xCal documents, specifies an iCalendar extension for including
links in iCalendar documents, and describes how to convert between the
two formats.

"The iCalendar data format defined in IETF RFC 5545 is a widely deployed
interchange format for calendaring and scheduling data. While many
applications and services consume and generate calendar data, iCalendar
is a specialized format that requires its own parser/generator. In
contrast, XML-based formats are widely used for interoperability between
applications, and the many tools that generate, parse, and manipulate
XML make it easier to work with than iCalendar.

The purpose of this specification is to define 'xCal', an XML format
that allows iCalendar data to be converted to XML, and then back to
iCalendar, without losing any semantic meaning in the data. Anyone
creating XML calendar data according to this specification will know
that their data can be converted to a valid iCalendar representation
as well. Two key design considerations are: (1) Round-tripping
(converting an iCalendar instance to XML and back) will give the same
result as the starting point. (2) Preserving the semantics of the
iCalendar data. While a simple consumer can easily browse the calendar
data in XML, a full understanding of iCalendar is still required in
order to modify and/or fully comprehend the calendar data.

Handling Link Elements in XML and iCal: Both Atom (RFC 4287) and HTML
use a link element to reference external information which is related
in some way to the referencing document. iCalendar (RFC 5545) does not
have such a mechanism. There are several common use cases where it would
be useful for a calendar item to link to external structured data. For
instance, it would be useful for an event item to denote the location
of the event by referencing a vCard. Similarly, there may be a primary
contact person for the event, and that person's vCard should be linked
from the event as well. It is recommended therefore that calendar data
in the xCal format use the Atom link element, as specified in RFC 5545
section 4.2.7, for linking to external related resources. The Relation
Name 'location' designates a location for the referencing item. Typically
the location will be in the form of a vCard, but it could be some other
kind of document containing location information... A LINK extension
property for iCalendar is used to reference external documents related
to this calendar item. The property can appear on any iCalendar component,
and the value of this property is a URI which references an external
resource related to the component. Since the LINK parameter is specified
in terms of the link element defined by RFC 5545, converting between
the two is straightforward. When converting from iCalendar to xCal,
simply take any parameters present and assign their values to the
corresponding attribute on the link element. Any unknown extensions
either in the iCalendar or xCal format MAY be ignored when converting
to the other format..." More Detail

No comments: