0

我无法理解关于and的rfc5545。据我了解,根据 RFC 的这一部分,UNTIL 和 COUNT 不能在同一个重复规则中:untilcount

值名称:RECUR

用途:此值类型用于标识包含重复规则规范的属性。

正式定义:值类型由以下
符号定义:

 recur      = "FREQ"=freq *(

            ; either UNTIL or COUNT may appear in a 'recur',
            ; but UNTIL and COUNT MUST NOT occur in the same 'recur'
...

在 rfc 中进一步说明:

如果指定了多个 BYxxx 规则部分,则在评估指定的 FREQ 和 INTERVAL 规则部分之后,BYxxx 规则部分将按以下顺序应用于当前评估的事件集:BYMONTH、BYWEEKNO、BYYEARDAY、BYMONTHDAY、BYDAY、BYHOUR、BYMINUTE , BYSECOND 和 BYSETPOS; 然后评估 COUNT 和 UNTIL。

最后一段似乎暗示 COUNT 和 UNTIL 可以在同一个 RRULE 中。

当我检查实现 rrule 生成器和解析的库时,没有验证可以确保 COUNT 和 UNTIL 不在同一个递归中。

每个人通常对此进行的一般实施是什么?我们是否应该忽略此验证并在同时存在 COUNT 和 UNTIL 时简单地使用 UNTIL 参数(反之亦然)?RFC 对 COUNT 和 UNTIL 参数的确切含义是什么?

4

1 回答 1

0

我认为您不能从第二段中得出两者都有效的结论。

RECUR 及其各个组成部分的基数只有一个定义:ABNF 定义。这是您应该去检查您的财产的有效性的地方。第二段简单地描述了用于进行 RRULE 扩展的算法。

于 2015-11-06T08:07:35.207 回答