xCal: The XML Format for iCalendar
RFC 6321
Document | Type |
RFC
- Proposed Standard
(August 2011)
Errata
Was
draft-daboo-et-al-icalendar-in-xml
(individual in app area)
|
|
---|---|---|---|
Authors | Mike Douglass , Cyrus Daboo , Steven Lees | ||
Last updated | 2020-01-21 | ||
RFC stream | Internet Engineering Task Force (IETF) | ||
Formats | |||
IESG | Responsible AD | Peter Saint-Andre | |
Send notices to | (None) |
RFC 6321
quot; } } # 3.8.3 Time Zone Component Properties # 3.8.3.1 Time Zone Identifier property-tzid = element tzid { element parameters { empty }?, value-text } # 3.8.3.2 Time Zone Name property-tzname = element tzname { element parameters { languageparam? }?, value-text } # 3.8.3.3 Time Zone Offset From property-tzoffsetfrom = element tzoffsetfrom { element parameters { empty }?, value-utc-offset } # 3.8.3.4 Time Zone Offset To property-tzoffsetto = element tzoffsetto { element parameters { empty }?, value-utc-offset } Daboo, et al. Standards Track [Page 43] RFC 6321 xCal August 2011 # 3.8.3.5 Time Zone URL property-tzurl = element tzurl { element parameters { empty }?, value-uri } # 3.8.4 Relationship Component Properties # 3.8.4.1 Attendee property-attendee = element attendee { element parameters { cutypeparam? & memberparam? & roleparam? & partstatparam? & rsvpparam? & deltoparam? & delfromparam? & sentbyparam? & cnparam? & dirparam? & languageparam? }?, value-cal-address } # 3.8.4.2 Contact property-contact = element contact { element parameters { altrepparam? & languageparam? }?, value-text } # 3.8.4.3 Organizer property-organizer = element organizer { Daboo, et al. Standards Track [Page 44] RFC 6321 xCal August 2011 element parameters { cnparam? & dirparam? & sentbyparam? & languageparam? }?, value-cal-address } # 3.8.4.4 Recurrence ID property-recurid = element recurrence-id { element parameters { tzidparam? & rangeparam? }?, value-date-time | value-date } # 3.8.4.5 Related-To property-related = element related-to { element parameters { reltypeparam? }?, value-text } # 3.8.4.6 Uniform Resource Locator property-url = element url { element parameters { empty }?, value-uri } # 3.8.4.7 Unique Identifier property-uid = element uid { element parameters { empty }?, Daboo, et al. Standards Track [Page 45] RFC 6321 xCal August 2011 value-text } # 3.8.5 Recurrence Component Properties # 3.8.5.1 Exception Date/Times property-exdate = element exdate { element parameters { tzidparam? }?, value-date-time+ | value-date+ } # 3.8.5.2 Recurrence Date/Times property-rdate = element rdate { element parameters { tzidparam? }?, value-date-time+ | value-date+ | value-period+ } # 3.8.5.3 Recurrence Rule property-rrule = element rrule { element parameters { empty }?, value-recur } # 3.8.6 Alarm Component Properties # 3.8.6.1 Action property-action = element action { element parameters { empty }?, Daboo, et al. Standards Track [Page 46] RFC 6321 xCal August 2011 element text { "AUDIO" | "DISPLAY" | "EMAIL" } } # 3.8.6.2 Repeat Count property-repeat = element repeat { element parameters { empty }?, value-integer } # 3.8.6.3 Trigger property-trigger = element trigger { ( element parameters { trigrelparam? }?, value-duration ) | ( element parameters { empty }?, value-date-time ) } # 3.8.7 Change Management Component Properties # 3.8.7.1 Date/Time Created property-created = element created { element parameters { empty }?, value-date-time } # 3.8.7.2 Date/Time Stamp property-dtstamp = element dtstamp { Daboo, et al. Standards Track [Page 47] RFC 6321 xCal August 2011 element parameters { empty }?, value-date-time } # 3.8.7.3 Last Modified property-last-mod = element last-modified { element parameters { empty }?, value-date-time } # 3.8.7.4 Sequence Number property-seq = element sequence { element parameters { empty }?, value-integer } # 3.8.8 Miscellaneous Component Properties # 3.8.8.3 Request Status property-rstatus = element request-status { element parameters { languageparam? }?, element code { xsd:string }, element description { xsd:string }, element data { xsd:string }? } Daboo, et al. Standards Track [Page 48] RFC 6321 xCal August 2011 Appendix B. Examples This section contains two examples of iCalendar objects with their xCal representation. B.1. Example 1 B.1.1. iCalendar Data BEGIN:VCALENDAR CALSCALE:GREGORIAN PRODID:-//Example Inc.//Example Calendar//EN VERSION:2.0 BEGIN:VEVENT DTSTAMP:20080205T191224Z DTSTART:20081006 SUMMARY:Planning meeting UID:4088E990AD89CB3DBB484909 END:VEVENT END:VCALENDAR B.1.2. XML Data <?xml version="1.0" encoding="utf-8"?> <icalendar xmlns="urn:ietf:params:xml:ns:icalendar-2.0"> <vcalendar> <properties> <calscale> <text>GREGORIAN</text> </calscale> <prodid> <text>-//Example Inc.//Example Calendar//EN</text> </prodid> <version> <text>2.0</text> </version> </properties> <components> <vevent> <properties> <dtstamp> <date-time>2008-02-05T19:12:24Z</date-time> </dtstamp> <dtstart> <date>2008-10-06</date> </dtstart> <summary> <text>Planning meeting</text> Daboo, et al. Standards Track [Page 49] RFC 6321 xCal August 2011 </summary> <uid> <text>4088E990AD89CB3DBB484909</text> </uid> </properties> </vevent> </components> </vcalendar> </icalendar> B.2. Example 2 B.2.1. iCalendar Data VERSION:2.0 PRODID:-//Example Corp.//Example Client//EN BEGIN:VTIMEZONE LAST-MODIFIED:20040110T032845Z TZID:US/Eastern BEGIN:DAYLIGHT DTSTART:20000404T020000 RRULE:FREQ=YEARLY;BYDAY=1SU;BYMONTH=4 TZNAME:EDT TZOFFSETFROM:-0500 TZOFFSETTO:-0400 END:DAYLIGHT BEGIN:STANDARD DTSTART:20001026T020000 RRULE:FREQ=YEARLY;BYDAY=-1SU;BYMONTH=10 TZNAME:EST TZOFFSETFROM:-0400 TZOFFSETTO:-0500 END:STANDARD END:VTIMEZONE BEGIN:VEVENT DTSTAMP:20060206T001121Z DTSTART;TZID=US/Eastern:20060102T120000 DURATION:PT1H RRULE:FREQ=DAILY;COUNT=5 RDATE;TZID=US/Eastern;VALUE=PERIOD:20060102T150000/PT2H SUMMARY:Event #2 DESCRIPTION:We are having a meeting all this week at 12 pm fo r one hour\, with an additional meeting on the first day 2 h ours long.\nPlease bring your own lunch for the 12 pm meetin gs. UID:00959BC664CA650E933C892C@example.com END:VEVENT BEGIN:VEVENT Daboo, et al. Standards Track [Page 50] RFC 6321 xCal August 2011 DTSTAMP:20060206T001121Z DTSTART;TZID=US/Eastern:20060104T140000 DURATION:PT1H RECURRENCE-ID;TZID=US/Eastern:20060104T120000 SUMMARY:Event #2 bis UID:00959BC664CA650E933C892C@example.com END:VEVENT END:VCALENDAR B.2.2. XML Data <?xml version="1.0" encoding="utf-8" ?> <icalendar xmlns="urn:ietf:params:xml:ns:icalendar-2.0"> <vcalendar> <properties> <prodid> <text>-//Example Inc.//Example Client//EN</text> </prodid> <version> <text>2.0</text> </version> </properties> <components> <vtimezone> <properties> <last-modified> <date-time>2004-01-10T03:28:45Z</date-time> </last-modified> <tzid>US/Eastern</tzid> </properties> <components> <daylight> <properties> <dtstart> <date-time>2000-04-04T02:00:00</date-time> </dtstart> <rrule> <recur> <freq>YEARLY</freq> <byday>1SU</byday> <bymonth>4</bymonth> </recur> </rrule> <tzname> <text>EDT</text> </tzname> <tzoffsetfrom> <utc-offset>-05:00</utc-offset> Daboo, et al. Standards Track [Page 51] RFC 6321 xCal August 2011 </tzoffsetfrom> <tzoffsetto> <utc-offset>-04:00</utc-offset> </tzoffsetto> </properties> </daylight> <standard> <properties> <dtstart> <date-time>2000-10-26T02:00:00</date-time> </dtstart> <rrule> <recur> <freq>YEARLY</freq> <byday>-1SU</byday> <bymonth>10</bymonth> </recur> </rrule> <tzname> <text>EST</text> </tzname> <tzoffsetfrom> <utc-offset>-04:00</utc-offset> </tzoffsetfrom> <tzoffsetto> <utc-offset>-05:00</utc-offset> </tzoffsetto> </properties> </standard> </components> </vtimezone> <vevent> <properties> <dtstamp> <date-time>2006-02-06T00:11:21Z</date-time> </dtstamp> <dtstart> <parameters> <tzid><text>US/Eastern</text></tzid> </parameters> <date-time>2006-01-02T12:00:00</date-time> </dtstart> <duration> <duration>PT1H</duration> </duration> <rrule> <recur> <freq>DAILY</freq> Daboo, et al. Standards Track [Page 52] RFC 6321 xCal August 2011 <count>5</count> </recur> </rrule> <rdate> <parameters> <tzid><text>US/Eastern</text></tzid> </parameters> <period> <start>2006-01-02T15:00:00</start> <duration>PT2H</duration> </period> </rdate> <summary> <text>Event #2</text> </summary> <description> <text>We are having a meeting all this week at 12 pm for one hour, with an additional meeting on the first day 2 hours long.
Please bring your own lunch for the 12 pm meetings.</text> </description> <uid> <text>00959BC664CA650E933C892C@example.com</text> </uid> </properties> </vevent> <vevent> <properties> <dtstamp> <date-time>2006-02-06T00:11:21Z</date-time> </dtstamp> <dtstart> <parameters> <tzid><text>US/Eastern</text></tzid> </parameters> <date-time>2006-01-04T14:00:00</date-time> </dtstart> <duration> <duration>PT1H</duration> </duration> <recurrence-id> <parameters> <tzid><text>US/Eastern</text></tzid> </parameters> <date-time>2006-01-04T12:00:00</date-time> </recurrence-id> <summary> <text>Event #2 bis</text> Daboo, et al. Standards Track [Page 53] RFC 6321 xCal August 2011 </summary> <uid> <text>00959BC664CA650E933C892C@example.com</text> </uid> </properties> </vevent> </components> </vcalendar> </icalendar> Authors' Addresses Cyrus Daboo Apple Inc. 1 Infinite Loop Cupertino, CA 95014 USA EMail: cyrus@daboo.name URI: http://www.apple.com/ Mike Douglass Rensselaer Polytechnic Institute 110 8th Street Troy, NY 12180 USA EMail: douglm@rpi.edu URI: http://www.rpi.edu/ Steven Lees Microsoft Corporation One Microsoft Way Redmond, WA 98052 USA EMail: steven.lees@microsoft.com URI: http://www.microsoft.com/ Daboo, et al. Standards Track [Page 54]