[uf-discuss] Using hCalendar to Create History Timelines

brian suda brian.suda at gmail.com
Wed Jun 21 07:38:12 PDT 2006


Jeremy Boggs wrote:
> Mark Pilgrim states in that microformats-dev thread that it's
> problematic when it comes to marking BCE dates.[1] Tantek agreed, but
> responded that "Alternatively, RFC2550 contains a proposal for
> representing BCE dates"[2] [3], which looks promising, but I not clear
> from the microformats-dev thread that the method is workable for
> hCalendar. Are the methods discussed in RFC2550 valid for hCalendar
> and ISO dates? 
--- Since hCalendar is modeled after iCalendar (RFC 2445) and iCalendar
uses ISO dates, we are only modeling ISO dates. At the time there is no
activity in using RFC2550 dates, because they can't map back to ISO
dates (because ISO can't represent BCE). This is a limitation of the
older iCalendar technology.

> The second example uses only a class="dtstart" with a title value of
> "19540501" to represent the period of May 1954. The abbreviation tag
> wrap around the entire date, "May 1954." Jeremy Keith's markup of the
> 15th-century Renaissance is somewhat similar to this[4]:
>
> <div class="vevent">
> <abbr class="dtstart" title="19540501">May 1954</abbr>
> <span class="summary">Brown v. Board of Education of Topeka,
> Kansas.</span>
> </div>
Technically, this would only represent the 1st day as you mentioned. The
W3C has a date-time note[1] document, which shows that a valid ISO Date
can simply be YYYY-MM (without a day component). It is questionable what
will happen to a date like this once imported into a calendaring
application, but <abbr class="dtstart" title="195405">May 1954</abbr>
would be a valid ISO date. Which is what you concluded in your third
method.
> Or are there better methods?
--- it is not wildly supported by parsers yet (and i'm not sure it is
better), but there are a few more properties in the iCalendar RFC that
could be used, namely DURATION. With duration you specify a string that
defined a time period:

 Example: A duration of 15 days, 5 hours and 20 seconds would be:

P15DT5H0M20S

A duration of 7 weeks would be:

P7W

So for a month long event you could use a duration of 31 days, (or 365
days, or 365274 days, etc.):
<div class="vevent">
<abbr class="dtstart" title="19540501"><abbr title="P31D"
class="duration">May</abbr> 1954</abbr>
<span class="summary">Brown v. Board of Education of Topeka, Kansas.</span>
</div>

I hope this helps.
-brian


[1] - http://www.w3.org/TR/NOTE-datetime


More information about the microformats-discuss mailing list