イベントコンポーネント(VEVENT) [iCalendar]
今回から各カレンダーコンポーネントについての記載を見て行きます。最初は「VEVENT」です。
「イベントを記載するコンポーネント」とのこと。そのままですね。記述は下記の通りに定義されています。
見通しが悪いので、表にしてみますか・・。「M」は「必須」、「M/O」は「場合によっては必須」、「O」は「オプション」です。
「VEVENT」の用途には下記のものが挙げられています。
また、良く理解できていない(ので理解が間違えているかもしれない)こともあるのですが、記載されていた事項について、以下に羅列しておきます。
う~ん、だ~っと羅列しましたが、ちゃんとまとめたい気もしますね・・・。
最後に、例が並べられていたので、表にしときます。
謎も多いですが、おそらく3.7、3.8にプロパティについての詳細が書かれているんでしょう。
つづく。
「イベントを記載するコンポーネント」とのこと。そのままですね。記述は下記の通りに定義されています。
eventc = "BEGIN" ":" "VEVENT" CRLF eventprop *alarmc "END" ":" "VEVENT" CRLF eventprop = *( ; ; The following are REQUIRED, ; but MUST NOT occur more than once. ; dtstamp / uid / ; ; The following is REQUIRED if the component ; appears in an iCalendar object that doesn’t ; specify the "METHOD" property; otherwise, it ; is OPTIONAL; in any case, it MUST NOT occur ; more than once. ; dtstart / ; ; The following are OPTIONAL, ; but MUST NOT occur more than once. ; class / created / description / geo / last-mod / location / organizer / priority / seq / status / summary / transp / url / recurid / ; ; The following is OPTIONAL, ; but SHOULD NOT occur more than once. ; rrule / ; ; Either ’dtend’ or ’duration’ MAY appear in ; a ’eventprop’, but ’dtend’ and ’duration’ ; MUST NOT occur in the same ’eventprop’. ; dtend / duration / ; ; The following are OPTIONAL, ; and MAY occur more than once. ; attach / attendee / categories / comment / contact / exdate / rstatus / related / resources / rdate / x-prop / iana-prop ; ) |
見通しが悪いので、表にしてみますか・・。「M」は「必須」、「M/O」は「場合によっては必須」、「O」は「オプション」です。
dtstamp | M | 二つ以上は書かない(MUST NOT)。 |
uid | M | 二つ以上は書かない(MUST NOT)。 |
dtstart | M/O | 「METHOD」プロパティの無いiCalendarオブジェクトの場合必須。二つ以上は書かない(MUST NOT)。 |
class | O | 二つ以上は書かない(MUST NOT)。 |
created | O | 二つ以上は書かない(MUST NOT)。 |
description | O | 二つ以上は書かない(MUST NOT)。 |
geo | O | 二つ以上は書かない(MUST NOT)。 |
last-mod | O | 二つ以上は書かない(MUST NOT)。 |
location | O | 二つ以上は書かない(MUST NOT)。 |
organizer | O | 二つ以上は書かない(MUST NOT)。 |
priority | O | 二つ以上は書かない(MUST NOT)。 |
seq | O | 二つ以上は書かない(MUST NOT)。 |
status | O | 二つ以上は書かない(MUST NOT)。 |
summary | O | 二つ以上は書かない(MUST NOT)。 |
transp | O | 二つ以上は書かない(MUST NOT)。 |
url | O | 二つ以上は書かない(MUST NOT)。 |
recurid | O | 二つ以上は書かない(MUST NOT)。 |
rrule | O | 二つ以上は書くべきでない(SHOULD NOT)。 |
dtend | O | 「duration」設定されている場合は書かない(MUST NOT)。 |
duration | O | 「dtend」設定されている場合は書かない(MUST NOT)。 |
attach | O | 複数指定可(MAY)。 |
attendee | O | 複数指定可(MAY)。 |
categories | O | 複数指定可(MAY)。 |
comment | O | 複数指定可(MAY)。 |
contact | O | 複数指定可(MAY)。 |
exdate | O | 複数指定可(MAY)。 |
rstatus | O | 複数指定可(MAY)。 |
related | O | 複数指定可(MAY)。 |
resources | O | 複数指定可(MAY)。 |
rdate | O | 複数指定可(MAY)。 |
x-prop | O | 複数指定可(MAY)。 |
iana-prop | O | 複数指定可(MAY)。 |
「VEVENT」の用途には下記のものが挙げられています。
- scheduled amount of time on a calendar
- 記念日(anniversary)
- 日々の備忘録(daily reminder)
また、良く理解できていない(ので理解が間違えているかもしれない)こともあるのですが、記載されていた事項について、以下に羅列しておきます。
- 「VALARM」を含むことができる
- Time Transparencyを「TRANSPARENT」に設定することでbusy timeの検索から外せる(?)
- 記念日や備忘録はデフォルトのDATE-TIMEの代わりに「DTSTART」プロパティを設定する
- 「DTEND」プロパティを含む場合、DATE値の記述が必須(MUST)
- 記念日は複数の日にまたがることも可能(「DTEND」を「DTSTART」よりも後に設定)
- 「DURATION」プロパティを含む場合、「dur-day」か「dur-week」を記述すること(MUST)
- 「DTSTART」プロパティはイベントの開始点(inclusive start)を記述し、繰り返しのイベント()の場合は始めの要素になる
- 「DTEND」プロパティはイベントの終了点(non-inclusive end)を記述する
- DATE型の「DTSTART」を含むが「DTEND」や「DURATION」を含まないイベントの期間は1日(終日?)となる
- DATETIME型の「DTSTART」を含むが「DTEND」を含まないイベントは「DTSTART」の日時を終了時とする
- 「VEVENT」カレンダーコンポーネントは他のカレンダーコンポーネント内にネストできない
- 「VTODO」や「VJOURNAL」等の他のコンポーネントと関連性のある場合は「REATED-TO」プロパティを設定する
う~ん、だ~っと羅列しましたが、ちゃんとまとめたい気もしますね・・・。
最後に、例が並べられていたので、表にしときます。
BEGIN:VEVENT UID:19970901T130000Z-123401@example.com DTSTAMP:19970901T130000Z DTSTART:19970903T163000Z DTEND:19970903T190000Z SUMMARY:Annual Employee Review CLASS:PRIVATE CATEGORIES:BUSINESS,HUMAN RESOURCES END:VEVENT |
ビジータイム(busy time)として検索されるミーティング |
BEGIN:VEVENT UID:19970901T130000Z-123402@example.com DTSTAMP:19970901T130000Z DTSTART:19970401T163000Z DTEND:19970402T010000Z SUMMARY:Laurel is in sensitivity awareness class. CLASS:PUBLIC CATEGORIES:BUSINESS,HUMAN RESOURCES TRANSP:TRANSPARENT END:VEVENT |
ビジータイム(busy time)と検索されないリマインダ。ビジータイムでないが、トランスペアレントだとの事。 |
BEGIN:VEVENT UID:19970901T130000Z-123403@example.com DTSTAMP:19970901T130000Z DTSTART;VALUE=DATE:19971102 SUMMARY:Our Blissful Anniversary TRANSP:TRANSPARENT CLASS:CONFIDENTIAL CATEGORIES:ANNIVERSARY,PERSONAL,SPECIAL OCCASION RRULE:FREQ=YEARLY END:VEVENT |
毎年の記念日。 |
BEGIN:VEVENT UID:20070423T123432Z-541111@example.com DTSTAMP:20070423T123432Z DTSTART;VALUE=DATE:20070628 DTEND;VALUE=DATE:20070709 SUMMARY:Festival International de Jazz de Montreal TRANSP:TRANSPARENT END:VEVENT |
2007/6/28〜2007/7/8に予定されているイベント。「DTEND」が「2007/7/9」に設定されているが、「DTEND」はイベントの最後の日に含まれない事に注意。(?なんで??) |
謎も多いですが、おそらく3.7、3.8にプロパティについての詳細が書かれているんでしょう。
つづく。
コメント 0