hcalendar-ja

From Microformats Wiki
Revision as of 06:18, 10 May 2009 by KitaitiMakoto (talk | contribs) (→â€: translated)
(diff) ↠Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

hCalendar

microformat_hcalendar.png

hCalendarã¯iCalendar (RFC2445)を基ã¨ã—ãŸã€ã‚·ãƒ³ãƒ—ルã§ã‚ªãƒ¼ãƒ—ンãªã‚«ãƒ¬ãƒ³ãƒ€ãƒ¼ãƒ»ã‚¤ãƒ™ãƒ³ãƒˆæƒ…å ±é…信用ã®microformatã§ã™ã€‚(X)HTMLã‚„Atom, RSS, ä»»æ„ã®XMLãªã©ã€åºƒç¯„囲ã«é©ç”¨å¯èƒ½ãªãƒ•ォーマットã¨ãªã£ã¦ã„ã¾ã™ã€‚

hCalendarã§ã‚¤ãƒ™ãƒ³ãƒˆæƒ…報をé…ä¿¡ã™ã‚‹ã«ã¯ã„ãã¤ã‹ã®æ–¹æ³•ãŒã‚りã¾ã™ã€‚手ã£å–り早ã„ã®ã¯ã€ã€ŒhCalendar クリエーターã€ãƒ„ールを使ã†ã“ã¨ã€‚ã§ã‚‚ã‚‚ã—ã€ã™ã§ã«ã‚¤ãƒ™ãƒ³ãƒˆã®æƒ…報を自分ã®ãƒ–ログやwikiãªã©ã«æ›¸ã„ã¦ã„ã‚‹å ´åˆã¯ã€hCalendarを書ãコツを読ã¿ã€hCalendarã«æ²¿ã†ã‚ˆã†ãƒžãƒ¼ã‚¯ã‚¢ãƒƒãƒ—ã‚’ã—ç›´ã—ã¾ã—ょã†ã€‚

仕様

編者
Tantek Çelik (Technorati, Inc)
作者
Tantek Çelik, Technorati, Inc
Brian Suda

著作権

© 2004-2023 by the authors.

ã“ã®ä»•様ã®è‘—作権ã¯ã€ãƒšãƒ¼ã‚¸ç·¨é›†ã«é–¢ã‚ã£ãŸäººå…¨ã¦ãŒä¿æœ‰ã—ã¦ã„ã¾ã™ã€‚ ã—ã‹ã—ã€è‘—者ã¯ã“ã®ä»•様をGMPGã‚„IETFã€W3Cãªã©ã®æ¨™æº–åŒ–å›£ä½“ã«æå‡ºã™ã‚‹ã“ã¨ã‚’考ãˆã¦ã„ã¾ã™ã€‚ã“ã®ä»•様ã«è²¢çŒ®ã—ãŸã„å ´åˆã¯ã€ã“れらã®å›£ä½“ãŒæŒã¤è‘—作権ã«å¯¾ã™ã‚‹æ–¹é‡ã‚„ãƒãƒªã‚·ãƒ¼ï¼ˆä¾‹:GMPG Principles)を読ã¿ã€ãƒ©ã‚¤ã‚»ãƒ³ã‚¹ã«é–¢ã™ã‚‹è¦å®šï¼ˆä¾‹:CC-by 1.0や後ã®ãƒãƒ¼ã‚¸ãƒ§ãƒ³ï¼‰ã‚’ç†è§£ã—ãŸä¸Šã§ãŠé¡˜ã„ã—ã¾ã™ã€‚

特許方é‡

ã“ã®ä»•様ã¯ãƒ­ã‚¤ãƒ¤ãƒªãƒ†ã‚£ãƒ¼ãƒ•リーã®ç‰¹è¨±æ–¹é‡ã«å¸°å±žã™ã‚‹ã‚‚ã®ã§ã™ã€‚特許方é‡ã«é–¢ã—ã¦ã¯W3C Patent Policyã‚„RFC3667ã€RFC3668ã‚’ã”覧下ã•ã„。

è¬è¾ž

