icalendarの仕様読んでます。 むーん、難しいなぁ。
RRULEとRECURRENCE-IDの関係が絶妙というか複雑というか。
例えば、12月9日を起点として、毎月のイベントを表現したRRULEは
UID:7DA0364B-DAE1-4809-94BD-AAD9E2FDEB7A#後ほど参照する RRULE:FREQ=MONTHLY;INTERVAL=1
なんですが
実際の日付としては、 2007年12月9日 2008年1月9日 2008年2月9日 2008年3月9日 . . . という感じですね。
この2007年1月9日だけ、予定がずれて1月8日だったって場合にRECURRENCE-IDを使うらしい
BEGIN:VEVENT UID:7DA0364B-DAE1-4809-94BD-AAD9E2FDEB7A DTSTART;VALUE=DATE:20080208 DTEND;VALUE=DATE:20080209 RECURRENCE-ID;VALUE=DATE:20080209 END:VEVENT
いろいろ省略しているけど、例外的なイベントとして作成してRRULEの代わりに UID:7DA…の20080209の予定だったはずなんだよと。参照している感じ。
これをRDBに表現したいんだが、まだ思いつかん。同一テーブルの自己参照で済むぽい?
関連記事はありません