Описание
Микроформат 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
какое событие состоится
Вы также можете добавить description
summary
Чтобы отметить событие гонок на верблюдах с помощью 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 утра, но анализаторам микроформатов (также известным как машины) требуется специальная отметка даты / времени, которая предоставляется в атрибуте title
abbr
Обратите внимание, что есть некоторые опасения, что тот факт, что hCalendar использует abbr
title
title
abbr
На момент написания статьи ведутся дебаты о том, требуется ли решение для этого — и в какой форме оно может принимать — (для хорошего обзора проблемы прочитайте публикацию на 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.