[uf-discuss] Re: Precise Expansion Patterns

Benjamin Hawkes-Lewis bhawkeslewis at googlemail.com
Tue Dec 18 02:08:53 PST 2007

Michael MD wrote:
>> This would be acceptable:
>> <span class="duration"><span class="seconds">3</span> seconds</span>
>> Or if we wanted to use the hMeasurement approach:
>> <span class="duration" title="3s">three seconds</span>
>> <span class="duration" title="2min 3s">two minutes, three
>>                                         seconds</span>
>> <span class="duration" title="2y 35h">two years, 35 hours</span>
>> <span class="duration" title="3s">three seconds</span>
> this kind of thing would:
> 1. add complexity to parsers

Doubtless, but the questions we need to ask are:

1. Can it be done?

2. Is it worth it?

> 2. require people to be very precise in the choice of allowed strings 
> ... eg: "year"  or "y" , "second" or "seconds" otherwise dates and times 
> may very quickly degenerate into something not much better than garbled 
> freeform text dates.

Yes, like /any/ exact syntax including standardized class names and ISO 
8601, it requires people to be precise.

> It would also mean a lot more rules for authors to remember which could 
> result in a lot of invalid markup being published.

That's a good argument for keeping the names of recognized units 
consistent and verbose: perhaps always "seconds" not year or m.

> If dates/times are no longer machine-readable I would see no longer see 
> much practical use for any of this!

Well, strings conforming to any unambiguous syntax parsed with an 
algorithm we define are machine-readable.

> I am very wary of straying too far from ISO for dates and times
> (or at least something that can easily be parsed by 
> javascript/php/perl/ruby/whatever built-in date functions or commonly 
> used date libraries)

JavaScript can parse date times, but has no native support for parsing 
ISO-formatted ones:



PHP and Ruby have functionality for parsing non-ISO date times:



Perl has no built-in functionality for parsing date times at all 
(although naturally you can find such functionality on CPAN):


But in any case Manu's examples featured measurements, durations 
specifically, not dates or times. AFAIK none of these languages have 
in-built support for parsing durations or other measurements at all.

Does anyone have any evidence on what libraries capable of parsing 
durations or other measurements are "commonly used"?

Benjamin Hawkes-Lewis

More information about the microformats-discuss mailing list