Давка,
Да, значения параметров можно экранировать, заключив значение в двойные кавычки. Значения параметров должны быть экранированы, если они содержат любой из следующих символов:
; - semicolon
: - colon
, - comma
Использование символа двойной кавычки "
внутри значений параметров является незаконным, поэтому их следует удалить (или иным образом удалить из значения параметра).
Итак, в приведенном выше примере правильное экранирование таково:
ORGANIZER;CN="John Doe,Eng":mailto:[email protected]
Обратите внимание, что как только встречается первое двоеточие (без кавычек) :
, механизмы синтаксического анализа рассматривают остальные как значение свойства. Допустимо использовать символ двоеточия :
внутри значений свойств, поэтому двоеточие в mailto:[email protected]
не нужно экранировать.
Мы можем разбить строку на части:
ORGANIZER
- имя свойства
;
- разделитель параметров
CN
- имя параметра
=
- разделитель значения параметра
"John Doe,Eng"
- значение параметра
:
- разделитель значения свойства
mailto:[email protected]
- значение свойства
Вот цитата из раздела 3.2 RFC 5545, которая объясняет, когда значения параметров заключены в двойные кавычки, и говорит нам, что двойные кавычки недопустимы в значениях параметров:
Значения параметров свойства, которые содержат разделители символов COLON, SEMICOLON или COMMA, ДОЛЖНЫ быть указаны как текстовые значения в кавычках. Значения параметров свойств НЕ ДОЛЖНЫ содержать символ DQUOTE. Символ DQUOTE используется в качестве разделителя для значений параметров, которые содержат запрещенные символы или текст URI. Например:
DESCRIPTION;ALTREP="cid:[email protected]":Конференция Wild Wizards Fall'98 - - Лас-Вегас\, Невада\, США
Важно отметить, что технически параметры могут содержать несколько значений. Запятая используется для разделения этих нескольких значений:
(из раздела 3.2.11 RFC 5545:)
ATTENDEE;MEMBER="mailto:[email protected]","mailto:pr
[email protected]":mailto:[email protected]
Не все механизмы iCalendar будут принимать несколько значений для всех параметров, но следующие параметры ДОЛЖНЫ разрешать несколько значений (согласно RFC):
- ЧЛЕН
- ДЕЛЕГИРОВАННЫЙ ОТ
- ДЕЛЕГИРОВАННЫЙ
С уважением,
-Дуг
person
Doug
schedule
10.08.2010