ä»¥ä¸‹ã®æ–¹ã«æ„Ÿè¬ã—ã¾ã™ã€‚

概è¦

iCalendar (RFC2445)ã¯Appleã®iCalãªã©ã€ã‚¹ã‚±ã‚¸ãƒ¥ãƒ¼ãƒ«ç®¡ç†ç”¨ã‚¢ãƒ—リケーションã«åºƒã採用ã•れã€ã¾ãŸå®Ÿè£…上ã®ç›¸äº’é‹ç”¨æ€§ã‚‚高ã„フォーマットã«ãªã£ã¦ã„ã¾ã™ã€‚

ã“ã®åºƒã使ã‚れã¦ã„るフォーマットをã€ãƒ–ログã§è¨€åŠã•れるイベント情報ã«å¿œç”¨ã§ããªã„ã§ã—ょã†ã‹ã€‚今後行ã‚れるイベントやã€ã“れã¾ã§ã«å‚加ã—ãŸã‚¤ãƒ™ãƒ³ãƒˆã«ã¤ã„ã¦è‡ªåˆ†ã®ãƒ–ログ上ã«è¨˜äº‹ã‚’書ãブロガーã¯ãŸãã•ã‚“ã„ã¾ã™ã€‚ãれらã®ã‚¤ãƒ™ãƒ³ãƒˆæƒ…å ±ã‚’å°‘ã—æ§‹é€ åŒ–ã—ã€iCalendarã¨ã—ã¦å‡ºåŠ›å¯èƒ½ã«ã™ã‚Œã°ã€ã‚¢ãƒ—リケーションやWebサービスãŒè‡ªå‹•çš„ã«ãã®æƒ…報を利用ã§ãるよã†ã«ãªã‚Šã¾ã™ã€‚

ã“ã®hCalendarã¨ã„ã†ä»•様ã¯ã€XHTMLã«ã‚ˆã£ã¦iCalendarを表ç¾ã™ã‚‹æ›¸å¼ã§ã™ã€‚ブロガーã¯hCalendarを直接webページã«åŸ‹ã‚込んã ã‚Šã€ã¾ãŸãã®æƒ…報をCSSã§ãƒ‡ã‚¶ã‚¤ãƒ³ã™ã‚‹ã“ã¨ãŒå¯èƒ½ã§ã™ã€‚ãれã ã‘ã§ã¯ã‚りã¾ã›ã‚“。アプリケーションã¯ã‚¤ãƒ™ãƒ³ãƒˆæƒ…報を直接ãã®hCalendarã‹ã‚‰å–ã£ã¦ãã‚‹ã“ã¨ãŒã§ãるよã†ã«ãªã‚Šã¾ã™ã€‚イベントã«ã¤ã„ã¦æ›¸ã‹ã‚ŒãŸãƒ•ァイルをã€webページã¨åˆ¥ã«ç”¨æ„ã™ã‚‹å¿…è¦ã¯ã‚‚ã†ã‚りã¾ã›ã‚“。

セマンティックXHTMLデザイン指é‡

注:セマンティック XHTML デザイン指é‡ã¯ã€å§‹ã‚ hCard 㨠hCalendar é–‹ç™ºã®æ–‡è„ˆã§æ›¸ã‹ã‚Œã¾ã—ãŸã€‚ãã®ãŸã‚ã€ã“ã®æŒ‡é‡ã¯ hCard ãƒ‡ã‚¶ã‚¤ãƒ³ã®æ–¹æ³•è«–ã®æ–‡è„ˆã«ãŠã„ã¦ç†è§£ã—ã‚„ã™ããªã‚‹ã§ã—ょã†ï¼ˆã¤ã¾ã‚Šã€ãã¡ã‚‰ã‚’ã¾ãšèª­ã‚“ã§ãã ã•ã„)。Tantek

