The Cover PagesThe OASIS Cover Pages: The Online Resource for Markup Language Technologies
SEARCH | ABOUT | INDEX | NEWS | CORE STANDARDS | TECHNOLOGY REPORTS | EVENTS | LIBRARY
SEARCH
Advanced Search
ABOUT
Site Map
CP RSS Channel
Contact Us
Sponsoring CP
About Our Sponsors

NEWS
Cover Stories
Articles & Papers
Press Releases

CORE STANDARDS
XML
SGML
Schemas
XSL/XSLT/XPath
XLink
XML Query
CSS
SVG

TECHNOLOGY REPORTS
XML Applications
General Apps
Government Apps
Academic Apps

EVENTS
LIBRARY
Introductions
FAQs
Bibliography
Technology and Society
Semantics
Tech Topics
Software
Related Standards
Historic
Last modified: February 08, 2010
iCalendar DTD Document (xCal)

2009-2010 Updates


Notice 2010-02: Many of the URIs cited below from the 2001 timeframe are now broken. Better (working) links are found for some of the specifications in Early XML Formalisms for iCalendar.


[November 03, 2001] The 2001-08-20 IETF document iCalendar DTD Document (xCal) defines an XML Document Type Definition (DTD) that corresponds to the iCalendar, Internet Calendaring and Scheduling Core Object Specification defined by RFC 2445. This DTD provides equivalent functionality to the standard format defined by RFC 2445. Documents structured in accordance with this DTD may also be known as 'XML iCalendar' documents or 'xCal'.

From the 2001-08-20 document Introduction:

The Extensible Markup Language (XML) as defined in [W3C XML Recommendation] is gaining widespread attention as a 'web friendly' syntax for representing and exchanging documents and data on the Internet. This interest includes requests for and discussion of possible document type definitions (DTD) and name-space for IETF standard formats such as that defined by RFC 2445. This memo defines how XML can be used to represent iCalendar objects. This memo includes the definition of the XML DTD for a XML document representation of an iCalendar object. RFC 2445 is the definitive reference for the definition of iCalendar semantics. This memo only provides an alternative, XML representation for the standard syntax defined in RFC 2445. This memo does not introduce any semantics not already defined by RFC 2445.

An attempt has been made to leverage the standard features of the XML syntax in order to represent the component iCalendar semantics. For example, strong data typing is specified using the XML notation declaration. The element type attributes are used to represent many of the calendar properties that provide a "global attribute" capability in an iCalendar object. Binary content in the ATTACH component property may either be specified through an external entity reference to a non-XML binary content or may be included in the XML document's content information, after first being encoding using the BASE64 scheme of RFC 2146. Parameter entities are used to logically group content particles in the XML DTD in order to facilitate reading and comprehension of the structure specified by the iCalendar XML DTD.

It is expected that the DTD defined in this memo will not normally be included with iCalendar XML documents that are distributed. Instead, the DTD will be referenced in the document type declaration in the document entity. Such iCalendar XML documents will be well-formed and valid, as defined in XML. In addition, other iCalendar XML documents will be specified that do not include the XML prolog. Such iCalendar XML documents will be well-formed but not valid.

[January 20, 1999] "The iCalendar XML DTD" is described in an IETF Network Working Group Internet Draft (draft-dawson-ical-xml-dtd-01.txt), written by Frank Dawson of Lotus. The memo "defines a XML Document Type Definition (DTD) that corresponds to the iCalendar, calendaring and scheduling core object format defined by RFC 2445. This DTD provides equivalent functionality to the standard format defined by RFC 2445. Documents structured in accordance with this DTD may also be know as 'XML iCalendar' documents. . .The iCalendar DTD promotes a number of iCalendar properties into attributes on the 'iCal' element. This has been done to express these properties as 'global attributes' for the iCalendar object, as a whole. For example, the CALSCALE, METHOD, VERSION and PRODID properties have been 'mapped' into attributes on the iCalendar object."

[March 09, 1999] The iCalendar DTD Document (IETF Network Working Group Internet Draft: draft-many-ical-xmldoc-00.txt) was authored by Frank Dawson (Lotus), Surendra Reddy (Oracle), and Doug Royer (Sun Microsystems). February 20, 1999. This memo "defines how XML can be used to represent iCalendar objects; it includes the definition of the XML DTD for a XML document representation of an iCalendar object. The memo defines a XML Document Type Definition (DTD) that corresponds to the iCalendar, Internet Calendaring and Scheduling Core Object Specification defined by RFC 2445. This DTD provides equivalent functionality to the standard format defined by RFC 2445. Documents structured in accordance with this DTD may also be known as "XML iCalendar" documents.

