具体地说,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 -酒店的名字
  • ; -参数delimiter
  • CN -参数的名字
  • = -参数值符
  • "John Doe,Eng" -参数值
  • : -财产的价值delimiter
  • mailto: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):

  • 会员
  • 授权-从
  • 委派到

问候,

-道格

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top