Может / следует избежать параметров свойств iCal?
Вопрос
В частности, параметр CN (Общее имя), например
Организатор; CN = John Doe, Eng: Mailto: jd@some.com
RFC расплывчан на этом, ИМХО. Очень ясно о Значения свойств из тип Текст, но для этого параметра это только говорит "Значение параметра это текст«. В любом случае, убежище, указанные для типа текста, не кажется полным для значений параметров (например,«: »не сбежете).
большое спасибо!
Решение
Давка,
Да, значения параметров могут быть сбереждены при окружении значения в двойных кавычках. Значения параметров должны быть сбежены, если они содержат любой из следующих символов:
; - semicolon
: - colon
, - comma
Незаконно иметь двойную цитату "
символ внутри значений параметров, поэтому они должны быть удалены (или иным образом удалены из значения параметра).
Итак, с вашим приведенным выше примером правильный сбежав это:
ORGANIZER;CN="John Doe,Eng":mailto:jd@some.com
Обратите внимание, что однажды первая (необоснованная) толстая кишка :
встречаются, разборные двигатели обрабатывают остальные как стоимость имущества. Отказ Юридически использовать толстую кишку :
символ внутри значений свойств, так что толстая кишка в mailto:jd@some.com
не нужно сбежать.
Мы можем сломать линию в его части:
ORGANIZER
- Имя свойства;
- Разделитель параметраCN
- Название параметра=
- Разделитель значения параметров"John Doe,Eng"
- значение параметра:
- разделитель значения свойстваmailto:jd@some.com
- стоимость имущества
Вот цитата из раздела RFC 5545 3.2, которая объясняет, когда значения параметров окружены двойными кавычками, и сообщает двойные кавычки незаконно в значениях параметра:
Значения параметров свойств, которые содержат точечные сепараторы COMON, SEMICOLON, или COMMA, должны быть указаны в качестве цитируемых текстовых значений. Значения параметра свойств не должны содержать символ dquote. Характер DQuote используется в качестве разделителя для значений параметров, которые содержат ограниченный символ или текст URI. Например:
Описание; ALTREP = "CID: part1.0001@example.org": Конференция Wild Wizards Fall'98 - - Лас-Вегас , NV , США
Важно отметить, что параметры могут технически содержать несколько значений. Запятая используется для разделения этих нескольких значений:
(Из раздела 3.2.11 РФК 5545 :)
ATTENDEE;MEMBER="mailto:projectA@example.com","mailto:pr
ojectB@example.com":mailto:janedoe@example.com
Не все iCalendar Engines примут несколько значений по всем параметрам, но следующие параметры должны разрешать несколько значений (в соответствии с RFC):
- ЧЛЕН
- Делегированный - от
- Делегированный к
С уважением,
-Дуг