XHTML 㯠XML ã«åŸºã¥ã„ã¦ä½œã‚‰ã‚Œã¦ãŠã‚Šã€ãã®ãŸã‚ XHTML ã«åŸºã¥ã„ãŸãƒ•ォーマットã¯ã€è¡¨ç¤ºã«ä¾¿åˆ©ãªã ã‘ã§ãªã一般的ãªãƒ‡ãƒ¼ã‚¿äº¤æ›ç›®çš„ã«ã‚‚使ãˆã¾ã™ã€‚XHTML ã«åŸºã¥ã„ãŸãƒ•ォーマットã¯ã€å¤šãã®ç‚¹ã§ HTML 㨠XML ã®ä¸–ç•ŒåŒæ–¹ã®æœ€ã‚‚ã‚ˆã„æ‰€ã‚’体ç¾ã—ã¦ã„ã¾ã™ã€‚ã¨ã¯è¨€ãˆã€XHTML ã«åŸºã¥ã„ãŸãƒ•ォーマットを作æˆã™ã‚‹æ™‚ã€æŒ‡é‡ã‚’集ã‚ãŸã‚‚ã®ãŒã‚ã‚‹ã¨å½¹ç«‹ã¡ã¾ã™ã€‚

  1. å¯èƒ½ãªé™ã‚Šã€è¨€åŠã—ã¦ã„ã‚‹ã€æ—¢å­˜ã®ç¢ºç«‹ã•れã¦ã‚ˆãサãƒãƒ¼ãƒˆã•れã¦ã„る標準ã‹ã‚‰ã‚¹ã‚­ãƒ¼ãƒžï¼ˆåå‰ã€ã‚ªãƒ–ジェクトã€ãƒ—ロパティã€å€¤ã€ç¨®é¡žã€éšŽå±¤ã€åˆ¶ç´„)をå†åˆ©ç”¨ã™ã‚‹ã€‚å…ƒã®æ¨™æº–ã§è¡¨ç¾ã•れã¦ã„る制約をå†å®£è¨€ã™ã‚‹ã“ã¨ã¯é¿ã‘る。å‚考情報ã®ãŸã‚ã«è¨€åŠã™ã‚‹ã®ã¯ã‚ˆã„。
    1. è¤‡æ•°ã®æ§‹æˆè¦ç´ ã‹ã‚‰ãªã‚‹ç¨®é¡žã®ã‚‚ã®ã«ã¯ã€ãã®æ§‹æˆè¦ç´ ã®åå‰ã«ç›¸å½“ã™ã‚‹ class åã‚’æŒã£ãŸè¦ç´ ã‚’入れå­ã«ã—ã¦ä½¿ã†ã€‚
    2. è¤‡æ•°ã®æ§‹æˆè¦ç´ ã¯ä¸€ã¤ãšã¤ã«ã™ã‚‹ã€‚ãã®ãŸã‚ã€ã‚«ãƒ³ãƒžåŒºåˆ‡ã‚Šã®è¤‡æ•°ã®ãƒ†ã‚­ã‚¹ãƒˆå€¤ã‚’表ã™ã«ã¯ã€è¤‡æ•°ã®è¦ç´ ã‚’埋ã‚込んã§ä½¿ã†ã€‚
  2. å„オブジェクトãªã©ã®ãƒ–ロックを構æˆã™ã‚‹ã®ã«ä¸€ç•ªé©ã—ãŸæ„味的㪠XHTML を使ã†ã€‚
  3. ãã†ã„ã£ãŸã‚‚ã®ãŒç„¡ã‘れã°ã€æ§‹é€ ã‚’作る一般的ãªè¦ç´ ï¼ˆä¾‹ãˆã° <span> ã‚„ <div>ï¼‰ã‹æ–‡è„ˆã«é©ã—ãŸè¦ç´ ï¼ˆä¾‹ãˆã° <ul> ã‚„ <ol> 中㮠<li>)を使ã†ã€‚
  4. å…ƒã®ã‚¹ã‚­ãƒ¼ãƒžã®ãã®éƒ¨åˆ†ã‚’的確ã«è¡¨ç¾ã™ã‚‹ XHTML ã®æ§‹æˆãƒ–ロックãŒç„¡ã‘れã°ã€å…ƒã®ã‚¹ã‚­ãƒ¼ãƒžç”±æ¥ã®åå‰ã«åŸºã¥ã„㟠class åを使ã†ã€‚å…ƒã®ã‚¹ã‚­ãƒ¼ãƒžä¸­ã®åå‰ãŒå¤§æ–‡å­—ã¨å°æ–‡å­—を区別ã—ãªã„ãªã‚‰ã°ã€ç›¸å½“ã™ã‚‹ã‚‚ã®ã‚’å…¨ã¦å°æ–‡å­—ã«ã—ã¦ä½¿ã†ã€‚æ§‹æˆè¦ç´ ã®ï¼ˆæ˜Žç¢ºã«å®šç¾©ã•れãŸã‚¹ã‚­ãƒ¼ãƒžã§ã¯ãªãï¼‰æ—¥å¸¸èªžé¢¨ã®æš—黙的ãªåå‰ã‚‚ã€ä½¿ã„ã‚„ã™ã•ã®ãŸã‚ã«ã€ç›¸å½“ã™ã‚‹ã‚‚ã®ã‚’å…¨ã¦å°æ–‡å­—ã«ã—ã¦ä½¿ã†ã¹ãã§ã‚る。構æˆè¦ç´ å中ã®ã‚¹ãƒšãƒ¼ã‚¹ã¯ãƒ€ãƒƒã‚·ãƒ¥ '-' 文字ã«ãªã‚‹ã€‚
  5. 最後ã«ã€å…ƒã®ã‚¹ã‚­ãƒ¼ãƒžã«å¾“ã£ãŸãƒ‡ãƒ¼ã‚¿ã®å½¢å¼ãŒã‚ã¾ã‚Šã«é•·ã‹ã£ãŸã‚Šäººé–“ã«é¦´æŸ“ã¾ãªã„å ´åˆã€æ§‹é€ ã‚’作る一般的ãªè¦ç´ ã®ä»£ã‚り㫠<abbr> を使ã„ã€å¿ å®Ÿã«å¾“ã£ãŸãƒ‡ãƒ¼ã‚¿ã‚’(表ç¾ã‚’記述ã™ã‚‹å±žæ€§ã§ã‚る)'title' 属性ã®ä¸­ã¸ã€ç›¸å½“ã™ã‚‹ã‚ˆã‚Šç°¡æ½”ã§äººé–“ã«èª­ã¿ã‚„ã™ã„ã‚‚ã®ã‚’è¦ç´ è‡ªä½“ã®ä¸­ã¸ç½®ã。<abbr> ã®ã“ã®ä½¿ã„æ–¹ã«é–¢ã™ã‚‹èª¬æ˜Žã®ã‚ˆã‚Šå¤šãã®æƒ…報:Human vs. ISO8601 dates problem solved(人間 vs ISO8601 日付å•題ã®è§£æ±ºï¼‰

実用的ãªå°Žå…¥ã‚’考ãˆãŸå ´åˆã€Internet Explorerã§ã¯ <abbr> è¦ç´ ã®CSSスタイリングãŒãã¡ã‚“ã¨ã‚µãƒãƒ¼ãƒˆã•れã¦ã„ãªã„ãŸã‚ã€åˆ¥ã®è¿½åŠ è¦ç´ ãŒå¿…è¦ã«ãªã‚‹ã“ã¨ãŒã‚ã‚‹ã®ã‚’覚ãˆã¦ãŠãã¨è‰¯ã„ã§ã—ょã†ã€‚

書å¼

通例

iCalendar 標準è¦ç´„(RFC2445)ãŒhCalendarã®ã‚‚ã¨ã¨ãªã£ã¦ã„ã¾ã™ã€‚

注æ„:ã“ã®ä»•様書ã®ç·¨é›†è€…ãŠã‚ˆã³åŸ·ç­†è€…ã¯ã€ã€ŒiCal-Basicã€ã®å–り組ã¿ã‚’追ã„〠hCalendarã®ã‚³ã‚¢ãƒ»ãƒ—ロファイルを iCal-Basic ã«åŸºã¥ã„ãŸã‚‚ã®ã«ã—よã†ã¨ã—ã¦ã„ã¾ã™ã€‚リンク先ã«ã‚ã‚‹ç¾åœ¨ã®è‰ç¨¿ã‚’ã”覧ãã ã•ã„。

hCalendarã®åŸºæœ¬çš„ãªæ›¸å¼ã¯ã€iCalendarã®ã‚ªãƒ–ジェクトãŠã‚ˆã³å¤‰æ•°åã‚’classåã¨ã—ã¦å°æ–‡å­—ã§æ›¸ãよã†ã«ã—ãŸã‚‚ã®ã§ã™ã€‚ã¾ãŸã€iCalendarã®å…¥ã‚Œå­æ–¹å¼ã«é…ç½®ã•れãŸã‚ªãƒ–ジェクトをã€ãã®ã¾ã¾å…¥ã‚Œå­æ–¹å¼ã®XHTMLã«ãƒžãƒƒãƒ”ングã—ã¾ã™ã€‚

ルート class å

hCalendar ã®ãƒ«ãƒ¼ãƒˆ class å㯠"vcalendar" ã§ã™ã€‚"vcalendar" ã¨ã„ㆠclass åãŒæŒ‡å®šã•れãŸè¦ç´ è‡ªä½“ã‚’ hCalendar ã¨å‘¼ã³ã¾ã™ã€‚

イベント㮠class å㯠"vevent" ã§ã™ã€‚"vevent" ã¨ã„ㆠclass åãŒæŒ‡å®šã•れãŸè¦ç´ è‡ªä½“ã‚’ hCalendar イベントã¨å‘¼ã³ã¾ã™ã€‚

hCalendar を書ã便宜上ã€"vevent" 㨠"vcalendar" ã¯ä¸¡æ–¹ã¨ã‚‚パースã®ãŸã‚ã®ãƒ«ãƒ¼ãƒˆ class åã¨ã—ã¦æ‰±ã„ã¾ã™ã€‚文書上㫠"vevent" ã¨ã„ㆠclass åãŒã‚ã£ã¦ "vcalendar" ãŒç„¡ã„å ´åˆã«ã¯ã€æ–‡æ›¸å…¨ä½“㌠"vcalendar" ã®æ–‡è„ˆã‚’æŒã¡ã¾ã™ã€‚

vevent ã¯ã‚¤ãƒ™ãƒ³ãƒˆä¸€è¦§ã®ãれãžã‚Œã«å¿…è¦ã ã¨è€ƒãˆã‚‹ã¹ãã§ã™ã€‚

プロパティã¨ã‚µãƒ–プロパティ

ã‚ã‚‹ hCalendar ã®ãƒ—ロパティã¯ãã® hCalendar 内ã®è¦ç´ ã§è¡¨ç¾ã—ã¾ã™ã€‚ä¸€è¦§ã«æŒ™ã’ãŸãƒ—ロパティ㮠class åã‚’æŒã¤è¦ç´ ã¯ã€ãã®ãƒ—ロパティã®å€¤ã‚’表ã—ã¦ã„ã¾ã™ã€‚プロパティãŒã‚µãƒ–プロパティをæŒã¤ã“ã¨ã‚‚ã‚りã€ãƒ—ロパティ用ã®è¦ç´ ã®å†…å´ã«ã‚ã‚‹è¦ç´ ã§è¡¨ç¾ã—ã¾ã™ã€‚

プロパティ一覧

hCalendar ã®ãƒ—ロパティ(サブプロパティã¯ã“ã®ã‚ˆã†ã«æ‹¬å¼§å†…ã«è¨˜è¿°ï¼‰

必須プロパティ

ä»»æ„プロパティ

  • location
  • url
  • dtend(ISO date)ã€duration(ISO date duration)
  • rdateã€rrule
  • categoryã€description
  • uid
  • geo(latitudeã€longitude)
  • …… 編注:ã“れã¯å®Œå…¨ãªä¸€è¦§ã§ã¯ãªã(完全ã§ãªã„ã“ã¨ã¯ã¾ã£ãŸãç„¡ã„よりã¯ã‚ˆã„ã®ã§ã™ï¼‰ã€ä»Š RFC2445 ã‹ã‚‰ã“ã“ã¸æŒã£ã¦ãã¦ç·¨é›†ã—ã¾ã—ãŸã€‚上ã®ãƒ—ロパティ一覧㯠hCalendar ã§æœ€ã‚‚一般的ã«ä½¿ã‚れるもã®ã§ã™ã€‚

More Semantic Equivalents

ã„ãã¤ã‹ã®ãƒ—ロパティã«ã¤ã„ã¦ã¯æ„味的ã«ã‚‚ã£ã¨ãµã•ã‚ã—ã„ã‚‚ã®ãŒã‚ã‚‹ã®ã§ã€ç‰¹åˆ¥ãªæ‰±ã„方をã—ã¾ã™ã€‚例ãˆã°ã“ã†ã§ã™ã€‚

  • iCalendar ã® URL ã¯ã€hCalendar ã§ã¯ class="vevent" ã‚’æŒã¤è¦ç´ å†…ã® <a class="url" href="...">...</a> ã«ãªã‚Šã¾ã™ã€‚
  • iCalendar ã® ATTENDEEã€CONTACTã€ORGANIZER ã¯ã€hCalendar ã§ã¯ hCard ã§è¡¨ç¾ã§ãã¾ã™ï¼ˆMAY)。
  • iCalendar ã®åå‰ã®ä»˜ã„㟠LOCATIONï¼ˆä½æ‰€ã‚„ä½ç½®æƒ…報を伴ã£ã¦ã„ã‚‹å¯èƒ½æ€§ãŒã‚る)ã¯ã€hCalendar ã§ã¯ hCard を埋ã‚込んã§è¡¨ç¾ã§ãã¾ã™ï¼ˆMAYï¼‰ã€‚åŒæ§˜ã«ã€ä½æ‰€ã«ã‚ˆã‚‹ LOCATION 㯠adr ã§ã€ä½ç½®æƒ…報(緯度ã¨çµŒåº¦ï¼‰ã«ã‚ˆã‚‹ LOCATION 㯠Geo ã§è¡¨ç¾ã§ãã¾ã™ï¼ˆMAY)。
  • iCalendar ã® UID ã¯å˜ã«åˆ¥ã®æ„味ã€hCalendar ã®ã‚¤ãƒ™ãƒ³ãƒˆç”¨ã«ä½¿ã‚れる URL ã¨ã„ã†ã“ã¨ã«ãªã‚Šã¾ã™ã€‚

Singular vs. Plural Properties

å˜æ•°ã®ãƒ—ロパティ(例ãˆã° vCard ã® "N" ã‚„ "FN")ã¨ã—ã¦ã¯ãã® class ã‚’æŒã¤æœ€åˆã®å­å­«è¦ç´ ãŒåŠ¹æžœã‚’æŒã¡ã€ãã®ä»–ã¯ã™ã¹ã¦ç„¡è¦–ã—ã¾ã™ã€‚

複数ãŒè¨±ã•れるプロパティ(例ãˆã° vCard ç”±æ¥ã® "TEL")ã¨ã—ã¦ã¯ã€å„ class ã®ã‚¤ãƒ³ã‚¹ã‚¿ãƒ³ã‚¹ãŒãã®ãƒ—ロパティã®ã‚¤ãƒ³ã‚¹ã‚¿ãƒ³ã‚¹ã‚’作るã¹ãã§ã™ã€‚サブタイプをæŒã¤è¤‡æ•°ã®ãƒ—ロパティ(例ãˆã° vCard ã® WORKã€HOMEã€CELL ã‚’æŒã£ãŸ TEL)ã¯ã€ãã®ãƒ—ロパティ用ã®å…±é€šè¦ç´ ã‚’共有ã—ã¦æœ€é©åŒ–ã§ãã¾ã™ã€‚サブタイプã®å„インスタンスã¯ã€ãƒ—ロパティã®è¦ç´ ã®å­å­«è¦ç´ ã«é©åˆ‡ã«åˆ†é¡žã•れるã®ã§ã™ã€‚

Plural Properties Singularized

複数形ã®ãƒ—ロパティåã¯ç›¸å½“ã™ã‚‹å˜æ•°å½¢ã«ãªã‚‹ãŸã‚ã€å…ƒã®è¤‡æ•°å½¢ã®ãƒ—ロパティã§è¤‡æ•°ã®æ§‹æˆè¦ç´ ã‚’æŒã¤ä¸€ã¤ã ã‘ã®å€¤ãŒè¨±ã•れる場åˆã§ã‚‚ã€ãã®è¤‡æ•°ã®æ§‹æˆè¦ç´ ã¯ãれãžã‚Œåå‰ãŒå˜æ•°å½¢ã®ãƒ—ロパティåã§è¡¨ç¾ã—ã€ãã®ãƒ—ロパティã¯å€¤ãŒè¤‡æ•°ã§ã‚‚有効ã§ã€ä¸Šè¨˜ã®è¤‡æ•°å€¤ãƒ—ãƒ­ãƒ‘ãƒ†ã‚£ã®æ‰±ã„ã®å¯¾è±¡ã¨ãªã‚Šã¾ã™ã€‚

Human vs. Machine readable

ã‚るプロパティ用㫠<abbr> を使ã£ãŸå ´åˆã€è¦ç´ å†…容ã§ã¯ãªãã€ãã® <abbr> è¦ç´ ã® 'title' 属性ãŒãƒ—ロパティã®å€¤ã«ãªã‚Šã¾ã™ã€‚ã“ã®ä»•様ã§ã¯æ¬¡ã® iCalendar プロパティã«å¯¾ã—ã¦ãã†ã„ã£ãŸ <abbr> ã®ä»•様を推奨ã—ã¾ã™ã€‚

  • DTSTARTã€DTENDã€DURATIONã€RDATEã€RRULE

例

以下ã¯ã€iCalendarã®ä¾‹ã§ã™ã€‚

BEGIN:VCALENDAR
PRODID:-//XYZproduct//EN
VERSION:2.0
BEGIN:VEVENT
URL:http://www.web2con.com/
DTSTART:20071005
DTEND:20071020
SUMMARY:Web 2.0 カンファレンス
LOCATION:アージェントホテル\, サンフランシスコ\, カリフォルニア州
END:VEVENT
END:VCALENDAR

hCalendar書å¼ã§åŒæ§˜ã®ã‚¤ãƒ™ãƒ³ãƒˆã‚’表示ã™ã‚‹å ´åˆã€å„種è¦ç´ ãŒæœ€é©åŒ–ã•れã€ä»¥ä¸‹ã®ã‚ˆã†ã«ãªã‚Šã¾ã™ã€‚å…ƒã«ãªã£ãŸå†…容ã«ã¤ã„ã¦ã¯ã€hCalendar Example 1 Stepsã‚’ã”覧ãã ã•ã„。

<div class="vevent">
 <a class="url" href="http://www.web2con.com/">http://www.web2con.com/</a>
  <span class="summary">Web 2.0 カンファレンス </span>:
  <abbr class="dtstart" title="2007-10-05">10月5日</abbr>〜
  <abbr class="dtend" title="2007-10-20">19æ—¥</abbr>ã€
  <span class="location">アージェントホテル(カリフォルニア州サンフランシスコ)</span>ã«ã¦ã€‚
 </div>

ã“れã¯ã€ä»¥ä¸‹ã®ã‚ˆã†ã«è¡¨ç¤ºã•れã¾ã™ã€‚

http://www.web2con.com/  Web 2.0 カンファレンス : 10月5日〜 19æ—¥ 〠アージェントホテル(カリフォルニア州サンフランシスコ)ã«ã¦ã€‚

ã“れã¯ã€'本物ã®'hCalendarマイクロフォーマットã§ã‚りã€ãƒ‘ーサーãŒã“ã®ãƒšãƒ¼ã‚¸å†…ã‹ã‚‰æ¤œå‡ºã§ãã‚‹ã“ã¨ã«æ³¨æ„ã—ã¦ãã ã•ã„。

Example 2

The following example specifies a scheduled meeting that begins at 8:30 AM EST on March 12, 1998 and ends at 9:30 AM EST on March 12, 1998.

     BEGIN:VCALENDAR
     BEGIN:VEVENT
     UID:guid-1.host1.com
     DTSTAMP:19980309T231000Z
     DESCRIPTION:Project XYZ Review Meeting
     SUMMARY:XYZ Project Review
     DTSTART:19980312T133000Z
     DTEND:19980312T143000Z
     LOCATION:1CP Conference Room 4350
     END:VEVENT
     END:VCALENDAR

The equivalent in hCalendar:

<div class="vevent">
<h3 class="summary">XYZ Project Review</h3>
<p class="description">Project XYZ Review Meeting</p>
<p>To held on <abbr class="dtstart" title="1998-03-12T08:30:00-05:00">12 March 1998 from 8:30am EST</abbr> 
until <abbr class="dtend" title="1998-03-12T09:30:00-05:00">9:30am EST</abbr></p>
<p>Location: <span class="location">1CP Conference Room 4350</span></p>
<small>Booked by: <span class="uid">guid-1.host1.com</span> on 
<abbr class="dtstamp" title="19980309T231000Z">9 Mar 1998 6:00pm</abbr></small>
</div>

This could be displayed as:


XYZ Project Review

Project XYZ Review Meeting

To held on 12 March 1998 from 8:30am EST until 9:30am EST

Location: 1CP Conference Room 4350

Booked by: guid-1.host1.com on

9 Mar 1998 6:00pm

Note 1: The product information is not necessary since hCalendar is an interchange format. When transforming hCalendar back into iCalendar, the transforming engine should add its own product ID.

Note 2: A surrounding <span class="vcalendar"> element is optional, and is left out as such. It is optional since the context of a vcalendar is implied when a vevent is encountered. The implied context/scope is that of the document. Authors may explicitly use elements with class="vcalendar" to wrap sets of vevents that all belong to the same calendar, e.g. when publishing multiple calendars on the same page.

Note 3: The version information is unnecessary in hCalendar markup directly since the version will be defined by the profile of hCalendar that is used/referred to in the 'profile' attribute of the <head> element.

Note 4: ISO8601 dates (required by iCalendar) are not very human friendly. In addition, the year is often understood implicitly by humans from the context. Thus <abbr> elements are used to simultaneously provide a human friendly date and/or time in the visible contents of the element, while placing the respective machine parsable comprehensive ISO8601 datetime in the 'title' attribute. The notation YYYY-MM-DDThh:mm:ss should be used for better readability, following the format of RFC 3339.

Note 5: The difference between the DTEND ISO8601 date (2005-10-08) and the human readable date (7) is NOT a mistake. DTEND is exclusive, meaning, that the event ends just before the DTEND. Thus for events which start on one day and end on another day, the DTEND date must be specified as the day after the day that a human would say is the last day of the event.

Note 6: The location in this example contains implicit structure (venue name, city, state) which could be marked up explicitly as an hCard. See hCalendar brainstorming: hCard locations for a informative explanation of how to do this.

Buttons

Don't forget that you can add one of our buttons to the page, to indicate the presence of hCalendar microformats. For example: microformat_hcalendar.png. If you can link it back to this page (or even page on your website, about your use of the microformat), so much the better!

More Examples

See hCalendar examples for more examples, including examples from iCalendar RFC 2445 converted into hCalendar.

Examples in the wild

This section is informative. The number of hCalendar examples in the wild has expanded far beyond the capacity of being kept inline in this specification. They have been moved to a separate page.

See hCalendar Examples in the wild.

Implementations

This section is informative. The number of hCalendar implementations has also expanded beyond the capacity of keeping them inline. They have been moved to a separate page.

See hCalendar Implementations.

References

Normative References

Informative References

Specifications That Use hCalendar

Similar Work

Further Reading

Right now people can do that by publishing .ics files, but it's not trivial to do so, and it's work on the part of other people to look at them. If it's not HTML hanging off our friend's home page that can be viewed in any browser on a public terminal in a library, the bar to entry is too high and it's useless.

Related Pages

This specification is a work in progress. As additional aspects are discussed, understood, and written, they will be added. These thoughts, issues, and questions are kept in separate pages.