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