Davka,
Yes, parameter values can be escaped by surrounding the value in double-quotes. Parameter values must be escaped if they contain any of the following characters:
; - semicolon
: - colon
, - comma
It is illegal to have a double quote " character inside parameter values, so they should be deleted (or otherwise removed from the parameter value).
So, with your above example, the correct escaping is this:
ORGANIZER;CN="John Doe,Eng":mailto:[email protected]
Note that once the first (unquoted) colon : is encountered, parsing engines treat the rest as the property value. It is legal to use the colon : character inside property values, so the colon in mailto:[email protected] doesn't need to be escaped.
We can break the line into it's parts:
ORGANIZER - property name
; - parameter delimiter
CN - parameter name
= - parameter value delimiter
"John Doe,Eng" - parameter value
: - property value delimiter
mailto:[email protected] - property value
Here's a quote from RFC 5545 Section 3.2 that explains when parameter values are surrounded with double-quotes, and tells us double-quotes are illegal in parameter values:
Property parameter values that contain
the COLON, SEMICOLON, or COMMA
character separators MUST be specified
as quoted-string text values. Property
parameter values MUST NOT contain the
DQUOTE character. The DQUOTE
character is used as a delimiter for
parameter values that contain
restricted characters or URI text.
For example:
DESCRIPTION;ALTREP="cid:[email protected]":The
Fall'98 Wild Wizards Conference - -
Las Vegas\, NV\, USA
It's important to note that parameters can technically contain multiple values. A comma is used to separate these multiple values:
(from Section 3.2.11 of RFC 5545:)
ATTENDEE;MEMBER="mailto:[email protected]","mailto:pr
[email protected]":mailto:[email protected]
Not all iCalendar engines will accept multiple values on all parameters, but the following parameters SHOULD allow multiple values (according to the RFC):
- MEMBER
- DELEGATED-FROM
- DELEGATED-TO
Regards,
-Doug