aboutsummaryrefslogtreecommitdiffstats
path: root/vendor/sabre/dav/docs/rfc6321.txt
diff options
context:
space:
mode:
authorKlaus Weidenbach <Klaus.Weidenbach@gmx.net>2014-06-28 22:28:08 +0200
committerKlaus Weidenbach <Klaus.Weidenbach@gmx.net>2014-06-29 01:17:07 +0200
commit03b31d113ea316c8384a4cbf3d27ca22bb528eac (patch)
tree92ed87436b09ab806f9effff08145408044d77f4 /vendor/sabre/dav/docs/rfc6321.txt
parentf49b74c5f6ebe57937fb6dfea7d2e917f4680ce9 (diff)
downloadvolse-hubzilla-03b31d113ea316c8384a4cbf3d27ca22bb528eac.tar.gz
volse-hubzilla-03b31d113ea316c8384a4cbf3d27ca22bb528eac.tar.bz2
volse-hubzilla-03b31d113ea316c8384a4cbf3d27ca22bb528eac.zip
Update SabreDAV from 1.8.9 to 1.8.10.
Diffstat (limited to 'vendor/sabre/dav/docs/rfc6321.txt')
-rw-r--r--vendor/sabre/dav/docs/rfc6321.txt3027
1 files changed, 0 insertions, 3027 deletions
diff --git a/vendor/sabre/dav/docs/rfc6321.txt b/vendor/sabre/dav/docs/rfc6321.txt
deleted file mode 100644
index c038c64cf..000000000
--- a/vendor/sabre/dav/docs/rfc6321.txt
+++ /dev/null
@@ -1,3027 +0,0 @@
-
-
-
-
-
-
-Internet Engineering Task Force (IETF) C. Daboo
-Request for Comments: 6321 Apple, Inc.
-Category: Standards Track M. Douglass
-ISSN: 2070-1721 RPI
- S. Lees
- Microsoft
- August 2011
-
-
- xCal: The XML Format for iCalendar
-
-Abstract
-
- This specification defines "xCal", an XML format for iCalendar data.
-
-Status of This Memo
-
- This is an Internet Standards Track document.
-
- This document is a product of the Internet Engineering Task Force
- (IETF). It represents the consensus of the IETF community. It has
- received public review and has been approved for publication by the
- Internet Engineering Steering Group (IESG). Further information on
- Internet Standards is available in Section 2 of RFC 5741.
-
- Information about the current status of this document, any errata,
- and how to provide feedback on it may be obtained at
- http://www.rfc-editor.org/info/rfc6321.
-
-Copyright Notice
-
- Copyright (c) 2011 IETF Trust and the persons identified as the
- document authors. All rights reserved.
-
- This document is subject to BCP 78 and the IETF Trust's Legal
- Provisions Relating to IETF Documents
- (http://trustee.ietf.org/license-info) in effect on the date of
- publication of this document. Please review these documents
- carefully, as they describe your rights and restrictions with respect
- to this document. Code Components extracted from this document must
- include Simplified BSD License text as described in Section 4.e of
- the Trust Legal Provisions and are provided without warranty as
- described in the Simplified BSD License.
-
-
-
-
-
-
-
-
-Daboo, et al. Standards Track [Page 1]
-
-RFC 6321 xCal August 2011
-
-
-Table of Contents
-
- 1. Introduction ....................................................3
- 2. Conventions Used in This Document ...............................4
- 3. Converting from iCalendar to xCal ...............................4
- 3.1. Pre-Processing .............................................4
- 3.2. iCalendar Stream (RFC 5545, Section 3.4) ...................5
- 3.3. Components (RFC 5545, Section 3.6) .........................6
- 3.4. Properties (RFC 5545, Sections 3.7 and 3.8) ................6
- 3.4.1. Special Cases for Properties ........................8
- 3.4.1.1. Multi-Valued Properties ....................8
- 3.4.1.2. GEO Property ...............................9
- 3.4.1.3. REQUEST-STATUS Property ....................9
- 3.5. Parameters (RFC 5545, Section 3.2) ........................10
- 3.5.1. VALUE Parameter ....................................11
- 3.6. Values (RFC 5545, Section 3.3) ............................11
- 3.6.1. Binary (RFC 5545, Section 3.3.1) ...................12
- 3.6.2. Boolean (RFC 5545, Section 3.3.2) .................12
- 3.6.3. Calendar User Address (RFC 5545, Section 3.3.3) ....12
- 3.6.4. Date (RFC 5545, Section 3.3.4) .....................12
- 3.6.5. Date-Time (RFC 5545, Section 3.3.5) ................13
- 3.6.6. Duration (RFC 5545, Section 3.3.6) .................13
- 3.6.7. Float (RFC 5545, Section 3.3.7) ....................13
- 3.6.8. Integer (RFC 5545, Section 3.3.8) ..................14
- 3.6.9. Period of Time (RFC 5545, Section 3.3.9) ...........14
- 3.6.10. Recurrence Rule (RFC 5545, Section 3.3.10) ........14
- 3.6.11. Text (RFC 5545, Section 3.3.11) ...................15
- 3.6.12. Time (RFC 5545, Section 3.3.12) ...................15
- 3.6.13. URI (RFC 5545, Section 3.3.13) ....................15
- 3.6.14. UTC Offset (RFC 5545, Section 3.3.14) .............16
- 3.7. Extensions ................................................16
- 4. Converting from xCal into iCalendar ............................16
- 4.1. Converting XML Extensions into iCalendar ..................16
- 4.2. The XML Property for iCalendar ............................17
- 5. Handling Unrecognized Properties or Parameters .................18
- 6. Security Considerations ........................................19
- 7. IANA Considerations ............................................20
- 7.1. Namespace Registration ....................................20
- 7.2. Media Type ................................................20
- 7.3. iCalendar Property Registrations ..........................21
- 8. Acknowledgments ................................................22
- 9. References .....................................................22
- 9.1. Normative References ......................................22
- 9.2. Informative References ....................................22
-
-
-
-
-
-
-
-Daboo, et al. Standards Track [Page 2]
-
-RFC 6321 xCal August 2011
-
-
- Appendix A. RELAX NG Schema .......................................23
- Appendix B. Examples ..............................................49
- B.1. Example 1 ..................................................49
- B.1.1. iCalendar Data .........................................49
- B.1.2. XML Data ...............................................49
- B.2. Example 2 ..................................................50
- B.2.1. iCalendar Data .........................................50
- B.2.2. XML Data ...............................................51
-
-1. Introduction
-
- The iCalendar data format [RFC5545] 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
- for iCalendar data. xCal is defined as a straightforward mapping into
- XML from iCalendar, so that iCalendar data can be converted to XML,
- and then back to iCalendar, without losing any semantic meaning in
- the data. Anyone creating xCal calendar data according to this
- specification will know that their data can be converted to a valid
- iCalendar representation as well.
-
- Key design considerations are:
-
- Round-tripping (converting an iCalendar instance to xCal and back)
- will give the same semantic result as the starting point. That
- is, all components, properties, and property parameters are
- guaranteed to be preserved, with the exception of those that have
- default values.
-
- xCal preserves the semantics of the iCalendar data. While a
- simple consumer can easily browse the calendar data in xCal, a
- full understanding of iCalendar is still required in order to
- modify and/or fully comprehend the calendar data.
-
- xCal has the ability to handle many extensions to the underlying
- iCalendar specification without requiring an update to this
- document.
-
-
-
-
-
-
-
-
-Daboo, et al. Standards Track [Page 3]
-
-RFC 6321 xCal August 2011
-
-
-2. Conventions Used in This Document
-
- The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
- "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
- document are to be interpreted as described in [RFC2119].
-
- When XML element types in the namespace
- "urn:ietf:params:xml:ns:icalendar-2.0" are referenced in this
- document outside of the context of an XML fragment, the string "IC:"
- will be prefixed to the element types.
-
- Some examples in this document contain "partial" XML documents used
- for illustrative purposes. In these examples, three periods "..."
- are used to indicate a portion of the document that has been removed
- for compactness.
-
-3. Converting from iCalendar to xCal
-
- This section describes how iCalendar data is converted to xCal using
- a simple mapping between the iCalendar data model and XML elements.
-
-3.1. Pre-Processing
-
- iCalendar uses a line folding mechanism to limit lines of data to a
- maximum line length (typically 72 characters) to ensure maximum
- likelihood of preserving data integrity as it is transported via
- various means (e.g., email) -- see Section 3.1 of [RFC5545]. Prior
- to converting iCalendar data into xCal, all folded lines MUST be
- unfolded.
-
- iCalendar data uses an "escape" character sequence for text values
- and property parameter values. When such text elements are converted
- into xCal, the escaping MUST be removed.
-
- iCalendar uses a base64 encoding for binary data. However, it does
- not restrict the encoding from being applied to non-binary value
- types. So, the following rules MUST be applied when processing a
- property with the "ENCODING" property parameter set to "BASE64":
-
- o If the property value type is "BINARY", the base64 encoding MUST
- be preserved.
-
- o If the value type is not "BINARY", the "ENCODING" property
- parameter MUST be removed, and the value MUST be base64 decoded.
-
- When base64 encoding and decoding are used, they MUST conform to
- Section 4 of [RFC4648], which is the base64 method used in [RFC5545].
-
-
-
-
-Daboo, et al. Standards Track [Page 4]
-
-RFC 6321 xCal August 2011
-
-
- One key difference in the formatting of values used in iCalendar and
- xCal is that, in xCal, the specification uses date/time and UTC
- offset values aligned with the syntax of
- [W3C.REC-xmlschema-2-20041028] to aid with XML processing.
-
-3.2. iCalendar Stream (RFC 5545, Section 3.4)
-
- At the top level of the iCalendar object model is an "iCalendar
- stream". This object encompasses multiple "iCalendar objects". In
- xCal, the entire stream is contained in the root IC:icalendar XML
- element.
-
- An iCalendar stream can contain one or more iCalendar objects. Each
- iCalendar object, delimited by "BEGIN:VCALENDAR" and "END:VCALENDAR",
- is enclosed by the IC:vcalendar XML element.
-
- Example:
-
- <?xml version="1.0" encoding="utf-8"?>
- <icalendar xmlns="urn:ietf:params:xml:ns:icalendar-2.0">
- <vcalendar>
- ...
- </vcalendar>
- </icalendar>
-
- iCalendar objects are comprised of a set of "components",
- "properties", "parameters", and "values". A "component" can contain
- other "components" or "properties". A "property" has a value and a
- set of zero or more "parameters".
-
- In xCal, component elements, for example, IC:vevent and IC:vtodo, are
- contained within an IC:components XML element. Within the component
- element, another IC:components element could appear (representing
- components nested within components) or the IC:properties XML element
- could appear. IC:properties is used to encapsulate iCalendar
- properties.
-
- Each iCalendar property will be mapped to its own XML element as
- described below. Within each of these elements, there is zero or one
- IC:parameters XML element used to encapsulate any iCalendar property
- parameters. Additionally there will be one or more XML elements
- representing the value of the iCalendar property.
-
-
-
-
-
-
-
-
-
-Daboo, et al. Standards Track [Page 5]
-
-RFC 6321 xCal August 2011
-
-
- Example:
-
- <?xml version="1.0" encoding="utf-8"?>
- <icalendar xmlns="urn:ietf:params:xml:ns:icalendar-2.0">
- <vcalendar>
- <properties>
- ...
- </properties>
- <components>
- ...
- </components>
- </vcalendar>
- </icalendar>
-
- +------------------+--------------+------------------+
- | Item | XML element | XML Definition |
- +------------------+--------------+------------------+
- | iCalendar Stream | IC:icalendar | Appendix A # 3.4 |
- | VCALENDAR | IC:vcalendar | Appendix A # 3.6 |
- +------------------+--------------+------------------+
-
-3.3. Components (RFC 5545, Section 3.6)
-
- Each calendar component in the "VCALENDAR" object, delimited by
- "BEGIN" and "END", will be converted to an enclosing XML element with
- the same name, but in lowercase. As an example, the table below
- shows iCalendar-to-xCal mappings for current iCalendar components.
- Any new iCalendar components added in the future will be converted in
- the same way.
-
- +-----------+--------------+--------------------+
- | Component | XML element | XML Definition |
- +-----------+--------------+--------------------+
- | VEVENT | IC:vevent | Appendix A # 3.6.1 |
- | VTODO | IC:vtodo | Appendix A # 3.6.2 |
- | VJOURNAL | IC:vjournal | Appendix A # 3.6.3 |
- | VFREEBUSY | IC:vfreebusy | Appendix A # 3.6.4 |
- | VTIMEZONE | IC:vtimezone | Appendix A # 3.6.5 |
- | STANDARD | IC:standard | Appendix A # 3.6.5 |
- | DAYLIGHT | IC:daylight | Appendix A # 3.6.5 |
- | VALARM | IC:valarm | Appendix A # 3.6.6 |
- +-----------+--------------+--------------------+
-
-3.4. Properties (RFC 5545, Sections 3.7 and 3.8)
-
- iCalendar properties, whether they apply to the "VCALENDAR" object or
- to a component, are handled in a consistent way in the xCal format.
-
-
-
-
-Daboo, et al. Standards Track [Page 6]
-
-RFC 6321 xCal August 2011
-
-
- iCalendar properties are enclosed in the XML element IC:properties.
-
- Each individual iCalendar property is represented in xCal by an
- element of the same name as the iCalendar property, but in lowercase.
- For example, the "CALSCALE" property is represented in xCal by the
- IC:calscale element.
-
- Example:
-
- <?xml version="1.0" encoding="utf-8"?>
- <icalendar xmlns="urn:ietf:params:xml:ns:icalendar-2.0">
- <vcalendar>
- <properties>
- <calscale>...</calscale>
- <version>...</version>
- <prodid>...</prodid>
- </properties>
- <components>
- ...
- </components>
- </vcalendar>
- </icalendar>
-
- Each property can contain an IC:parameters XML element encapsulating
- any iCalendar property parameters associated with the iCalendar
- property.
-
- Each property will contain one or more "value" XML elements as
- described below representing the value of the iCalendar property.
-
- As an example, the table below shows iCalendar-to-xCal mappings for
- current iCalendar properties. Any new iCalendar properties added in
- the future will be converted in the same way.
-
- +------------------+---------------------+-----------------------+
- | Property | XML element | XML Definition |
- +------------------+---------------------+-----------------------+
- | CALSCALE | IC:calscale | Appendix A # 3.7.1 |
- | METHOD | IC:method | Appendix A # 3.7.2 |
- | PRODID | IC:prodid | Appendix A # 3.7.3 |
- | VERSION | IC:version | Appendix A # 3.7.4 |
- | ATTACH | IC:attach | Appendix A # 3.8.1.1 |
- | CATEGORIES | IC:categories | Appendix A # 3.8.1.2 |
- | CLASS | IC:class | Appendix A # 3.8.1.3 |
- | COMMENT | IC:comment | Appendix A # 3.8.1.4 |
- | DESCRIPTION | IC:description | Appendix A # 3.8.1.5 |
- | GEO | IC:geo | Appendix A # 3.8.1.6 |
- | LOCATION | IC:location | Appendix A # 3.8.1.7 |
-
-
-
-Daboo, et al. Standards Track [Page 7]
-
-RFC 6321 xCal August 2011
-
-
- | PERCENT-COMPLETE | IC:percent-complete | Appendix A # 3.8.1.8 |
- | PRIORITY | IC:priority | Appendix A # 3.8.1.9 |
- | RESOURCES | IC:resources | Appendix A # 3.8.1.10 |
- | STATUS | IC:status | Appendix A # 3.8.1.11 |
- | SUMMARY | IC:summary | Appendix A # 3.8.1.12 |
- | COMPLETED | IC:completed | Appendix A # 3.8.2.1 |
- | DTEND | IC:dtend | Appendix A # 3.8.2.2 |
- | DUE | IC:due | Appendix A # 3.8.2.3 |
- | DTSTART | IC:dtstart | Appendix A # 3.8.2.4 |
- | DURATION | IC:duration | Appendix A # 3.8.2.5 |
- | FREEBUSY | IC:freebusy | Appendix A # 3.8.2.6 |
- | TRANSP | IC:transp | Appendix A # 3.8.2.7 |
- | TZID | IC:tzid | Appendix A # 3.8.3.1 |
- | TZNAME | IC:tzname | Appendix A # 3.8.3.2 |
- | TZOFFSETFROM | IC:tzoffsetfrom | Appendix A # 3.8.3.3 |
- | TZOFFSETTO | IC:tzoffsetto | Appendix A # 3.8.3.4 |
- | TZURL | IC:tzurl | Appendix A # 3.8.3.5 |
- | ATTENDEE | IC:attendee | Appendix A # 3.8.4.1 |
- | CONTACT | IC:contact | Appendix A # 3.8.4.2 |
- | ORGANIZER | IC:organizer | Appendix A # 3.8.4.3 |
- | RECURRENCE-ID | IC:recurrence-id | Appendix A # 3.8.4.4 |
- | RELATED-TO | IC:related-to | Appendix A # 3.8.4.5 |
- | URL | IC:url | Appendix A # 3.8.4.6 |
- | UID | IC:uid | Appendix A # 3.8.4.7 |
- | EXDATE | IC:exdate | Appendix A # 3.8.5.1 |
- | RDATE | IC:rdate | Appendix A # 3.8.5.2 |
- | RRULE | IC:rrule | Appendix A # 3.8.5.3 |
- | ACTION | IC:action | Appendix A # 3.8.6.1 |
- | REPEAT | IC:repeat | Appendix A # 3.8.6.2 |
- | TRIGGER | IC:trigger | Appendix A # 3.8.6.3 |
- | CREATED | IC:created | Appendix A # 3.8.7.1 |
- | DTSTAMP | IC:dtstamp | Appendix A # 3.8.7.2 |
- | LAST-MODIFIED | IC:last-modified | Appendix A # 3.8.7.3 |
- | SEQUENCE | IC:sequence | Appendix A # 3.8.7.4 |
- | REQUEST-STATUS | IC:request-status | Appendix A # 3.8.8.3 |
- +------------------+---------------------+-----------------------+
-
-3.4.1. Special Cases for Properties
-
- This section describes some properties that have special handling
- when converting to xCal.
-
-3.4.1.1. Multi-Valued Properties
-
- The following iCalendar properties can have values that consist of a
- list of "standard" iCalendar values separated by a specific
- delimiter. In xCal, these properties are represented by an XML
- element that contains multiple "value" elements (Section 3.6).
-
-
-
-Daboo, et al. Standards Track [Page 8]
-
-RFC 6321 xCal August 2011
-
-
- +------------+---------------+-----------------------+
- | Property | XML element | XML Definition |
- +------------+---------------+-----------------------+
- | CATEGORIES | IC:categories | Appendix A # 3.8.1.2 |
- | RESOURCES | IC:resources | Appendix A # 3.8.1.10 |
- | FREEBUSY | IC:freebusy | Appendix A # 3.8.2.6 |
- | EXDATE | IC:exdate | Appendix A # 3.8.5.1 |
- | RDATE | IC:rdate | Appendix A # 3.8.5.2 |
- +------------+---------------+-----------------------+
-
-3.4.1.2. GEO Property
-
- In iCalendar, the "GEO" property value is defined as a semicolon-
- separated list of two "FLOAT" values; the first representing latitude
- and the second longitude.
-
- In xCal, the value for the IC:geo element is represented by two XML
- elements. These are an IC:latitude element and an IC:longitude
- element, each of which contains float values. See Appendix A #
- 3.8.1.6.
-
- Example:
-
- <?xml version="1.0" encoding="utf-8"?>
- <icalendar xmlns="urn:ietf:params:xml:ns:icalendar-2.0">
- ...
- <geo>
- <latitude>37.386013</latitude>
- <longitude>-122.082932</longitude>
- </geo>
- ...
- </icalendar>
-
-3.4.1.3. REQUEST-STATUS Property
-
- In iCalendar, the "REQUEST-STATUS" property value is defined as a
- semicolon-separated list of two or three "TEXT" values. The first
- represents a code, the second a description, and the third any
- additional data.
-
- In xCal, the value for the IC:request-status element is represented
- by two or three XML elements. These are an IC:code element, an IC:
- description element, and an IC:data element, each of which contains
- the corresponding "TEXT" values. If there is no additional data in
- the iCalendar value, the IC:data element (which would be empty)
- SHOULD NOT be present. See Appendix A # 3.8.8.3.
-
-
-
-
-
-Daboo, et al. Standards Track [Page 9]
-
-RFC 6321 xCal August 2011
-
-
- Example:
-
- <?xml version="1.0" encoding="utf-8"?>
- <icalendar xmlns="urn:ietf:params:xml:ns:icalendar-2.0">
- ...
- <request-status>
- <code>2.0</code>
- <description>Success</description>
- </request-status>
- ...
- </icalendar>
-
-3.5. Parameters (RFC 5545, Section 3.2)
-
- iCalendar property parameters are enclosed in the XML element IC:
- parameters, which occurs in each property XML element. If there are
- no iCalendar property parameters, the IC:parameters element (which
- would be empty) SHOULD NOT be present.
-
- Each individual iCalendar property parameter is represented in xCal
- by an element of the same name as the iCalendar property parameter,
- but in lowercase. For example, the "PARTSTAT" property parameter is
- represented in xCal by the IC:partstat element.
-
- Example:
-
- <?xml version="1.0" encoding="utf-8"?>
- <icalendar xmlns="urn:ietf:params:xml:ns:icalendar-2.0">
- <vcalendar>
- ...
- <components>
- ...
- <attendee>
- <parameters>
- <partstat><text>NEEDS-ACTION</text></partstat>
- </parameters>
- ...
- </attendee>
- ...
- </components>
- </vcalendar>
- </icalendar>
-
- Each XML parameter element contains one or more child XML elements
- representing iCalendar value types.
-
-
-
-
-
-
-Daboo, et al. Standards Track [Page 10]
-
-RFC 6321 xCal August 2011
-
-
- As an example, the table below shows iCalendar-to-xCal mappings for
- current iCalendar parameters. Any new iCalendar parameters added in
- the future will be converted in the same way.
-
- +----------------+-------------------+---------------------+
- | Parameter | XML element | XML Definition |
- +----------------+-------------------+---------------------+
- | ALTREP | IC:altrep | Appendix A # 3.2.1 |
- | CN | IC:cn | Appendix A # 3.2.2 |
- | CUTYPE | IC:cutype | Appendix A # 3.2.3 |
- | DELEGATED-FROM | IC:delegated-from | Appendix A # 3.2.4 |
- | DELEGATED-TO | IC:delegated-to | Appendix A # 3.2.5 |
- | DIR | IC:dir | Appendix A # 3.2.6 |
- | ENCODING | IC:encoding | Appendix A # 3.2.7 |
- | FMTTYPE | IC:fmttype | Appendix A # 3.2.8 |
- | FBTYPE | IC:fbtype | Appendix A # 3.2.9 |
- | LANGUAGE | IC:language | Appendix A # 3.2.10 |
- | MEMBER | IC:member | Appendix A # 3.2.11 |
- | PARTSTAT | IC:partstat | Appendix A # 3.2.12 |
- | RANGE | IC:range | Appendix A # 3.2.13 |
- | RELATED | IC:related | Appendix A # 3.2.14 |
- | RELTYPE | IC:reltype | Appendix A # 3.2.15 |
- | ROLE | IC:role | Appendix A # 3.2.16 |
- | RSVP | IC:rsvp | Appendix A # 3.2.17 |
- | SENT-BY | IC:sent-by | Appendix A # 3.2.18 |
- | TZID | IC:tzid | Appendix A # 3.2.19 |
- +----------------+-------------------+---------------------+
-
-3.5.1. VALUE Parameter
-
- iCalendar defines a "VALUE" property parameter (Section 3.2.20 of
- [RFC5545]). This property parameter is not mapped to an xCal XML
- element. Instead, the value type is handled by having different XML
- elements for each value, and these appear inside of property
- elements. Thus, when converting from iCalendar to xCal, any "VALUE"
- property parameters are skipped. When converting from xCal into
- iCalendar, the appropriate "VALUE" property parameter MUST be
- included in the iCalendar property if the value type is not the
- default value type for that property.
-
-3.6. Values (RFC 5545, Section 3.3)
-
- In the typical case, iCalendar value types are mapped into XML
- elements with a matching name in all lowercase. In the case of the
- value for a recurrence rule (see below), iCalendar defines
- "structured" values, and these are mapped into separate child
- elements for each value element.
-
-
-
-
-Daboo, et al. Standards Track [Page 11]
-
-RFC 6321 xCal August 2011
-
-
-3.6.1. Binary (RFC 5545, Section 3.3.1)
-
- Description: iCalendar "BINARY" property values are represented by
- the IC:binary XML element. The content of the element is base64
- encoded data, conforming to Section 4 of [RFC4648], which is the
- base64 method used in [RFC5545]. Whitespace MAY be inserted into
- the data at any point to "wrap" the data to reasonable line
- lengths. When converting back to iCalendar, the whitespace MUST
- first be removed.
-
- XML Definition: Appendix A # 3.3.1
-
- Example:
-
- <binary>SGVsbG8gV29ybGQh</binary>
-
-3.6.2. Boolean (RFC 5545, Section 3.3.2)
-
- Description: iCalendar "BOOLEAN" property values are represented by
- the IC:boolean XML element. The content of the element is a
- boolean value.
-
- XML Definition: Appendix A # 3.3.2
-
- Example:
-
- <boolean>true</boolean>
-
-3.6.3. Calendar User Address (RFC 5545, Section 3.3.3)
-
- Description: iCalendar "CAL-ADDRESS" property values are represented
- by the IC:cal-address XML element. The content of the element is
- a URI.
-
- XML Definition: Appendix A # 3.3.3
-
- Example:
-
- <cal-address>mailto:cyrus@example.com</cal-address>
-
-3.6.4. Date (RFC 5545, Section 3.3.4)
-
- Description: iCalendar "DATE" property values are represented by the
- IC:date XML element. The content of the element is the same date
- value specified by [RFC5545], with the exception that the date
- components are separated by "-" characters, for consistency with
- [W3C.REC-xmlschema-2-20041028].
-
-
-
-
-Daboo, et al. Standards Track [Page 12]
-
-RFC 6321 xCal August 2011
-
-
- XML Definition: Appendix A # 3.3.4
-
- Example:
-
- <date>2011-05-17</date>
-
-3.6.5. Date-Time (RFC 5545, Section 3.3.5)
-
- Description: iCalendar "DATE-TIME" property values are represented
- by the IC:date-time XML element. The content of the element is
- the same date-time value specified by [RFC5545], with the
- exception that the date components are separated by "-"
- characters, and the time components are separated by ":"
- characters, for consistency with [W3C.REC-xmlschema-2-20041028].
- Note that while [W3C.REC-xmlschema-2-20041028] allows for a UTC
- offset to be included in date/time values, xCal does not use that,
- and instead follows the iCalendar behavior of using time zone
- definitions via the "TZID" property parameter.
-
- XML Definition: Appendix A # 3.3.5
-
- Example:
-
- <date-time>2011-05-17T12:00:00</date-time>
-
-3.6.6. Duration (RFC 5545, Section 3.3.6)
-
- Description: iCalendar "DURATION" property values are represented by
- the IC:duration XML element. The content of the element is the
- same duration value specified by [RFC5545].
-
- XML Definition: Appendix A # 3.3.6
-
- Example:
-
- <duration>P1D</duration>
-
-3.6.7. Float (RFC 5545, Section 3.3.7)
-
- Description: iCalendar "FLOAT" property values are represented by
- the IC:float XML element. The content of the element is a text
- representation of a floating point number.
-
- XML Definition: Appendix A # 3.3.7
-
- Example:
-
- <float>0.5</float>
-
-
-
-Daboo, et al. Standards Track [Page 13]
-
-RFC 6321 xCal August 2011
-
-
-3.6.8. Integer (RFC 5545, Section 3.3.8)
-
- Description: iCalendar "INTEGER" property values are represented by
- the IC:integer XML element. The content of the element is a text
- representation of an integer number.
-
- XML Definition: Appendix A # 3.3.8
-
- Examples:
-
- <integer>50</integer>
- <integer>-100</integer>
-
-3.6.9. Period of Time (RFC 5545, Section 3.3.9)
-
- Description: iCalendar "PERIOD" property values are represented by
- the IC:period XML element. The content of the element is child
- elements representing the start, end, or duration components of
- the period.
-
- XML Definition: Appendix A # 3.3.9
-
- Example:
-
- <period>
- <start>2011-05-17T12:00:00</start>
- <duration>P1H</duration>
- </period>
-
-3.6.10. Recurrence Rule (RFC 5545, Section 3.3.10)
-
- Description: iCalendar "RECUR" property values are represented by
- the IC:recur XML element. The content of the element is child
- elements representing the various components of a recurrence rule.
-
- XML Definition: Appendix A # 3.3.10
-
- Example:
-
- <recur>
- <freq>YEARLY</freq>
- <count>5</count>
- <byday>-1SU</byday>
- <bymonth>10</bymonth>
- </recur>
-
-
-
-
-
-
-Daboo, et al. Standards Track [Page 14]
-
-RFC 6321 xCal August 2011
-
-
-3.6.11. Text (RFC 5545, Section 3.3.11)
-
- Description: iCalendar "TEXT" property values are represented by the
- IC:text XML element. The content of the element is simple text.
-
- XML Definition: Appendix A # 3.3.11
-
- Example:
-
- <text>Hello World!</text>
-
-3.6.12. Time (RFC 5545, Section 3.3.12)
-
- Description: iCalendar "TIME" property values are represented by the
- IC:time XML element. The content of the element is the same time
- value specified by [RFC5545], with the exception that the time
- components are separated by ":" characters, for consistency with
- [W3C.REC-xmlschema-2-20041028]. Note that while
- [W3C.REC-xmlschema-2-20041028] allows for a UTC offset to be
- included in date/time values, xCal does not use that, and instead
- follows the iCalendar behavior of using time zone definitions via
- the "TZID" property parameter.
-
- XML Definition: Appendix A # 3.3.12
-
- Example:
-
- <time>12:00:00</time>
-
-3.6.13. URI (RFC 5545, Section 3.3.13)
-
- Description: iCalendar "URI" property values are represented by the
- IC:uri XML element. The content of the element is a URI.
-
- XML Definition: Appendix A # 3.3.13
-
- Example:
-
- <uri>http://calendar.example.com</uri>
-
-
-
-
-
-
-
-
-
-
-
-
-Daboo, et al. Standards Track [Page 15]
-
-RFC 6321 xCal August 2011
-
-
-3.6.14. UTC Offset (RFC 5545, Section 3.3.14)
-
- Description: iCalendar "UTC-OFFSET" property values are represented
- by the IC:utc-offset XML element. The content of the element is
- the same UTC offset value specified by [RFC5545], with the
- exception that the hour, minute, and second components are
- separated by a ":" character, for consistency with
- [W3C.REC-xmlschema-2-20041028].
-
- XML Definition: Appendix A # 3.3.14
-
- Example:
-
- <utc-offset>-05:00</utc-offset>
-
-3.7. Extensions
-
- iCalendar extension properties and property parameters (those with an
- "X-" prefix in their name) are handled in the same way as other
- properties and property parameters: the property or property
- parameter is represented by an XML element with the same name, but in
- lowercase, e.g., the "X-FOO" property in iCalendar turns into the IC:
- x-foo element in xCal. However, see Section 5 for how to deal with
- default values for unrecognized extension properties or property
- parameters.
-
-4. Converting from xCal into iCalendar
-
- When converting component, property, and property parameter values,
- the names SHOULD be converted to uppercase. Although iCalendar names
- are case insensitive, common practice is to keep them all uppercase
- following the actual definitions in [RFC5545].
-
- BACKSLASH character encoding and line folding MUST be applied to the
- resulting iCalendar data as required by [RFC5545].
-
- Non-binary value types MUST NOT be base64 encoded.
-
-4.1. Converting XML Extensions into iCalendar
-
- XML extensions are converted back to iCalendar in one of two ways,
- depending on whether the extensions are in the iCalendar XML
- namespace or in an external namespace.
-
- Extensions that are part of the iCalendar XML namespace MUST have
- element names that begin with "x-", and will be converted back to the
- equivalent extension property in iCalendar. For example, the "x-foo"
- element will convert to the "X-FOO" iCalendar property.
-
-
-
-Daboo, et al. Standards Track [Page 16]
-
-RFC 6321 xCal August 2011
-
-
- Extensions that are in a namespace other than the iCalendar XML
- namespace SHOULD be preserved in the iCalendar representation using
- the "XML" iCalendar property described in Section 4.2. Only those
- extension elements that are immediate child elements of the IC:
- properties element are converted, any others are ignored.
-
-4.2. The XML Property for iCalendar
-
- This section describes an extension property for iCalendar, as
- covered in Section 8.2.3 of [RFC5545].
-
- Property name: XML
-
- Purpose: To embed extended XML-encoded iCalendar data in the
- iCalendar format.
-
- Value type: The default value type is "TEXT". The value type can
- also be set to "BINARY" to indicate base64 encoded content.
-
- Property parameters: IANA, non-standard, inline encoding, and value
- data type property parameters can be specified on this property.
-
- Conformance: The property can be specified multiple times in any
- calendar component.
-
- Description: The value of this property is a single XML 1.0
- [W3C.REC-xml-20081126] element. The "XML" property MUST NOT be used
- to contain properties that are already defined in iCalendar. Since
- all elements in the urn:ietf:params:xml:ns:icalendar-2.0 namespace
- convert to a well-defined iCalendar object, the elements in this
- property MUST NOT be in the urn:ietf:params:xml:ns:icalendar-2.0
- namespace. The XML element that is the value of this property MUST
- have an XML namespace declaration.
-
- The default value type for this property is "TEXT", and normal
- BACKSLASH character encoding rules for that value MUST be applied.
- Note that the source XML can contain characters not allowed in "TEXT"
- property values. If this is the case, then the XML data MUST be
- base64 encoded. As required by [RFC5545], the "ENCODING" property
- parameter MUST be present and set to "BASE64", and the "VALUE"
- property parameter MUST be present and set to "BINARY".
-
- The ordering of "XML" properties is not preserved in the conversion
- between xCal and iCalendar.
-
- Format definition: This property is defined by the following
- notation:
-
-
-
-
-Daboo, et al. Standards Track [Page 17]
-
-RFC 6321 xCal August 2011
-
-
- xml = "XML" xmlparam ( ":" text ) /
- (
- ";" "ENCODING" "=" "BASE64"
- ";" "VALUE" "=" "BINARY"
- ":" binary
- )
- CRLF
-
- xmlparam = *(";" other-param)
-
- Example: The following is an example of a location embedded in KML
- markup inside the "XML" property.
-
- XML:<kml xmlns="http://www.opengis.net/kml/2.2">\n
- <Document>\n
- <name>KML Sample</name>\n
- <open>1</open>\n
- <description>An incomplete example of a KML docum
- ent - used as an example!</description>\n
- </Document>\n
- </kml>
-
-5. Handling Unrecognized Properties or Parameters
-
- In iCalendar, properties have a default value type specified by their
- definition, e.g., "SUMMARY"'s value type is "TEXT" and "DURATION"'s
- is "DURATION". When a property uses its default value type, the
- "VALUE" property parameter does not need to be specified on the
- property.
-
- When new properties are defined or "X-" properties are used, an
- iCalendar<->xCal converter might not recognize them, and know what
- the appropriate default value types are, yet they need to be able to
- preserve the values. A similar issue arises for unrecognized
- property parameters. As a result, the following rules are applied
- when dealing with unrecognized properties and property parameters:
-
- o When converting iCalendar into xCal:
-
- * Any property that does not include a "VALUE" property parameter
- and whose default value type is not known MUST be converted
- using the value type XML element IC:unknown. The content of
- that element is the unprocessed value text.
-
- * Any unrecognized property parameter MUST be converted using the
- value type XML element IC:unknown, with its content set to the
- property parameter value text, treated as if it were a "TEXT"
- value or list of "TEXT" values.
-
-
-
-Daboo, et al. Standards Track [Page 18]
-
-RFC 6321 xCal August 2011
-
-
- o When converting xCal into iCalendar:
-
- * Any IC:unknown property value XML elements are converted
- directly into iCalendar values. The containing property MUST
- NOT have a "VALUE" property parameter.
-
- * Any IC:unknown parameter value XML elements are converted as if
- they were IC:text value type XML elements.
-
- Example: The following is an example of an unrecognized iCalendar
- property (that uses a "DATE-TIME" value as its default) and the
- equivalent xCal representation of that property.
-
- iCalendar:
-
- X-PROPERTY:20110512T120000Z
-
- xCal:
-
- <x-property>
- <unknown>20110512T120000Z</unknown>
- </x-property>
-
- Example: The following is an example of an unrecognized iCalendar
- property parameter (that uses a "DURATION" value as its default)
- specified on a recognized iCalendar property, and the equivalent xCal
- representation of that property and property parameter.
-
- iCalendar:
-
- DTSTART;X-PARAM=PT30M:20110512T130000Z
-
- xCal:
-
- <dtstart>
- <parameters>
- <x-param><unknown>PT30M</unknown></x-param>
- </parameters>
- <date-time>2011-05-12T13:00:00Z</date-time>
- </dtstart>
-
-6. Security Considerations
-
- For security considerations specific to calendar data, see Section 7
- of [RFC5545]. Since this specification is a mapping from iCalendar,
- no new security concerns are introduced related to calendar data.
-
-
-
-
-
-Daboo, et al. Standards Track [Page 19]
-
-RFC 6321 xCal August 2011
-
-
- The use of XML as a format does have security risks. Section 7 of
- [RFC3470] discusses these risks. See also the security discussion
- for the application/xml type in [RFC3023].
-
-7. IANA Considerations
-
- This document defines a new URN to identify a new XML namespace for
- iCalendar data. The URN conforms to a registry mechanism described
- in [RFC3688].
-
- This document defines a new media type. The registration is in
- Section 7.2.
-
- This document defines a new property for iCalendar. The registration
- is in Section 7.3.
-
-7.1. Namespace Registration
-
- Registration request for the iCalendar namespace:
-
- URI: urn:ietf:params:xml:ns:icalendar-2.0
-
- Registrant Contact: See the "Authors' Addresses" section of this
- document.
-
- XML: None. Namespace URIs do not represent an XML specification.
-
-7.2. Media Type
-
- This section defines the MIME media type for use with iCalendar in
- XML data.
-
- Type name: application
-
- Subtype name: calendar+xml
-
- Required parameters: None
-
- Optional parameters: method, component, and optinfo as defined for
- the text/calendar media type in [RFC5545]; charset as defined for
- application/xml in [RFC3023]; per [RFC3023], use of the charset
- property parameter with the value "utf-8" is STRONGLY RECOMMENDED.
-
- Encoding considerations: Same as encoding considerations of
- application/xml as specified in [RFC3023].
-
-
-
-
-
-
-Daboo, et al. Standards Track [Page 20]
-
-RFC 6321 xCal August 2011
-
-
- Security considerations: See Section 6.
-
- Interoperability considerations: This media type provides an
- alternative format for iCalendar data based on XML.
-
- Published specification: This specification.
-
- Applications that use this media type: Applications that currently
- make use of the text/calendar media type can use this as an
- alternative.
-
- Additional information:
-
- Magic number(s): None
-
- File extension(s): xcs
-
- Macintosh file type code(s): None specified.
-
- Person & email address to contact for further information:
- calsify@ietf.org
-
- Intended usage: COMMON
-
- Restrictions on usage: There are no restrictions on where this media
- type can be used.
-
- Author: See the "Authors' Addresses" section of this document.
-
- Change controller: IETF
-
-7.3. iCalendar Property Registrations
-
- This document defines the following new iCalendar property to be
- added to the registry defined in Section 8.2.3 of [RFC5545]:
-
- +----------+---------+-----------------------+
- | Property | Status | Reference |
- +----------+---------+-----------------------+
- | XML | Current | RFC 6321, Section 4.2 |
- +----------+---------+-----------------------+
-
-
-
-
-
-
-
-
-
-
-Daboo, et al. Standards Track [Page 21]
-
-RFC 6321 xCal August 2011
-
-
-8. Acknowledgments
-
- The authors would like to thank the following for their valuable
- contributions: Toby Considine, Bernard Desruisseaux, Keith Moore,
- Filip Navara, Simon Perreault, Arnaud Quillaud, Peter Saint-Andre,
- and Dave Thewlis. This specification originated from the work of the
- XML technical committee of the Calendaring and Scheduling Consortium.
-
-9. References
-
-9.1. Normative References
-
- [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
- Requirement Levels", BCP 14, RFC 2119, March 1997.
-
- [RFC3023] Murata, M., St. Laurent, S., and D. Kohn, "XML Media
- Types", RFC 3023, January 2001.
-
- [RFC3470] Hollenbeck, S., Rose, M., and L. Masinter, "Guidelines for
- the Use of Extensible Markup Language (XML)
- within IETF Protocols", BCP 70, RFC 3470, January 2003.
-
- [RFC3688] Mealling, M., "The IETF XML Registry", BCP 81, RFC 3688,
- January 2004.
-
- [RFC4648] Josefsson, S., "The Base16, Base32, and Base64 Data
- Encodings", RFC 4648, October 2006.
-
- [RFC5545] Desruisseaux, B., "Internet Calendaring and Scheduling
- Core Object Specification (iCalendar)", RFC 5545,
- September 2009.
-
- [W3C.REC-xml-20081126]
- Sperberg-McQueen, C., Yergeau, F., Bray, T., Paoli, J.,
- and E. Maler, "Extensible Markup Language (XML) 1.0 (Fifth
- Edition)", World Wide Web Consortium Recommendation REC-
- xml-20081126, November 2008,
- <http://www.w3.org/TR/2008/REC-xml-20081126>.
-
-9.2. Informative References
-
- [W3C.REC-xmlschema-2-20041028]
- Malhotra, A. and P. Biron, "XML Schema Part 2: Datatypes
- Second Edition", World Wide Web Consortium
- Recommendation REC-xmlschema-2-20041028, October 2004,
- <http://www.w3.org/TR/2004/REC-xmlschema-2-20041028>.
-
-
-
-
-
-Daboo, et al. Standards Track [Page 22]
-
-RFC 6321 xCal August 2011
-
-
-Appendix A. RELAX NG Schema
-
- Below is a RELAX NG schema for iCalendar in XML. The schema is non-
- normative and given for reference only.
-
- This schema uses the compact notation of RELAX NG. The numeric
- section numbers given in the comments refer to sections in [RFC5545].
- The ordering of elements follows the section ordering of [RFC5545].
-
- The RELAX NG compact notation "?" operator is used to indicate an
- unordered list of items. However, that operator, as defined, allows
- "mixing" each element that it operates on at any depth within the
- other elements, rather than just allowing "mixing" of siblings only.
- As a result, the schema provided allows certain constructs that are
- not allowed in iCalendar. Given that there is no sibling-only
- unordered list operator in RELAX NG, this is the best representation
- that can be given.
-
- Patterns for date/time, duration, and UTC offset values are given
- because those differ from the values used in iCalendar. More
- restrictive schema with patterns and numerical limits could be
- derived from the example schema here if more comprehensive schema
- validation is required.
-
- # RELAX NG Schema for iCalendar in XML
-
- default namespace = "urn:ietf:params:xml:ns:icalendar-2.0"
-
- # 3.2 Property Parameters
-
- # 3.2.1 Alternate Text Representation
-
- altrepparam = element altrep {
- value-uri
- }
-
- # 3.2.2 Common Name
-
- cnparam = element cn {
- value-text
- }
-
-
-
-
-
-
-
-
-
-
-Daboo, et al. Standards Track [Page 23]
-
-RFC 6321 xCal August 2011
-
-
- # 3.2.3 Calendar User Type
-
- cutypeparam = element cutype {
- element text {
- "INDIVIDUAL" |
- "GROUP" |
- "RESOURCE" |
- "ROOM" |
- "UNKNOWN"
- }
- }
-
- # 3.2.4 Delegators
-
- delfromparam = element delegated-from {
- value-cal-address+
- }
-
- # 3.2.5 Delegatees
-
- deltoparam = element delegated-to {
- value-cal-address+
- }
-
- # 3.2.6 Directory Entry Reference
-
- dirparam = element dir {
- value-uri
- }
-
- # 3.2.7 Inline Encoding
-
- encodingparam = element encoding {
- element text {
- "8BIT" |
- "BASE64"
- }
- }
-
- # 3.2.8 Format Type
-
- fmttypeparam = element fmttype {
- value-text
- }
-
-
-
-
-
-
-
-Daboo, et al. Standards Track [Page 24]
-
-RFC 6321 xCal August 2011
-
-
- # 3.2.9 Free/Busy Time Type
-
- fbtypeparam = element fbtype {
- element text {
- "FREE" |
- "BUSY" |
- "BUSY-UNAVAILABLE" |
- "BUSY-TENTATIVE"
- }
- }
-
- # 3.2.10 Language
-
- languageparam = element language {
- value-text
- }
-
- # 3.2.11 Group or List Membership
-
- memberparam = element member {
- value-cal-address+
- }
-
- # 3.2.12 Participation Status
-
- partstatparam = element partstat {
- type-partstat-event |
- type-partstat-todo |
- type-partstat-jour
- }
-
- type-partstat-event = (
- element text {
- "NEEDS-ACTION" |
- "ACCEPTED" |
- "DECLINED" |
- "TENTATIVE" |
- "DELEGATED"
- }
- )
-
-
-
-
-
-
-
-
-
-
-
-Daboo, et al. Standards Track [Page 25]
-
-RFC 6321 xCal August 2011
-
-
- type-partstat-todo = (
- element text {
- "NEEDS-ACTION" |
- "ACCEPTED" |
- "DECLINED" |
- "TENTATIVE" |
- "DELEGATED" |
- "COMPLETED" |
- "IN-PROCESS"
- }
- )
-
- type-partstat-jour = (
- element text {
- "NEEDS-ACTION" |
- "ACCEPTED" |
- "DECLINED"
- }
- )
-
- # 3.2.13 Recurrence Identifier Range
-
- rangeparam = element range {
- element text {
- "THISANDFUTURE"
- }
- }
-
- # 3.2.14 Alarm Trigger Relationship
-
- trigrelparam = element related {
- element text {
- "START" |
- "END"
- }
- }
-
- # 3.2.15 Relationship Type
-
- reltypeparam = element reltype {
- element text {
- "PARENT" |
- "CHILD" |
- "SIBLING"
- }
- }
-
-
-
-
-
-Daboo, et al. Standards Track [Page 26]
-
-RFC 6321 xCal August 2011
-
-
- # 3.2.16 Participation Role
-
- roleparam = element role {
- element text {
- "CHAIR" |
- "REQ-PARTICIPANT" |
- "OPT-PARTICIPANT" |
- "NON-PARTICIPANT"
- }
- }
-
- # 3.2.17 RSVP Expectation
-
- rsvpparam = element rsvp {
- value-boolean
- }
-
- # 3.2.18 Sent By
-
- sentbyparam = element sent-by {
- value-cal-address
- }
-
- # 3.2.19 Time Zone Identifier
-
- tzidparam = element tzid {
- value-text
- }
-
- # 3.3 Property Value Data Types
-
- # 3.3.1 BINARY
-
- value-binary = element binary {
- xsd:string
- }
-
- # 3.3.2 BOOLEAN
-
- value-boolean = element boolean {
- xsd:boolean
- }
-
- # 3.3.3 CAL-ADDRESS
-
- value-cal-address = element cal-address {
- xsd:anyURI
- }
-
-
-
-Daboo, et al. Standards Track [Page 27]
-
-RFC 6321 xCal August 2011
-
-
- # 3.3.4 DATE
-
- pattern-date = xsd:string {
- pattern = "\d\d\d\d-\d\d-\d\d"
- }
-
- value-date = element date {
- pattern-date
- }
-
- # 3.3.5 DATE-TIME
-
- pattern-date-time = xsd:string {
- pattern = "\d\d\d\d-\d\d-\d\dT\d\d:\d\d:\d\dZ?"
- }
-
- value-date-time = element date-time {
- pattern-date-time
- }
-
- # 3.3.6 DURATION
-
- pattern-duration = xsd:string {
- pattern = "(+|-)?P(\d+W)|(\d+D)?"
- ~ "(T(\d+H(\d+M)?(\d+S)?)|"
- ~ "(\d+M(\d+S)?)|"
- ~ "(\d+S))?"
- }
-
- value-duration = element duration {
- pattern-duration
- }
-
- # 3.3.7 FLOAT
-
- value-float = element float {
- xsd:float
- }
-
- # 3.3.8 INTEGER
-
- value-integer = element integer {
- xsd:integer
- }
-
-
-
-
-
-
-
-Daboo, et al. Standards Track [Page 28]
-
-RFC 6321 xCal August 2011
-
-
- # 3.3.9 PERIOD
-
- value-period = element period {
- element start {
- pattern-date-time
- },
- (
- element end {
- pattern-date-time
- } |
- element duration {
- pattern-duration
- }
- )
- }
-
- # 3.3.10 RECUR
-
- value-recur = element recur {
- type-freq,
- (type-until | type-count)?,
- element interval {
- xsd:positiveInteger
- }?,
- type-bysecond*,
- type-byminute*,
- type-byhour*,
- type-byday*,
- type-bymonthday*,
- type-byyearday*,
- type-byweekno*,
- type-bymonth*,
- type-bysetpos*,
- element wkst { type-weekday }?
- }
-
- type-freq = element freq {
- "SECONDLY" |
- "MINUTELY" |
- "HOURLY" |
- "DAILY" |
- "WEEKLY" |
- "MONTHLY" |
- "YEARLY"
- }
-
-
-
-
-
-
-Daboo, et al. Standards Track [Page 29]
-
-RFC 6321 xCal August 2011
-
-
- type-until = element until {
- type-date |
- type-date-time
- }
-
- type-count = element count {
- xsd:positiveInteger
- }
-
- type-bysecond = element bysecond {
- xsd:positiveInteger
- }
-
- type-byminute = element byminute {
- xsd:positiveInteger
- }
-
- type-byhour = element byhour {
- xsd:positiveInteger
- }
-
- type-weekday = (
- "SU" |
- "MO" |
- "TU" |
- "WE" |
- "TH" |
- "FR" |
- "SA"
- )
-
- type-byday = element byday {
- xsd:integer?,
- type-weekday
- }
-
- type-bymonthday = element bymonthday {
- xsd:integer
- }
-
- type-byyearday = element byyearday {
- xsd:integer
- }
-
- type-byweekno = element byweekno {
- xsd:integer
- }
-
-
-
-
-Daboo, et al. Standards Track [Page 30]
-
-RFC 6321 xCal August 2011
-
-
- type-bymonth = element bymonth {
- xsd:positiveInteger
- }
-
- type-bysetpos = element bysetpos {
- xsd:integer
- }
-
- # 3.3.11 TEXT
-
- value-text = element text {
- xsd:string
- }
-
- # 3.3.12 TIME
-
- pattern-time = xsd:string {
- pattern = "\d\d:\d\d:\d\dZ?"
- }
-
- value-time = element time {
- pattern-time
- }
-
- # 3.3.13 URI
-
- value-uri = element uri {
- xsd:anyURI
- }
-
- # 3.3.14 UTC-OFFSET
-
- value-utc-offset = element utc-offset {
- xsd:string { pattern = "(+|-)\d\d:\d\d(:\d\d)?" }
- }
-
- # UNKNOWN
-
- value-unknown = element unknown {
- xsd:string
- }
-
- # 3.4 iCalendar Stream
-
- start = element icalendar {
- vcalendar+
- }
-
-
-
-
-Daboo, et al. Standards Track [Page 31]
-
-RFC 6321 xCal August 2011
-
-
- # 3.6 Calendar Components
-
- vcalendar = element vcalendar {
- type-calprops,
- type-component
- }
-
- type-calprops = element properties {
- property-prodid &
- property-version &
- property-calscale? &
- property-method?
- }
-
- type-component = element components {
- (
- component-vevent |
- component-vtodo |
- component-vjournal |
- component-vfreebusy |
- component-vtimezone
- )*
- }
-
- # 3.6.1 Event Component
-
- component-vevent = element vevent {
- type-eventprop,
- element components {
- component-valarm+
- }?
- }
-
- type-eventprop = element properties {
- property-dtstamp &
- property-dtstart &
- property-uid &
-
- property-class? &
- property-created? &
- property-description? &
- property-geo? &
- property-last-mod? &
- property-location? &
- property-organizer? &
- property-priority? &
- property-seq? &
- property-status-event? &
-
-
-
-Daboo, et al. Standards Track [Page 32]
-
-RFC 6321 xCal August 2011
-
-
- property-summary? &
- property-transp? &
- property-url? &
- property-recurid? &
-
- property-rrule? &
-
- (property-dtend | property-duration)? &
-
- property-attach* &
- property-attendee* &
- property-categories* &
- property-comment* &
- property-contact* &
- property-exdate* &
- property-rstatus* &
- property-related* &
- property-resources* &
- property-rdate*
- }
-
- # 3.6.2 To-do Component
-
- component-vtodo = element vtodo {
- type-todoprop,
- element components {
- component-valarm+
- }?
- }
-
- type-todoprop = element properties {
- property-dtstamp &
- property-uid &
-
- property-class? &
- property-completed? &
- property-created? &
- property-description? &
- property-geo? &
- property-last-mod? &
- property-location? &
- property-organizer? &
- property-percent? &
- property-priority? &
- property-recurid? &
- property-seq? &
- property-status-todo? &
- property-summary? &
-
-
-
-Daboo, et al. Standards Track [Page 33]
-
-RFC 6321 xCal August 2011
-
-
- property-url? &
-
- property-rrule? &
-
- (
- (property-dtstart?, property-dtend? ) |
- (property-dtstart, property-duration)?
- ) &
-
- property-attach* &
- property-attendee* &
- property-categories* &
- property-comment* &
- property-contact* &
- property-exdate* &
- property-rstatus* &
- property-related* &
- property-resources* &
- property-rdate*
- }
-
- # 3.6.3 Journal Component
-
- component-vjournal = element vjournal {
- type-jourprop
- }
-
- type-jourprop = element properties {
- property-dtstamp &
- property-uid &
-
- property-class? &
- property-created? &
- property-dtstart? &
- property-last-mod? &
- property-organizer? &
- property-recurid? &
- property-seq? &
- property-status-jour? &
- property-summary? &
- property-url? &
-
- property-rrule? &
-
- property-attach* &
- property-attendee* &
- property-categories* &
- property-comment* &
-
-
-
-Daboo, et al. Standards Track [Page 34]
-
-RFC 6321 xCal August 2011
-
-
- property-contact* &
- property-description? &
- property-exdate* &
- property-related* &
- property-rdate* &
- property-rstatus*
- }
-
- # 3.6.4 Free/Busy Component
-
- component-vfreebusy = element vfreebusy {
- type-fbprop
- }
-
- type-fbprop = element properties {
- property-dtstamp &
- property-uid &
-
- property-contact? &
- property-dtstart? &
- property-dtend? &
- property-duration? &
- property-organizer? &
- property-url? &
-
- property-attendee* &
- property-comment* &
- property-freebusy* &
- property-rstatus*
- }
-
- # 3.6.5 Time Zone Component
-
- component-vtimezone = element vtimezone {
- element properties {
- property-tzid &
-
- property-last-mod? &
- property-tzuurl?
- },
- element components {
- (component-standard | component-daylight) &
- component-standard* &
- component-daylight*
- }
- }
-
-
-
-
-
-Daboo, et al. Standards Track [Page 35]
-
-RFC 6321 xCal August 2011
-
-
- component-standard = element standard {
- type-tzprop
- }
-
- component-daylight = element daylight {
- type-tzprop
- }
-
- type-tzprop = element properties {
- property-dtstart &
- property-tzoffsetto &
- property-tzoffsetfrom &
-
- property-rrule? &
-
- property-comment* &
- property-rdate* &
- property-tzname*
- }
-
- # 3.6.6 Alarm Component
-
- component-valarm = element valarm {
- audioprop | dispprop | emailprop
- }
-
- type-audioprop = element properties {
- property-action &
-
- property-trigger &
-
- (property-duration, property-repeat)? &
-
- property-attach?
- }
-
- type-dispprop = element properties {
- property-action &
- property-description &
- property-trigger &
- property-summary &
-
- property-attendee+ &
-
- (property-duration, property-repeat)? &
-
- property-attach*
- }
-
-
-
-Daboo, et al. Standards Track [Page 36]
-
-RFC 6321 xCal August 2011
-
-
- type-emailprop = element properties {
- property-action &
- property-description &
- property-trigger &
-
- (property-duration, property-repeat)?
- }
-
- # 3.7 Calendar Properties
-
- # 3.7.1 Calendar Scale
-
- property-calscale = element calscale {
-
- element parameters { empty }?,
-
- element text { "GREGORIAN" }
- }
-
- # 3.7.2 Method
-
- property-method = element method {
-
- element parameters { empty }?,
-
- value-text
- }
-
- # 3.7.3 Product Identifier
-
- property-prodid = element prodid {
-
- element parameters { empty }?,
-
- value-text
- }
-
- # 3.7.4 Version
-
- property-version = element version {
-
- element parameters { empty }?,
-
- element text { "2.0" }
- }
-
-
-
-
-
-
-Daboo, et al. Standards Track [Page 37]
-
-RFC 6321 xCal August 2011
-
-
- # 3.8 Component Properties
-
- # 3.8.1 Descriptive Component Properties
-
- # 3.8.1.1 Attachment
-
- property-attach = element attach {
-
- element parameters {
- fmttypeparam? &
- encodingparam?
- }?,
-
- value-uri | value-binary
- }
-
- # 3.8.1.2 Categories
-
- property-categories = element categories {
-
- element parameters {
- languageparam? &
- }?,
-
- value-text+
- }
-
- # 3.8.1.3 Classification
-
- property-class = element class {
-
- element parameters { empty }?,
-
- element text {
- "PUBLIC" |
- "PRIVATE" |
- "CONFIDENTIAL"
- }
- }
-
- # 3.8.1.4 Comment
-
- property-comment = element comment {
-
- element parameters {
- altrepparam? &
- languageparam?
- }?,
-
-
-
-Daboo, et al. Standards Track [Page 38]
-
-RFC 6321 xCal August 2011
-
-
- value-text
- }
-
- # 3.8.1.5 Description
-
- property-description = element description {
-
- element parameters {
- altrepparam? &
- languageparam?
- }?,
-
- value-text
- }
-
- # 3.8.1.6 Geographic Position
-
- property-geo = element geo {
-
- element parameters { empty }?,
-
- element latitude { xsd:float },
- element longitude { xsd:float }
- }
-
- # 3.8.1.7 Location
-
- property-location = element location {
-
- element parameters {
-
- altrepparam? &
- languageparam?
- }?,
-
- value-text
- }
-
- # 3.8.1.8 Percent Complete
-
- property-percent = element percent-complete {
-
- element parameters { empty }?,
-
- value-integer
- }
-
-
-
-
-
-Daboo, et al. Standards Track [Page 39]
-
-RFC 6321 xCal August 2011
-
-
- # 3.8.1.9 Priority
-
- property-priority = element priority {
-
- element parameters { empty }?,
-
- value-integer
- }
-
- # 3.8.1.10 Resources
-
- property-resources = element resources {
-
- element parameters {
- altrepparam? &
- languageparam?
- }?,
-
- value-text+
- }
-
- # 3.8.1.11 Status
-
- property-status-event = element status {
-
- element parameters { empty }?,
-
- element text {
- "TENTATIVE" |
- "CONFIRMED" |
- "CANCELLED"
- }
- }
-
- property-status-todo = element status {
-
- element parameters { empty }?,
-
- element text {
- "NEEDS-ACTION" |
- "COMPLETED" |
- "IN-PROCESS" |
- "CANCELLED"
- }
- }
-
-
-
-
-
-
-Daboo, et al. Standards Track [Page 40]
-
-RFC 6321 xCal August 2011
-
-
- property-status-jour = element status {
-
- element parameters { empty }?,
-
- element text {
- "DRAFT" |
- "FINAL" |
- "CANCELLED"
- }
- }
-
- # 3.8.1.12 Summary
-
- property-summary = element summary {
-
- element parameters {
- altrepparam? &
- languageparam?
- }?,
-
- value-text
- }
-
- # 3.8.2 Date and Time Component Properties
-
- # 3.8.2.1 Date/Time Completed
-
- property-completed = element completed {
-
- element parameters { empty }?,
-
- value-date-time
- }
-
- # 3.8.2.2 Date/Time End
-
- property-dtend = element dtend {
-
- element parameters {
- tzidparam?
- }?,
-
- value-date-time |
- value-date
- }
-
-
-
-
-
-
-Daboo, et al. Standards Track [Page 41]
-
-RFC 6321 xCal August 2011
-
-
- # 3.8.2.3 Date/Time Due
-
- property-due = element due {
-
- element parameters {
- tzidparam?
- }?,
-
- value-date-time |
- value-date
- }
-
- # 3.8.2.4 Date/Time Start
-
- property-dtstart = element dtstart {
-
- element parameters {
- tzidparam?
- }?,
-
- value-date-time |
- value-date
- }
-
- # 3.8.2.5 Duration
-
- property-duration = element duration {
-
- element parameters { empty }?,
-
- value-duration
- }
-
- # 3.8.2.6 Free/Busy Time
-
- property-freebusy = element freebusy {
-
- element parameters {
- fbtypeparam?
- }?,
-
-
- value-period+
- }
-
- # 3.8.2.7 Time Transparency
-
- property-transp = element transp {
-
-
-
-Daboo, et al. Standards Track [Page 42]
-
-RFC 6321 xCal August 2011
-
-
- element parameters { empty }?,
-
- element text {
- "OPAQUE" |
- "TRANSPARENT"
- }
- }
-
- # 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.&#x0a;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]
-