SSブログ

カレンダーコンポーネント(Calendar Components) [iCalendar]

さて、続いて3.6 Calendar Componentsですが、「カレンダーコンポーネント」ってなんだ?と思ったところ、先日の記事の例で出てきた「VEVENT」の部分の様です。

で、iCalendarオブジェクトは、カレンダープロパティと今回のカレンダーコンポーネントから構成されるとのこと。ちなみに、カレンダーコンポーネントは1つ以上存在できる様です(と言うか、一つは必須なんですかね・・)。

カレンダープロパティとカレンダーコンポーネントの区別は下記の通りです。

カレンダープロパティiClendarオブジェクト全体に適用される属性
カレンダーコンポーネント特定の内容に関するプロパティの集合


続きの節構成をみると、カレンダーコンポーネントとしては、下記の6種類が存在しているようです。



カレンダーコンポーネントの定義は下記のとおりとなっています。

  icalbody   = calprops component
       calprops   = *(
                  ;
                  ; The following are REQUIRED,
                  ; but MUST NOT occur more than once.
                  ;
                  prodid / version /
                  ;
                  ; The following are OPTIONAL,
                  ; but MUST NOT occur more than once.
                  ;
                  calscale / method /
                  ;
                  ; The following are OPTIONAL,
                  ; and MAY occur more than once.
                  ;
                  x-prop / iana-prop
                  ;
                  )
       component  = 1*(eventc / todoc / journalc / freebusyc /
                    timezonec / iana-comp / x-comp)
       iana-comp  = "BEGIN" ":" iana-token CRLF
                    1*contentline
                    "END" ":" iana-token CRLF
       x-comp     = "BEGIN" ":" x-name CRLF
                    1*contentline
                    "END" ":" x-name CRLF


う~ん、定義の中にアラームが入ってませんね・・。ま、追々分かってくるんでしょう・・。

さて、定義を見ればわかるものもありますが、iCalendarオブジェクトに関し、下記の注意事項が書かれていました。

  • 「PRODID」「VERSION」を含む(MUST)
  • 少なくともの一つのカレンダーコンポーネントを含む(MUST)
  • 「VFREEBUSY」や「VTIMEZONE」のみのiCalendarオブジェクトも可(special formだとのこと)
  • 多数の異なるカレンダーコンポーネントを含むことも可
  • 「VEVENT」「VTODO」「VJOURNAL」のいずれか1つのみを含むものが一般的
  • アプリは「x-comp」「iana-comp」が理解できなければ無視する(MUST)
  • アプリはiCalendarオブジェクトのインポートが可能な場合は、本仕様のすべてのコンポーネントタイプをサポートすべき(SHOULD)
  • アプリはiCalendarオブジェクトのインポートが可能な場合は、いかなるコンポーネントも削除しないべき(SHOULD NOT)



この章で、ようやくiCalendarオブジェクトの全体が見えてきましたねぇ・・。できれば、ここから書いて欲しかった様な気もしますが・・。


つづく。





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

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