アラームコンポーネント(VALARM)のつづき2 [iCalendar]
またまた前回の続きです。この書き方がいいかどうか微妙ですが、前回の様に列挙して行きます。
・・・なんか、ちゃんとまとめないと列挙してるだけでは、分かりにくいですね・・。と言うか、全体像がつかみにくいですね・・。
それはさておき、まだちょっとあるんですが、今回は力つきてしまいました・・・。だらだらしてますが、つづく。
-
「TRIGGER」プロパティはアラームの発生時期を記載する
→EVENT、TODOの開始前いつぐらいかで指定
→「RELATED」パラメータでEVENT、TODOの始まりもしくは終わりのどちらと関係があるかを記載
→UTCでの日時で指定することも可能 - アラームをEVENT、TODOの開始時にセットする場合、EVENT、TODOに「DTSTART」プロパティを記載すること(MUST)
- アラームをEVENT、TODOの終了時にセットする場合、EVENT、TODOに「DTEND」プロパティを記載するか、「DTSTART」と「DURATION」プロパティを記載すること(MUST)
- 「VTODO」カレンダーコンポーネント内でTODOの期限時に設定されたアラームは「DUE」プロパティを記載する(MUST)か、「DTSTART」プロパティと「DURATION」プロパティの両方を設定する(MUST)
- 繰り返しでトリガーを立てる事も可能。
→繰り返す場合、「DURATION」と「REPEAT」プロパティを含む事(MUST)
→「DURATION」プロパティは繰り返し間隔。
→「REPEAT」プロパティは繰り返し回数。初回は数に含まない
→「DURATION」と「REPEAT」のいずれかのプロパティが無い場合は繰り返さない。
・・・なんか、ちゃんとまとめないと列挙してるだけでは、分かりにくいですね・・。と言うか、全体像がつかみにくいですね・・。
それはさておき、まだちょっとあるんですが、今回は力つきてしまいました・・・。だらだらしてますが、つづく。
アラームコンポーネント(VALARM)のつづき [iCalendar]
前回のつづきです。VALARMはなんか長いので、今回を入れて後3回分くらいになってしまうかも・・・。
書かれている内容を箇条書きで列挙して行きます。必須プロパティについて、前回の表を見れば分かる物の記述ははしょる事にします。
・・・中途半端な位置なのですが、今日は疲れたので、続きはまた次回にします。もう一回で、済みますかね。
つづく。
書かれている内容を箇条書きで列挙して行きます。必須プロパティについて、前回の表を見れば分かる物の記述ははしょる事にします。
- イベントやTO DOの備忘、通知のためのコンポーネント
- 「ACTION」プロパティが「AUDIO」の場合、音声リソース(MUST)を指す「ATTACH」プロパティを一つのみ含む事ができる。
- 「ACTION」プロパティが「DISPLAY」の場合、「DESCRIPTION」プロパティは通知の際に表示するテキストを含む。
- 「ACTION」プロパティが「EMAIL」の場合:
- 「DESCRIPTION」プロパティはメッセージボディのテキストを含む
- 「SUMMARY」プロパティはメッセージのタイトル(件名)に使用されるテキストを含む
- 「ATTENDEE」プロパティはメッセージの宛先のメールアドレスを含む
- 「ATTACH」プロパティはメッセージに添付する物を含む
- アラーム発生時にメールの送信が行われる
- 「VEVENT」「VTODO」カレンダーコンポーネント内のみに記載可能(MUST)
- ネストはできない
- 一つの「VEVENT」「VTODO」カレンダーコンポーネント内に複数記載可
・・・中途半端な位置なのですが、今日は疲れたので、続きはまた次回にします。もう一回で、済みますかね。
つづく。
アラームコンポーネント(VALARM) [iCalendar]
コンポーネント系の最後になりますが、「VALARM」です。「VEVENT」と「VTODO」に含まれる場合のあるコンポーネントですね。単独で存在できるのかどうかは、今のところ不明。アラームを定義するためのコンポーネントです。
定義は下記の通り。
「audioprop」「dispprop」「emailprop」の3つのパートに別れていますね。それぞれがサブコンポーネントになるんでしょうか? プロパティもそれぞれについて、定義されています。別々にまとめてみます。なお、「M」は「必須」、「M/O」は「場合によっては必須」、「O」は「オプション」です。
以下、説明が結構長いので、つづく。
定義は下記の通り。
alarmc = "BEGIN" ":" "VALARM" CRLF (audioprop / dispprop / emailprop) "END" ":" "VALARM" CRLF audioprop = *( ; ; 'action' and 'trigger' are both REQUIRED, ; but MUST NOT occur more than once. ; action / trigger / ; ; 'duration' and 'repeat' are both OPTIONAL, ; and MUST NOT occur more than once each; ; but if one occurs, so MUST the other. ; duration / repeat / ; ; The following is OPTIONAL, ; but MUST NOT occur more than once. ; attach / ; ; The following is OPTIONAL, ; and MAY occur more than once. ; x-prop / iana-prop ; ) dispprop = *( ; ; The following are REQUIRED, ; but MUST NOT occur more than once. ; action / description / trigger / ; ; 'duration' and 'repeat' are both OPTIONAL, ; and MUST NOT occur more than once each; ; but if one occurs, so MUST the other. ; duration / repeat / ; ; The following is OPTIONAL, ; and MAY occur more than once. ; x-prop / iana-prop ; ) emailprop = *( ; ; The following are all REQUIRED, ; but MUST NOT occur more than once. ; action / description / trigger / summary / ; ; The following is REQUIRED, ; and MAY occur more than once. ; attendee / ; ; 'duration' and 'repeat' are both OPTIONAL, ; and MUST NOT occur more than once each; ; but if one occurs, so MUST the other. ; duration / repeat / ; ; The following are OPTIONAL, ; and MAY occur more than once. ; attach / x-prop / iana-prop ; ) |
「audioprop」「dispprop」「emailprop」の3つのパートに別れていますね。それぞれがサブコンポーネントになるんでしょうか? プロパティもそれぞれについて、定義されています。別々にまとめてみます。なお、「M」は「必須」、「M/O」は「場合によっては必須」、「O」は「オプション」です。
audioprop | ||
action | M | 二つ以上設定しない(MUST NOT) |
trigger | M | 二つ以上設定しない(MUST NOT) |
duration | M/O | 二つ以上設定しない(MUST NOT)。「repeat」が設定された場合は必須(MUST) |
repeat | M/O | 二つ以上設定しない(MUST NOT)。「duration」が設定された場合は必須(MUST) |
attach | O | 二つ以上設定しない(MUST NOT) |
x-prop | O | 二つ以上設定してもよい(MAY) |
iana-prop | O | 二つ以上設定してもよい(MAY) |
dispprop | ||
action | M | 二つ以上設定しない(MUST NOT) |
description | M | 二つ以上設定しない(MUST NOT) |
trigger | M | 二つ以上設定しない(MUST NOT) |
duration | M/O | 二つ以上設定しない(MUST NOT)。「repeat」が設定された場合は必須(MUST) |
repeat | M/O | 二つ以上設定しない(MUST NOT)。「duration」が設定された場合は必須(MUST) |
x-prop | O | 二つ以上設定してもよい(MAY) |
iana-prop | O | 二つ以上設定してもよい(MAY) |
emailprop | ||
action | M | 二つ以上設定しない(MUST NOT) |
description | M | 二つ以上設定しない(MUST NOT) |
trigger | M | 二つ以上設定しない(MUST NOT) |
summary | M | 二つ以上設定しない(MUST NOT) |
attendee | M | 二つ以上設定してもよい(MAY) |
duration | M/O | 二つ以上設定しない(MUST NOT)。「repeat」が設定された場合は必須(MUST) |
repeat | M/O | 二つ以上設定しない(MUST NOT)。「duration」が設定された場合は必須(MUST) |
attach | O | 二つ以上設定してもよい(MAY) |
x-prop | O | 二つ以上設定してもよい(MAY) |
iana-prop | O | 二つ以上設定してもよい(MAY) |
以下、説明が結構長いので、つづく。
タイムゾーンコンポーネント(VTIMEZONE)のつづき [iCalendar]
前回の続きです。
前回見ましたようにVTIMEZONEコンポーネントはその中にプロパティとサブコンポーネントを含んでいます。まずは、サブコンポーネントの外にあるプロパティについて下記の通りに記述されています。
また、「STANDARD」や「DAYLIGHT」サブコンポーネントのプロパティは下記の通りです。・・・前回の定義と記述順が違いますね・・・。いいですが・・。
う~ん、今一意味が取れてないところもありますが、下記の例を見れば理解できるでしょうか・・。
例がやたらと長くなりましたが、ちゃんと見てないので、意味が正しく取れてないかも知れません。
【参考】
・What is an onset date? - YAHOO! ANSWERS
前回見ましたようにVTIMEZONEコンポーネントはその中にプロパティとサブコンポーネントを含んでいます。まずは、サブコンポーネントの外にあるプロパティについて下記の通りに記述されています。
プロパティ名 | M/O | 型 | 概要 |
TZID | M | TEXT | iCalendarオブジェクト内で個々の「VTIMEZONE」コンポーネントを識別するために使用。 |
LAST-MODIFIED | O | UTC(?) | 本コンポーネントの定義の最終更新日時を設定する。 |
TZURL | O | URL | 公開されている「VTIMEZONE」のURLを指定する。URLは誰でもアクセスできるリソースを指すべき(SHOULD)で、 「file:」URLや閉じた環境のURLであるべきでない(SHOULD NOT)。 |
また、「STANDARD」や「DAYLIGHT」サブコンポーネントのプロパティは下記の通りです。・・・前回の定義と記述順が違いますね・・・。いいですが・・。
プロパティ名 | M/O | 型 | 概要 |
DTSTART | M | DATE-TIME | サブコンポーネント定義が有効になる開始日時を指定。ローカル時刻で記載(MUST)。 |
TZOFFSETFROM | M | UTC offset |
タイムゾーンの適用開始時点を「DTSTART」からのオフセットで示す(?) 下記の例はニューヨークの秋から有効になることを示す。 DTSTART:19671029T020000 TZOFFSETFROM:-0400 |
TZOFFSETTO | M | UTC offset | タイムゾーンが有効になった時のUTCオフセットを示す。 |
TZNAME | O | TEXT | タイムゾーンの表示名を記述する |
RRULE | O |
タイムゾーンの開始日時の指定に利用する。特に次の目的に利用。 ・効果の満了日が分かっている場合は「UNTIL」を設定する(MUST)。また、その設定値はUTC time(MUST)。 ・開始日が「RRULE」で決められる場合、「DTSTART」「TZOFFSETFROM」プロパティを使用する(MUST) | |
RDATE | O | DATE-TIME(?) | タイムゾーンの開始日時の指定に利用する。日時はローカルタイムで指定(MUST)。UTC offsetは「TZOFFSETFROM」に記述。 |
COMMENT | O | TEXT | タイムゾーンに関する説明の文章を記載。 |
う~ん、今一意味が取れてないところもありますが、下記の例を見れば理解できるでしょうか・・。
BEGIN:VTIMEZONE TZID:America/New_York LAST-MODIFIED:20050809T050000Z BEGIN:DAYLIGHT DTSTART:19670430T020000 RRULE:FREQ=YEARLY;BYMONTH=4; BYDAY=-1SU;UNTIL=19730429T070000Z TZOFFSETFROM:-0500 TZOFFSETTO:-0400 TZNAME:EDT END:DAYLIGHT BEGIN:STANDARD DTSTART:19671029T020000 RRULE:FREQ=YEARLY;BYMONTH=10; BYDAY=-1SU;UNTIL=20061029T060000Z TZOFFSETFROM:-0400 TZOFFSETTO:-0500 TZNAME:EST END:STANDARD BEGIN:DAYLIGHT DTSTART:19740106T020000 RDATE:19750223T020000 TZOFFSETFROM:-0500 TZOFFSETTO:-0400 TZNAME:EDT END:DAYLIGHT BEGIN:DAYLIGHT DTSTART:19760425T020000 RRULE:FREQ=YEARLY;BYMONTH=4; BYDAY=-1SU;UNTIL=19860427T070000Z TZOFFSETFROM:-0500 TZOFFSETTO:-0400 TZNAME:EDT END:DAYLIGHT BEGIN:DAYLIGHT DTSTART:19870405T020000 RRULE:FREQ=YEARLY;BYMONTH=4; BYDAY=1SU;UNTIL=20060402T070000Z TZOFFSETFROM:-0500 TZOFFSETTO:-0400 TZNAME:EDT END:DAYLIGHT BEGIN:DAYLIGHT DTSTART:20070311T020000 RRULE:FREQ=YEARLY;BYMONTH=3; BYDAY=2SU TZOFFSETFROM:-0500 TZOFFSETTO:-0400 TZNAME:EDT END:DAYLIGHT BEGIN:STANDARD DTSTART:20071104T020000 RRULE:FREQ=YEARLY;BYMONTH=11; BYDAY=1SU TZOFFSETFROM:-0400 TZOFFSETTO:-0500 TZNAME:EST END:STANDARD END:VTIMEZONE | ニューヨークで1967年4月30日3:00:00 EDTに有効になるタイムゾーンルール。 |
BEGIN:VTIMEZONE TZID:America/New_York LAST-MODIFIED:20050809T050000Z BEGIN:STANDARD DTSTART:20071104T020000 TZOFFSETFROM:-0400 TZOFFSETTO:-0500 TZNAME:EST END:STANDARD BEGIN:DAYLIGHT DTSTART:20070311T020000 TZOFFSETFROM:-0500 TZOFFSETTO:-0400 TZNAME:EDT END:DAYLIGHT END:VTIMEZONE | 「DTSTART」プロパティのみを設定しているニューヨークのタイムゾーン情報。 2007年3月11日3:00:00 EDT ~2008年3月9日 1:59:59 ESTの間の繰り返しイベントのみに適合する。 例えば、2007年6月1日~2007年12月31日の毎週金曜日8:00am~9:00amに起こるイベントに利用可能。 |
BEGIN:VTIMEZONE TZID:America/New_York LAST-MODIFIED:20050809T050000Z TZURL:http://zones.example.com/tz/ America-New_York.ics BEGIN:STANDARD DTSTART:20071104T020000 RRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU TZOFFSETFROM:-0400 TZOFFSETTO:-0500 TZNAME:EST END:STANDARD BEGIN:DAYLIGHT DTSTART:20070311T020000 RRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU TZOFFSETFROM:-0500 TZOFFSETTO:-0400 TZNAME:EDT END:DAYLIGHT END:VTIMEZONE | ニューヨークの「RRULE」を利用した現在のタイムゾーンの例。「STANDARD」「DAYLIGHT」のいずれも終了日は設定されていない。本日以降、永遠に有効なイベントとなる。 |
BEGIN:VTIMEZONE TZID:Fictitious LAST-MODIFIED:19870101T000000Z BEGIN:STANDARD DTSTART:19671029T020000 RRULE:FREQ=YEARLY;BYDAY=-1SU; BYMONTH=10 TZOFFSETFROM:-0400 TZOFFSETTO:-0500 TZNAME:EST END:STANDARD BEGIN:DAYLIGHT DTSTART:19870405T020000 RRULE:FREQ=YEARLY;BYDAY=1SU; BYMONTH=4;UNTIL=19980404T070000Z TZOFFSETFROM:-0500 TZOFFSETTO:-0400 TZNAME:EDT END:DAYLIGHT END:VTIMEZONE | 終了日の設定されている架空のDaylight Timeルールのタイムゾーンの例。 |
BEGIN:VTIMEZONE TZID:Fictitious LAST-MODIFIED:19870101T000000Z BEGIN:STANDARD DTSTART:19671029T020000 RRULE:FREQ=YEARLY;BYDAY=-1SU;BYMONTH=10 TZOFFSETFROM:-0400 TZOFFSETTO:-0500 TZNAME:EST END:STANDARD BEGIN:DAYLIGHT DTSTART:19870405T020000 RRULE:FREQ=YEARLY;BYDAY=1SU; BYMONTH=4;UNTIL=19980404T070000Z TZOFFSETFROM:-0500 TZOFFSETTO:-0400 TZNAME:EDT END:DAYLIGHT BEGIN:DAYLIGHT DTSTART:19990424T020000 RRULE:FREQ=YEARLY;BYDAY=-1SU;BYMONTH=4 TZOFFSETFROM:-0500 TZOFFSETTO:-0400 TZNAME:EDT END:DAYLIGHT END:VTIMEZONE | 1つ目のDaylight Timeルールに終了日が設定されている架空のタイムゾーンの例。 2つ目のDaylight Timeルールは1つ目が終わった後に有効になる(?) |
例がやたらと長くなりましたが、ちゃんと見てないので、意味が正しく取れてないかも知れません。
【参考】
・What is an onset date? - YAHOO! ANSWERS