iCalendar 仕様 RFC 5545 のプロパティ RECURRENCE-ID と、このプロパティの RANGE パラメータについて少し混乱しています。
2012 年 8 月 6 日から毎週月曜日の 10 時から 12 時にスケジュールされる「会議」と呼ばれる定期的なイベントを含むカレンダー コンポーネントを想定します。繰り返しの終了は 2012 年 10 月 29 日です。 2012 年 9 月 3 日までに毎週月曜日に RANGE を THISANDFUTURE に設定して、その後のすべてのイベントも 12 時から 15 時にスケジュールされることを示します。2012 年 10 月 1 日までに、"会議" は (月曜日ではなく) 毎週火曜日の 10 時から 13 時に再度スケジュール変更され、RANGE は THISANDFUTURE に設定されます。さらに、2012 年 9 月 17 日のシングル イベントは、8 時から 10 時に変更されます。
iCalendar 形式のイベントは次のようになります。
BEGIN:VCALENDAR
...
BEGIN:VEVENT
DTSTART:20120806T100000Z
DTEND:20120806T120000Z
UID:atgbutj8md5v35fuguni1of4b9o@google.com
SEQUENCE:1
SUMMARY:Meeting
RRULE:FREQ=WEEKLY;UNTIL=20121029T100000Z
END:VEVENT
BEGIN:VEVENT
DTSTART:20120903T120000Z
DTEND:20120903T150000Z
UID:atgbutj8md5v35fuguni1of4b9o@google.com
SEQUENCE:1
SUMMARY:Meeting
RRULE:FREQ=WEEKLY;UNTIL=20121029T100000Z
RECURRENCE-ID;RANGE=THISANDFUTURE:20120903T100000Z
END:VEVENT
BEGIN:VEVENT
DTSTART:20121002T100000Z
DTEND:20121002T130000Z
UID:atgbutj8md5v35fuguni1of4b9o@google.com
SEQUENCE:1
SUMMARY:Meeting
RRULE:FREQ=WEEKLY;UNTIL=20121029T100000Z
RECURRENCE-ID;RANGE=THISANDFUTURE:20121001T100000Z or 20121002T120000Z???????????
END:VEVENT
BEGIN:VEVENT
DTSTART:20120917T080000Z
DTEND:20120917T100000Z
UID:atgbutj8md5v35fuguni1of4b9o@google.com
SEQUENCE:1
SUMMARY:Meeting
RRULE:FREQ=WEEKLY;UNTIL=20121029T100000Z
RECURRENCE-ID:20120917T100000Z or 20120917T120000Z?????????
END:VEVENT
END:VCALENDAR
不明な値は、RECURRENCE-ID と RRULES の値です。
-) 3 番目と 4 番目のイベントで使用される日付はどれですか? メイン イベント (最初のイベント) を参照する必要がありますか?それとも 2 番目のイベントを参照する必要がありますか?
-) RFC5545 の私の解釈が正しければ、RRULE は変更または再スケジュールされない可能性があります。これは、ルールがサブイベントでも同じであることを意味します。2012 年 10 月 29 日の 10 時から 12 時に予定されていた最後のイベントはどうなりますか? これは、カレンダー コンポーネントの繰り返しセットの最後のイベントですか、それとも 10 月 30 日 10 時が含まれるようにすべてのイベントで UNTIL 値を変更する必要がありますか?
前もって感謝します!:-)