Difference between revisions of "hcalendar-example1-steps"

From Microformats Wiki
hcalendar-example1-steps
Jump to navigation Jump to search
m
m
Line 13: Line 13:
 
URL:http://www.web2con.com/
 
URL:http://www.web2con.com/
 
DTSTART:20051005
 
DTSTART:20051005
DTEND:20051007
+
DTEND:20051008
 
SUMMARY:Web 2.0 Conference
 
SUMMARY:Web 2.0 Conference
 
LOCATION:Argent Hotel, San Francisco, CA
 
LOCATION:Argent Hotel, San Francisco, CA
Line 28: Line 28:
 
   <span class="summary">Web 2.0 Conference</span>:
 
   <span class="summary">Web 2.0 Conference</span>:
 
   <span class="dtstart">20051005</span>-
 
   <span class="dtstart">20051005</span>-
   <span class="dtend">20051007</span>,  
+
   <span class="dtend">20051008</span>,  
 
   at the <span class="location">Argent Hotel, San Francisco, CA</span>
 
   at the <span class="location">Argent Hotel, San Francisco, CA</span>
 
   </a>
 
   </a>
Line 46: Line 46:
 
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 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.
  
ISO8601 dates are however not very human friendly. In addition, the year is often understood implicitly by humans from the context.  Thus this example could be improved by using &lt;abbr&gt; to make the date information more human readable, e.g.
+
Note 4: ISO8601 dates are however not very human friendly. Not only that, in the case of the end datetime (DTEND), the date must be specified as a whole day after the last day since [http://lists.osafoundation.org/pipermail/ietf-calsify/2005-September/000769.html DTEND is exclusive]! In addition, the year is often understood implicitly by humans from the context.  Thus this example could be improved by using &lt;abbr&gt; to make the date information more human readable and friendly, e.g.
  
 
<pre><nowiki>
 
<pre><nowiki>
Line 53: Line 53:
 
   <span class="summary">Web 2.0 Conference</span>:  
 
   <span class="summary">Web 2.0 Conference</span>:  
 
   <abbr class="dtstart" title="20051005">October 5</abbr>-
 
   <abbr class="dtstart" title="20051005">October 5</abbr>-
   <abbr class="dtend" title="20051007">7</abbr>,
+
   <abbr class="dtend" title="20051008">7</abbr>,
 
  at the <span class="location">Argent Hotel, San Francisco, CA</span>
 
  at the <span class="location">Argent Hotel, San Francisco, CA</span>
 
  </a>
 
  </a>

Revision as of 23:59, 10 October 2005

hCalendar Example 1 Steps

This is a step by step explanation of the first example in the hCalendar specification.

Example

Here is a sample event in iCalendar:

BEGIN:VCALENDAR
PRODID:-//XYZproduct//EN
VERSION:2.0
BEGIN:VEVENT
URL:http://www.web2con.com/
DTSTART:20051005
DTEND:20051008
SUMMARY:Web 2.0 Conference
LOCATION:Argent Hotel, San Francisco, CA
END:VEVENT
END:VCALENDAR

and an equivalent in hCalendar:

<span class="vcalendar">
 <span class="vevent">
  <a class="url" href="http://www.web2con.com/">
   <span class="summary">Web 2.0 Conference</span>:
   <span class="dtstart">20051005</span>-
   <span class="dtend">20051008</span>, 
   at the <span class="location">Argent Hotel, San Francisco, CA</span>
  </a>
 </span>
</span>

which could be displayed as:

Web 2.0 Conference: 20051005-20051007, at the Argent Hotel, San Francisco, CA


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 element is optional, and can be 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 are however not very human friendly. Not only that, in the case of the end datetime (DTEND), the date must be specified as a whole day after the last day since DTEND is exclusive! In addition, the year is often understood implicitly by humans from the context. Thus this example could be improved by using <abbr> to make the date information more human readable and friendly, e.g.

<span class="vevent">
 <a class="url" href="http://www.web2con.com/">
  <span class="summary">Web 2.0 Conference</span>: 
  <abbr class="dtstart" title="20051005">October 5</abbr>-
  <abbr class="dtend" title="20051008">7</abbr>,
 at the <span class="location">Argent Hotel, San Francisco, CA</span>
 </a>
</span>

which could be displayed as:

Web 2.0 Conference: October 5-7, at the Argent Hotel, San Francisco, CA


Back to the hCalendar 1.0 specification.