ISO-31-1

From Microformats Wiki
Jump to navigation Jump to search

ISO 31-1

This is a page for the study of ISO 31-1 which is the part of the international standard ISO 31 format for durations and intervals as discussed on microformats-new also outlined on datetime-design-pattern.

Sample markup

Proposed as a replacement or optimization of hAudio Duration expressed in ISO-31-1/ISQ format

<span class="duration">
 <span class="h">1</span>:
 <span class="min">3</span>:
 <span class="s">42</span>
</span> 

Issues

  • Raised By Glenn Jones on microformats new

    Having different datatypes for a property of the same name is very problematic. Personally I would not like us to use ISO-8601 for hCalendar duration and ISO-31-1 for duration in hAudio. Some parsers do try to convert formats into datatypes this could become hellish if we use the same property names for different data formats.

    • Solution 1 — Change duration to interval. Martin McEvoy 14:48, 7 Aug 2008 (GMT)
      • The problem with the name "interval" is that ISO-8601 (which microformats make use of!) defines a duration and an interval very differently. A duration is a length of time with no fixed starting or ending points — for example, "5 minutes". An interval is the span between two fixed times; a duration with fixed start and end points — for example, "five minutes starting now". I think we should avoid introducing a clash in terminology with ISO-8601.
      • Agreed Martin McEvoy 12:11, 8 Aug 2008 (GMT)
    • Solution 2 — Keep the name, and allow all properties which take a duration as their value (across all microformats!) to use this pattern. It can become a standard microformats design pattern. TobyInk 12:35, 7 Aug 2008 (PDT)

Implementations

  • The next released version of Cognition will experimentally support four alternative syntaxes (syntaces?) for durations. They will be supported any place where a duration is expected. (e.g. hCalendar events, hAudio). As each syntax is quite different, you do not need to tell Cognition which syntax you will be using — this is detected automatically.
    • ISO 8601: e.g. <span class="duration">PT1H2M3.4S</span>
    • ISO 31-1 classes: As above. (Additional non-ISO-31-1 classes supported: 'y' = year, 'm' = month, 'w' = week.)
    • SI: <span class="duration">52 s</span>. (Seconds are the only supported unit.)
    • hmeasure draft, with null "item" and with "type" set to "duration" or null. (Seconds are the only supported unit.)