The Reefknot Project goals are to: (1) Build a Perl toolkit for iCalendar/RFC2445 compliant calendaring; (2) Use the toolkit to build one or more example implementations of calendar servers and clients. See also the Sourceforge project page.

Other References

Principal References:

  • Calendaring Extensions to WebDAV (CalDAV). By Cyrus Daboo, Bernard Desruisseaux (Oracle Corporation), and Lisa Dusseault (Open Source Application Foundation). IETF Network Working Group. Internet-Draft: 'draft-dusseault-caldav-10'. February 21, 2006, expires August 25, 2006. 94 pages. Also in XML format. "This document specifies a set of methods, headers, message bodies, properties, and reports that define calendar access extensions to the WebDAV protocol. The new protocol elements are intended to make WebDAV-based calendaring and scheduling an interoperable standard that supports calendar access, calendar management, calendar sharing, and calendar publishing. This document proposes a way to model calendar data in WebDAV, with additional features to make an interoperable calendar access protocol. A CalDAV calendar is modeled as a WebDAV collection with a defined structure; each calendar collection contains a number of resources representing calendar objects as its direct child resource. Each resource representing a calendar object (event or to-do, or journal entry, or other calendar components) is called a 'calendar object resource'. Each calendar object resource and each calendar collection can be individually locked and have individual WebDAV properties." Section 9 (pages 65-77) covers "XML Element Definitions" (CALDAV:calendar, CALDAV:mkcalendar, CALDAV:mkcalendar-response, CALDAV:calendar-query, CALDAV:calendar-data, CALDAV:filter, CALDAV:timezone, CALDAV:time-range, CALDAV:calendar-multiget, CALDAV:free-busy-query). The authors anticipate submission of the CalDAV draft for Last Call in time for the 65th IETF Meeting (Dallas, TX, USA, March 19-24, 2006). Source: see the I-D Tracker and CalDAV Resources.

  • [December 31, 2003]   Proposed Calendar Server Extensions for WebDAV (CalDAV).    IETF has announced the publication of an initial working draft for Calendar Server Extensions for WebDAV (CalDAV). The CalDAV draft been submitted to the IETF CALSCH working group for consideration of the mechanisms designed to enable interoperable calendar access over WebDAV. The draft specification was commissioned at the Fall 2003 Minneapolis meeting of the IETF Calendaring and Scheduling Working Group Working Group and is intended as an exploration of the advantages of using WebDAV as well as a proposal for one way to model calendaring data, with some ideas for how to specify the features that go beyond WebDAV." Under the initial proposal, a CalDAV server would need to support WebDAV Level 1 and 2, WebDAV ACL, DASL (DAV Searching and Locating), and HTTP/SASL; WebDAV DeltaV support would be optional. The document describes certain features that are required for modern enterprise-level calendar systems are not present in HTTP or WebDAV, including fanout (server supports fanning out scheduling requests on behalf of the client), recurrance (support for recurring appointments are common in calendaring applications), and notifications (optimal way for the server to contact the client). "A CalDav repository, or server, is a calendaring-aware engine combined with a WebDAV repository. The CalDAV server or repository is the canonical location for calendar data, state information and semantics. The CalDAV server has significant responsibility to ensure that the data is consistent and compliant. Clients may submit requests to change data or download data. Clients may store the calendar offline and attempt to synchronize when reconnected, but changes to the repository occurring in between are not considered to be automatically disposable and clients should consider the repository to be the first authority on state. HTTP Etags and other tools help this work."

  • iCalendar DTD Document (xCal). IETF Network Working Group Internet-Draft. Reference: 'draft-ietf-calsch-many-xcal-00'. August 20, 2001. Expires: February 18, 2002. By Frank Dawson (Lotus), Surendra K. Reddy (Oracle), Doug Royer (Sun Microsystems), and Eric R. Plamondon (Steltor). [cache]

  • iCalendar XML Document Type Definition
  • IETF Calendaring and Scheduling Working Group (calsch)
  • IETF-calendar mailing list web site
  • RFC2445 - Internet Calendaring and Scheduling Core Object Specification - iCalendar. [cache]

  • Earlier references:
  • Contact: Frank Dawson


Hosted By
OASIS - Organization for the Advancement of Structured Information Standards

Sponsored By

IBM Corporation
ISIS Papyrus
Microsoft Corporation
Oracle Corporation

Primeton

XML Daily Newslink
Receive daily news updates from Managing Editor, Robin Cover.

 Newsletter Subscription
 Newsletter Archives
Globe Image

Document URI: http://xml.coverpages.org/iCal.html  —  Legal stuff
Robin Cover, Editor: robin@oasis-open.org