understanding iCal - mime-directories

I guess we are all surprised about the sudden flurry of messages on this
list.  At this point I don't want to propose anything or suggest a course of
action, though of course I have objectives just like anyone else. I would
just like to give some help to anyone wishing to understand iCal at schema
level.

For starters there is RFC2445 - which anyone can take a look at.

http://www.faqs.org/rfcs/rfc2445.html

RFC2445 is the basic representation of iCal and it has a structural
framework called Mime-directory. Mime-directory was actually created for
iCal and vCard, and as far as I know there are no other active uses. (note:
Chris Apple of AT&T Labs suggested a Mime-directory schema for listing
metadata in 1998) If you wish, you can think of Mime-directory as an
equivilent to XML exclusive to iCal and vCard.

Roughly the evolution of iCal (originaly called vCal... - see

http://www.imc.org/

for the whole story on that) ... and vCard can be though of as follows:

A formal representaion and standardization of calendars and business cards
for A2A interoperability is desired.  A language is devised -
Mime-directory, and simultaneously DTD's for calender and business card
objects are constructed using this Mime-directory format.

Mime directory is proosed in this draft: [MIMEDIR] T. Howes, M. Smith, "A
MIME Content-Type for Directory Information", INTERNET-DRAFT, November 1997.
Eventually becomming RFC 2425


XML 1.0 is formally defined in EBNF (see this article by the EBNF author:
http://www.xml.com/pub/a/98/10/guide5.html

- iCal RFC2445 is formally defined in ABNF- RFC 2234
http://www.faqs.org/rfcs/rfc2234.html

Mime-directory has Components; sets of properties and property parameters -
there is no direct equivilent to Components in XML - Root ellements perhaps
helps as a reference. In any case Components facilitate the only "nesting"
in mime-directory

Mime-directory has Properties - the equivelent to Ellements in XML
Mime-directory has Property parameters  - the equivelent to Attributes in
XML

example in mime-directory:

BEGIN:VEVENT
     	UID:19970901T130000Z-123403@host.com
     	DTSTAMP:19970901T1300Z
     	DTSTART;VALUE=DATE:19971102
     	SUMMARY:Our Blissful Anniversary
     	CLASS:CONFIDENTIAL
     	CATEGORIES:ANNIVERSARY,PERSONAL,SPECIAL OCCASION
     	RRULE:FREQ=YEARLY
	ATTACH;FMTTYPE=application/postscript:ftp://xyzCorp.com/pub/
      reports/r-960812.ps
END:VEVENT


the equivilent as XML

<?xml version="1.0" encoding="UTF-8"?>
<VEVENT>
	<UID>19970901T130000Z-123403@host.com</UID>
	<DTSTAMP>19970901T1300Z</DTSTAMP>
	<DTSTART value="date">19971102</DTSTART>
	<SUMMARY>Our Blissful Anniversary</SUMMARY>
	<CLASS>CONFIDENTIAL</CLASS>
	<CATEGORIES>ANNIVERSARY,PERSONAL,SPECIAL OCCASION</CATEGORIES>
	<RRULE>FREQ=YEARLY</RRULE>
	<ATTACH FMTTYPE= "application/postscript:ftp://xyzCorp.com/pub/
      reports/r-960812.ps"/>
</VEVENT>

Note:
- no end tags in mime-directory
- property parameters are seperated from their parent properties with ";"
and not whitespaces as in XML. There are no manditory quotes for the values
of property parameters.
- And of course all property and propery parameters are constrained by
RFC2445 (the DTD, so to speak of iCal) - But! there is one catch-all here.
Any "experimental" property or property parameter can be used in an iCal
object IF is is proceeded by "X-", so the property:
"X-DIGIPHERNELIA" is just fine.

I hope some find this helpful.

I have also loaded down Michael Arick's UML charts, but I will refrain from
commenting on them until I find my magnifying glass.

Greg

Received on Thursday, 31 May 2001 12:46:24 UTC