Статьи

hCalendar

Описание

Микроформат hCalendar наиболее близок с точки зрения использования и, возможно, полезности для hCard . Точно так же, как вы можете поддерживать актуальность данных ваших контактов и синхронизацию между вашими различными устройствами (телефон, КПК, настольный или портативный компьютер) и онлайн-сервисами (веб-сервисы электронной почты, контактов и календаря и т. Д.) Вы, вероятно, чувствуете то же самое в отношении событий календаря. Как и в случае с hCard, существует существующий стандарт для событий календаря, а именно стандарт IETF iCalendar . Этот стандарт поддерживает приложения календаря, такие как Google Calendar, Lotus Notes и Apple iCal, и это лишь некоторые из них. Если бы вы сохранили одно из этих событий из приложения календаря и просмотрели его в текстовом редакторе, вы бы разметили данные довольно четко. Давайте посмотрим это в действии. У меня есть предварительная дата, чтобы пойти и увидеть некоторые гонки на верблюдах, которые появляются в iCal от Apple, как показано на рисунке ниже.
верблюжья гонка
Я могу перетащить эту запись календаря на свой рабочий стол (в вашем приложении это может быть случай щелчка правой кнопкой мыши и выбора «Сохранить как»), который создает файл с расширением .ics. Открытие этого файла в текстовом редакторе выявляет следующие, несколько подробные, основные данные:

  НАЧАТЬ: VCALENDAR
 VERSION: 2,0
 X-WR-CALNAME: гонки на верблюдах?
 PRODID: - // Apple Computer \, Inc // iCal 2.0 // RU
 X-WR-RELCALID: 046F4A00-D853-4F02-BE7B-7DF6B3CD49A7
 X-WR-TIMEZONE: Азия / Дубай
 CALSCALE: GREGORIAN
 МЕТОД: ПУБЛИКОВАТЬ
 НАЧАТЬ: VTIMEZONE
 TZID: Азия / Дубай
 Last-Modified: 20080120T212715Z
 НАЧАТЬ: STANDARD
 DTSTART: 19321213T204552
 TZOFFSETTO: +0400
 TZOFFSETFROM: +0000
 TZNAME: GST
 END: STANDARD
 END: VTIMEZONE
 НАЧАТЬ: VEVENT
 DTSTART; TZID = Азия / Дубай: 20080124T070000
 DTEND; TZID = Азия / Дубай: 20080124T090000
 РЕЗЮМЕ: Гонки на верблюдах?
 UID: 64923D95-98E9-47D7-8AD7-94D62F26B499
 ПОСЛЕДОВАТЕЛЬНОСТЬ: 7
 DTSTAMP: 20080119T171029Z
 НАЧАТЬ: VALARM
 ДЕЙСТВИЕ: АУДИО
 TRIGGER: -PT1H30M
 X-WR-ALARMUID: 2C3DEF4A-4E7E-4FE5-95CF-E86321C9C5AF
 ATTACH; VALUE = URI: Basso
 END: VALARM
 END: VEVENT
 END: VCALENDAR

Довольно много информации там было сгенерировано автоматически iCal, но вы можете создать действительную запись hCalendar, используя несколько элементов данных, полученных из вышеизложенного, а именно:

  • summary
  • dtstart
  • dtend
  • location
    какое событие состоится

Вы также можете добавить descriptionsummary Чтобы отметить событие гонок на верблюдах с помощью hCalender, вам нужно обернуть его в какой-нибудь контейнер (скорее всего, в div Если это кажется странным, помните, что микроформаты повторно используют существующие соглашения об именах, но применяют их к HTML, поэтому, когда мы ссылаемся на hCalendar, он размечен с использованием имени, определенного в iCal:

  <div class = " vcalendar ">
 
 </ DIV>

После того, как внешний контейнер будет размечен таким образом, анализаторы микроформатов (например, расширение Tails или Operator) будут ожидать, что содержимое микроформатов, относящихся к hCard, появится внутри. Следующее, что нужно сделать, — это идентифицировать конкретное событие, используя имя класса « vevent

  <div class = "vcalendar">
  <p class = " vevent ">
 
  </ Р>
 </ DIV>

На данный момент существует множество фрагментов данных, которые вы могли бы включить помимо упомянутых выше, но ради этого примера мы хотим знать, что это за событие, когда оно происходит и где:

  <div class = "vcalendar">
  <p class = "vevent">
  Предварительное мероприятие:
  <span class = " summary "> Гонки на верблюдах </ span>
  (<span class = " location "> Dubai </ span>),
  Четверг 24 января
  <abbr class = " dtstart " title = " 20080124T0700 "> 7 </ abbr> -
  <abbr class = " dtend " title = " 20080124T0900 "> 9:00 </ abbr>
  </ Р>
 </ DIV>

Обратите внимание на формат отметки времени — в ней используется элемент abbr<abbr></abbr> Таким образом, для людей отображается удобное для чтения время 9 утра, но анализаторам микроформатов (также известным как машины) требуется специальная отметка даты / времени, которая предоставляется в атрибуте titleabbr

Обратите внимание, что есть некоторые опасения, что тот факт, что hCalendar использует abbrtitletitleabbr На момент написания статьи ведутся дебаты о том, требуется ли решение для этого — и в какой форме оно может принимать — (для хорошего обзора проблемы прочитайте публикацию на Webstandards.org по адресу http://snipurl.com). / hcal-access ) и помните, что существует вероятность того, что формат для этого может измениться в будущей итерации стандарта hCalendar.

пример

Вот очень простое событие, размеченное
в формате hCalendar:

  <div class = " vcalendar ">
  <p class = " vevent ">
  Предварительное мероприятие:
  <span class = " summary "> Гонки на верблюдах </ span>
  (<span class = " location "> Dubai </ span>),
  Четверг 24 января
  <abbr class = " dtstart " title = " 2008-01-24T07: 00 "> 7 </ abbr> -
  <abbr class = " dtend " title = " 2008-01-24T09: 00 "> 9:00 </ abbr>
  </ Р>
 </ DIV>

В чем преимущество использования hCalendar?

В связи с тем, как работает Интернет, а также с растущим использованием служб онлайн-календарей и социального программного обеспечения, которые требуют (или будут очень полезны) обмена данными, желательно иметь стандарт для разметки деталей событий, которые могут быть легко прочитаны людьми. , но который позволяет передавать эти данные и переносить их из веб-приложения в веб-приложение, в настольные приложения и на портативные устройства. Если вы собираетесь публиковать какие-либо подробности о событиях на своем веб-сайте, вам стоит подумать о том, чтобы пометить их, используя форматирование hCalendar.