Микроформаты ( μF ) [примечание 1] представляют собой набор определенных классов HTML , созданных для использования в качестве последовательных и описательных метаданных об элементе , обозначающих его как представляющий определенный тип данных (например, контактную информацию , географические координаты , события, записи в блогах, продукты, рецепты и т. д.). [1] Они позволяют программному обеспечению надежно обрабатывать информацию, имея установленные классы, ссылающиеся на определенный тип данных, а не являющиеся произвольными.
Микроформаты появились около 2005 года и были в основном разработаны для использования поисковыми системами, веб-синдикацией и агрегаторами, такими как RSS . [2] В 2020 году Google подтвердил, что он по-прежнему анализирует микроформаты для использования при индексации контента. [3] Микроформаты упоминаются в нескольких спецификациях социальных сетей W3C, включая IndieAuth [4] и Webmention. [5]
Хотя содержимое веб-страниц было способно к некоторой «автоматизированной обработке» с момента зарождения сети, такая обработка затруднена, поскольку элементы разметки, используемые для отображения информации в сети, не описывают, что означает эта информация. [6] Микроформаты могут преодолеть этот разрыв, прикрепляя семантику и тем самым устраняя другие, более сложные методы автоматизированной обработки, такие как обработка естественного языка или сканирование экрана . Использование, принятие и обработка микроформатов позволяют индексировать элементы данных, искать, сохранять или перекрестно ссылаться на них, так что информацию можно повторно использовать или объединять. [6]
Начиная с 2013 года [update]микроформаты позволяют кодировать и извлекать сведения о событиях, контактную информацию, социальные связи и подобную информацию.
Microformats2, сокращенно mf2, является обновленной версией микроформатов. Mf2 обеспечивает более простой способ интерпретации структурированного синтаксиса HTML и словарей, чем более ранние способы, которые использовали RDFa и микроданные. [7]
Микроформаты появились около 2005 года [примечание 2] как часть низового движения за то, чтобы сделать узнаваемые элементы данных (такие как события, контактные данные или географические местоположения) способными к автоматизированной обработке программным обеспечением, а также непосредственно считываемыми конечными пользователями. [6] [примечание 3] Первыми появились микроформаты на основе ссылок. К ним относятся ссылки для голосования, которые выражают мнения о связанной странице, которые поисковые системы могут подсчитывать в мгновенные опросы. [8]
CommerceNet , некоммерческая организация, которая продвигает электронную коммерцию в Интернете, помогала спонсировать и продвигать технологию и поддерживать сообщество микроформатов различными способами. [8] CommerceNet также помогла основать сайт сообщества Microformats.org. [8]
Ни CommerceNet, ни Microformats.org не работают как орган стандартизации . Сообщество микроформатов функционирует через открытую вики , список рассылки и канал интернет-чата ( IRC ). [8] Большинство существующих микроформатов возникли в вики Microformats.org и связанном с ним списке рассылки [ требуется ссылка ] в процессе сбора примеров поведения веб-публикации, а затем их кодификации. Некоторые другие микроформаты (такие как rel=nofollow и unAPI ) были предложены или разработаны в других местах.
Стандарты XHTML и HTML позволяют встраивать и кодировать семантику в атрибуты элементов разметки . Микроформаты используют преимущества этих стандартов, указывая наличие метаданных с помощью следующих атрибутов:
class
rel
<a href=... rel=...>...</a>
)rev
Например, в тексте "Птицы гнездились в точке 52.48 , -1.89 " есть пара чисел, которые можно понять из контекста как набор географических координат . С оберткой в spans (или другие элементы HTML) с определенными именами классов (в данном случае geo
, latitude
и longitude
, все это часть спецификации микроформата geo ):
Птицы гнездились на <span class= "geo" > <span class= " latitude " > 52.48 </span> , <span class= "longitude" > -1.89 </span> </span>
Программные агенты могут точно распознавать, что представляет собой каждое значение, а затем выполнять различные задачи, такие как индексация, определение местоположения на карте и экспорт на GPS- устройство.
В этом примере контактная информация представлена следующим образом:
<ul> <li> Джо Доу </li> <li> Компания Example </li> <li> 604-555-1234 </li> <li> <a href= "http://example.com/" > http://example.com/ </a></li> </ul>
С разметкой микроформата hCard это становится:
<ul class= "vcard" > <li class= "fn" > Джо Доу </li> <li class = "org" > Компания Example </li> <li class= "tel" > 604-555-1234 </li> <li> <a class= "url" href= "http://example.com/" > http://example.com/ </a></li> </ul>
Здесь отформатированное имя ( fn
), организация ( org
), номер телефона ( tel
) и веб-адрес ( url
) были идентифицированы с использованием определенных имен классов, и все это заключено в class="vcard"
, что указывает на то, что другие классы образуют hCard (сокращение от "HTML vCard ") и не просто случайно названы. Существуют также другие, необязательные классы hCard. Программное обеспечение, такое как подключаемые модули браузера, теперь может извлекать информацию и передавать ее в другие приложения, такие как адресная книга.
Было разработано несколько микроформатов, позволяющих семантическую разметку определенных типов информации. Однако только hCard и hCalendar были ратифицированы, остальные остаются в виде черновиков:
Использование микроформатов в HTML-коде обеспечивает дополнительное форматирование и семантические данные, которые могут использовать приложения. Например, такие приложения, как веб-сканеры, могут собирать данные об онлайн-ресурсах, или настольные приложения, такие как почтовые клиенты или программное обеспечение для планирования, могут компилировать данные. Использование микроформатов также может облегчить «мэшапы», такие как экспорт всех географических местоположений на веб-странице в (например) Google Maps для их пространственной визуализации.
Несколько расширений браузера, такие как Operator для Firefox и Oomph для Internet Explorer , предоставляют возможность обнаруживать микроформаты в документе HTML. Когда задействованы hCard или hCalendar, такие расширения браузера позволяют экспортировать микроформаты в форматы, совместимые с утилитами управления контактами и календаря, такими как Microsoft Outlook . При работе с географическими координатами они позволяют отправлять местоположение в такие приложения, как Google Maps . Yahoo! Query Language может использоваться для извлечения микроформатов из веб-страниц. [16] 12 мая 2009 года Google объявил, что они будут анализировать микроформаты hCard, hReview и hProduct и использовать их для заполнения страниц результатов поиска. [17] Впоследствии в 2010 году они расширили это, чтобы использовать hCalendar для событий и hRecipe для кулинарных рецептов. [18] Аналогичным образом микроформаты также обрабатываются Bing [19] и Yahoo! . [20] По состоянию на конец 2010 года это три крупнейших поисковых системы в мире. [21]
В 2006 году компания Microsoft заявила, что ей необходимо включить микроформаты в будущие проекты [22] , как и другие компании-разработчики программного обеспечения.
Алекс Фоборг суммирует аргументы в пользу возложения ответственности за микроформатные пользовательские интерфейсы на веб-браузер, а не создания более сложного HTML: [23]
Различные комментаторы предложили обзор и обсуждение принципов проектирования и практических аспектов микроформатов. Микроформаты сравнивались с другими подходами, которые стремятся служить той же или схожей цели. [24] По состоянию на 2007 год [update], была некоторая критика одного или всех микроформатов. [24] Распространение и использование микроформатов пропагандировалось с 2007 года [update]. [25] [26] Технический директор Opera Software и создатель CSS Хокон Виум Ли сказал в 2005 году: «Мы также увидим разработку множества микроформатов, и именно так, я считаю, будет построена семантическая паутина ». [27] Однако в августе 2008 года Тоби Инкстер, автор сервиса анализа микроформатов «Swignition» (ранее «Cognition»), указал, что с 2005 года не было опубликовано никаких новых спецификаций микроформатов. [28]
Ученый-компьютерщик и предприниматель Рохит Кхаре заявил, что сокращение, повторное использование и переработка являются «условным обозначением нескольких принципов проектирования», которые мотивировали разработку и практику микроформатов. [8] : 71–72 Эти аспекты можно резюмировать следующим образом:
Поскольку некоторые микроформаты используют атрибут title <abbr>
элемента HTML для сокрытия машиночитаемых данных (в частности, даты, времени и географических координат) в «шаблоне дизайна abbr», содержимое элемента в виде простого текста недоступно для программ чтения с экрана , которые раскрывают сокращения. [29] В июне 2008 года BBC объявила, что она прекратит использование микроформатов с использованием abbr
шаблона дизайна из-за проблем с доступностью. [30]
Микроформаты — не единственное решение для предоставления «более интеллектуальных данных» в Интернете; альтернативные подходы используются и находятся в стадии разработки. Например, использование разметки XML и стандартов Semantic Web упоминаются как альтернативные подходы. [8] Некоторые противопоставляют их микроформатам, поскольку они не обязательно совпадают с принципами проектирования «сокращение, повторное использование и переработка», по крайней мере, не в той же степени. [8]
Один из сторонников микроформатов, Тантек Челик , так охарактеризовал проблему альтернативных подходов:
Вот новый язык, который мы хотим, чтобы вы выучили, и теперь вам нужно вывести эти дополнительные файлы на свой сервер. Это хлопотно. (Микроформаты) снижают барьер для входа. [6]
Для некоторых приложений использование других подходов может быть допустимым. Если тип данных, которые необходимо описать, не соответствует существующему микроформату, RDFa может встраивать произвольные словари в HTML, например, научные данные, относящиеся к предметной области, например, зоологические или химические данные, для которых нет микроформата. Такие стандарты, как W3C GRDDL, позволяют преобразовывать микроформаты в данные, совместимые с семантической паутиной. [31]
Другой сторонник микроформатов, Райан Кинг, так охарактеризовал совместимость микроформатов с другими подходами:
Микроформаты предоставляют простой способ для многих людей вносить семантические данные в сеть. С GRDDL все эти данные становятся доступными для инструментов RDF Semantic Web. Микроформаты и GRDDL могут работать вместе, чтобы создать лучшую сеть. [31]
Microformats2 был предложен и обсуждался на FOOEast, 2010-05-02. [32] Microformats2 был призван облегчить авторам публикацию микроформатов и разработчикам их использование, при этом сохраняя обратную совместимость [33]
Используя microformats2, приведенный выше пример будет размечен следующим образом:
Птицы гнездились на <span class= "h-geo geo" > <span class= " p -latitude latitude" > 52.48 </span> , <span class= "p-longitude longitude" > -1.89 </span> </span>
и:
<ul class= "h-card vcard" > <li class= "p-name fn" > Джо Доу </li> <li class= "p-org org" > Компания Example </li> <li class= "p-tel tel" > 604-555-1234 </li> <li> <a class= "u-url url" href= "http://example.com/" > http://example.com/ </a></li> </ul>
нужны микроформаты и нужно заставить людей согласиться на них. Это запустит обмен данными в Интернете… …они нужны нам для таких вещей, как контактные карточки, события, указания…