SSブログ

TODOコンポーネント(VTODO) [iCalendar]

次に書かれているコンポーネントは「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」は複数の設定ができる様ですね。

dtstampM二つ以上は書かない(MUST NOT)
uidM二つ以上は書かない(MUST NOT)
classO二つ以上は書かない(MUST NOT)
completedO二つ以上は書かない(MUST NOT)
createdO二つ以上は書かない(MUST NOT)
descriptionO二つ以上は書かない(MUST NOT)
dtstartM/O「duration」が設定されている場合は必ず設定する(MUST)。二つ以上は書かない(MUST NOT)
geoO二つ以上は書かない(MUST NOT)
last-modO二つ以上は書かない(MUST NOT)
locationO二つ以上は書かない(MUST NOT)
organizerO二つ以上は書かない(MUST NOT)
percentO二つ以上は書かない(MUST NOT)
priorityO二つ以上は書かない(MUST NOT)
recuridO二つ以上は書かない(MUST NOT)
seqO二つ以上は書かない(MUST NOT)
statusO二つ以上は書かない(MUST NOT)
summaryO二つ以上は書かない(MUST NOT)
urlO二つ以上は書かない(MUST NOT)
rruleO二つ以上は書くべきでない(SHOULD NOT)
dueO「duration」が設定されている場合は、設定してはいけない(MUST NOT)。
durationO「due」が設定されている場合は、設定してはいけない(MUST NOT)。これを設定する際は必ず「dtstart」も設定する(MUST)
attachO二つ以上設定してもよい(MAY)
attendeeO二つ以上設定してもよい(MAY)
categoriesO二つ以上設定してもよい(MAY)
commentO二つ以上設定してもよい(MAY)
contactO二つ以上設定してもよい(MAY)
exdateO二つ以上設定してもよい(MAY)
rstatusO二つ以上設定してもよい(MAY)
relatedO二つ以上設定してもよい(MAY)
resourcesO二つ以上設定してもよい(MAY)
rdateO二つ以上設定してもよい(MAY)
x-propO二つ以上設定してもよい(MAY)
iana-propO二つ以上設定してもよい(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」については、以上です。







ブログを作る(無料) powered by SSブログ

この広告は前回の更新から一定期間経過したブログに表示されています。更新すると自動で解除されます。