TODOコンポーネント(VTODO) [iCalendar]
次に書かれているコンポーネントは「VTODO」です。
「TODOについて記載するもの」ですね。その記述については、下記の通りに定義されています。
これもVEVENTにならって、表にしてみます。ちなみに、「VEVENT」を見た時に見逃してましたが、定義によると「VALARM」は複数の設定ができる様ですね。
「VTODO」について、記載されていたことを列挙します。
終了日だけ設定された場合はどうなるんやろ?と思ったら、「DTEND」は設定する項目に無い様ですね・・。「EXDATE」ってなんでしょう?これもプロパティの意味がわからない限り謎が多いですね。
ま、とりあえず、下記に例をまとめておきます。
例を見ていると「DUE」プロパティが終了時点を示す様ですね。だから「DTEND」は無い様ですね。これらの例を見ていると、日付の表現がやはりややこしそうです・・。
「VTODO」については、以上です。
「TODOについて記載するもの」ですね。その記述については、下記の通りに定義されています。
todoc = "BEGIN" ":" "VTODO" CRLF todoprop *alarmc "END" ":" "VTODO" CRLF todoprop = *( ; ; The following are REQUIRED, ; but MUST NOT occur more than once. ; dtstamp / uid / ; ; The following are OPTIONAL, ; but MUST NOT occur more than once. ; class / completed / created / description / dtstart / geo / last-mod / location / organizer / percent / priority / recurid / seq / status / summary / url / ; ; The following is OPTIONAL, ; but SHOULD NOT occur more than once. ; rrule / ; ; Either ’due’ or ’duration’ MAY appear in ; a ’todoprop’, but ’due’ and ’duration’ ; MUST NOT occur in the same ’todoprop’. ; If ’duration’ appear in a ’todoprop’, ; then ’dtstart’ MUST also appear in ; the same ’todoprop’. ; due / 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 ; ) |
これもVEVENTにならって、表にしてみます。ちなみに、「VEVENT」を見た時に見逃してましたが、定義によると「VALARM」は複数の設定ができる様ですね。
dtstamp | M | 二つ以上は書かない(MUST NOT) |
uid | M | 二つ以上は書かない(MUST NOT) |
class | O | 二つ以上は書かない(MUST NOT) |
completed | O | 二つ以上は書かない(MUST NOT) |
created | O | 二つ以上は書かない(MUST NOT) |
description | O | 二つ以上は書かない(MUST NOT) |
dtstart | M/O | 「duration」が設定されている場合は必ず設定する(MUST)。二つ以上は書かない(MUST NOT) |
geo | O | 二つ以上は書かない(MUST NOT) |
last-mod | O | 二つ以上は書かない(MUST NOT) |
location | O | 二つ以上は書かない(MUST NOT) |
organizer | O | 二つ以上は書かない(MUST NOT) |
percent | O | 二つ以上は書かない(MUST NOT) |
priority | O | 二つ以上は書かない(MUST NOT) |
recurid | O | 二つ以上は書かない(MUST NOT) |
seq | O | 二つ以上は書かない(MUST NOT) |
status | O | 二つ以上は書かない(MUST NOT) |
summary | O | 二つ以上は書かない(MUST NOT) |
url | O | 二つ以上は書かない(MUST NOT) |
rrule | O | 二つ以上は書くべきでない(SHOULD NOT) |
due | O | 「duration」が設定されている場合は、設定してはいけない(MUST NOT)。 |
duration | O | 「due」が設定されている場合は、設定してはいけない(MUST NOT)。これを設定する際は必ず「dtstart」も設定する(MUST) |
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) |
「VTODO」について、記載されていたことを列挙します。
- 「VALARM」コンポーネントを含むことができる
- 他のカレンダーコンポーネントにネストすることは出来ない
- 「RELATED-TO」プロパティを用いて「VEVENT」や「VJOURNAL」と関連付けることが可能
- 「DTSTART」と「DUE」もしくは「DURATION」を含まない場合、完了するまで、各日付のコンポーネントとして扱う
終了日だけ設定された場合はどうなるんやろ?と思ったら、「DTEND」は設定する項目に無い様ですね・・。「EXDATE」ってなんでしょう?これもプロパティの意味がわからない限り謎が多いですね。
ま、とりあえず、下記に例をまとめておきます。
BEGIN:VTODO UID:20070313T123432Z-456553@example.com DTSTAMP:20070313T123432Z DUE;VALUE=DATE:20070501 SUMMARY:Submit Quebec Income Tax Return for 2006 CLASS:CONFIDENTIAL CATEGORIES:FAMILY,FINANCE STATUS:NEEDS-ACTION END:VTODO |
2007/5/1までに完了させる必要のある項目を示す。2007/5/1の0時に期限切れとなる。 |
BEGIN:VTODO UID:20070514T103211Z-123404@example.com DTSTAMP:20070514T103211Z DTSTART:20070514T110000Z DUE:20070709T130000Z COMPLETED:20070707T100000Z SUMMARY:Submit Revised Internet-Draft PRIORITY:1 STATUS:NEEDS-ACTION END:VTODO | 2007/7/9 1:00PMに到着予定で、2007/7/7 10:00AMに完了した項目 |
例を見ていると「DUE」プロパティが終了時点を示す様ですね。だから「DTEND」は無い様ですね。これらの例を見ていると、日付の表現がやはりややこしそうです・・。
「VTODO」については、以上です。