iCalendar defines properties that can have different value types indicated by a "VALUE" parameter. The definition of a property specifies a "default" value type that is assumed to be used when no "VALUE" parameter is present. However, this poses a problem to the iCalendar parser/generator software that does not know about the default values for new properties. For example, if a new property "FOO" were defined with a default value type of URI and a URI value with a comma was used, an iCalendar generator not aware of this fact would likely treat the property value as "TEXT" and apply backslash escaping to the comma in the value, effectively making it an invalid URI value.

To avoid this problem, this specification recommends that all properties not defined in [RFC5545] always include a "VALUE" parameter if the type is other than "TEXT". That is, in the example above, the "FOO" property would have a "VALUE=URI" parameter. This allows iCalendar parser/generator software to track the correct types of unknown properties.

New properties defined in this specification use the term "no default" in the "Value Type" definition to indicate that the "VALUE" parameter has to be included.

This document was automatically converted to XHTML using an RFC to HTML converter with the original text document at the Internet Engineering Task Force web site at ietf.org .  The original text document should be referred to if there are any errors or discrepancies found in this document.

Need to test your iCalendar feeds? The iCalendar Validator provides developers and testers a method to validate their iCalendar feeds, which can take data from either a URL, file or text snippet and compare it against the RFC 5545 specification.  We believe we have one of the best iCalendar validation tools available on the internet. More information about the validator can be found here.