可以/应当iCal财产parametrs能逃脱?
题
具体地说,CN(常见的名称)的参数,例如
组织者;CN=John Doe,Eng:mailto:jd@some.com
RFC是模糊的关于这一点,恕我直言。这是非常清楚 财产价值 的 类型 文本,但对于这个参数,它只是说,"的参数值的文本".不管怎么说,逃跑的指定文本的类型似乎并没有完成的参数值(例如':'不是逃出来).
非常感谢!
解决方案
Davka,
是的,的参数值可以逃脱周围的价值在双引号。参数值必须如果他们逃脱了包含任何以下特点:
; - semicolon
: - colon
, - comma
它是非法的,有一个双引号 "
字里面的参数值,因此它们应删除(或无从参数值)。
所以,你上面的例子中,正确的逃脱的是这个:
ORGANIZER;CN="John Doe,Eng":mailto:jd@some.com
注意,一旦第一个(没有引用)的结肠 :
遇到析引擎享其余的 财产的价值.它是合法使用结肠 :
角内产值,因此结肠 mailto:jd@some.com
不需要逃脱。
我们可以打破线成它的部分:
ORGANIZER
-酒店的名字;
-参数delimiterCN
-参数的名字=
-参数值符"John Doe,Eng"
-参数值:
-财产的价值delimitermailto:jd@some.com
-财产的价值
这里有一个引自RFC5545第3.2节,解释的时候参数数值都是围绕着双引号,告诉我们,双引号是非法的参数值:
酒店的参数值包含 结肠,分号,或逗号 性格分离器必须指定 正如引述的字文本价值观。酒店 参数值必须包含的 DQUOTE符。该DQUOTE 字符用于作为分隔对 参数包含的价值观 限制字或URI文本。例如:
说明;ALTREP="cid:part1.0001@example.org": 落'98野巫师会议- 拉斯维加斯\,NV\,美国
重要的是要注意的参数可以在技术上含有多种价值观。一个逗号是用于独立的这些多重价值:
(从第3.2.11RFC5545:)
ATTENDEE;MEMBER="mailto:projectA@example.com","mailto:pr
ojectB@example.com":mailto:janedoe@example.com
不是所有的iCalendar引擎将接受多个值的所有参数,但是下面的参数应允许多个值(根据RFC):
- 会员
- 授权-从
- 委派到
问候,
-道格
不隶属于 StackOverflow