[43] マイクロフォーマットは、マイクロフォーマットコミュニティーにより開発されている HTML文書へのデータの埋め込みに関する仕様群です。
[44] マイクロフォーマットには、連絡先情報を記述する hCard、
予定情報を記述する hCalendar などがあります。いずれも HTML
の class
属性や rel
属性などを使って文書の構造に追加の意味を付与する形になっています。
本項は歴史的事項を説明しています。本項の内容の一部または全部は、現在の状況とは異なるかもしれません。
(なお本項の内容の一部または全部は、互換性または歴史的連続性のために現在も有効な場合もあります。しかし新たに利用することは避けるべきです。)
[66] マイクロフォーマットは、 W3C が HTML の開発を中断し、 Microsoft も IE の開発を停止したため HTML の表現力の拡張が限界に達していた 00年代初期に、当時の HTML の範囲内で記述することを要件に開発されたものでした。
[67] マイクロフォーマットの経験を踏まえた新機能として HTML5 にマイクロデータが追加され、
業界標準の語彙として schema.org が整備された現在、
古い IE も撲滅され class
属性を使わずとも CSS
の指定が可能なこともあり、もはやマイクロフォーマットを積極的に使う理由はありません。
[68] 現在もマイクロフォーマットの実装や利用例は多々残っていますし、 有害なものでもありませんが、新規開発であればマイクロフォーマットを採用するよりも、 マイクロデータと schema.org を組み合わせて用いるべきでしょう。 新規にマイクロフォーマットを実装しようという話もほとんど聞こえてきませんし、 マイクロフォーマット自体の開発も10年代半ば以後ほぼ中断状態にあります。
[45] マイクロフォーマットの主な仕様は次に示す通りです。 この他にもいくつもの仕様が提案されています。
[56] HTML の要素や属性、とりわけ class
属性や rel
属性を使って、 HTML
だけでは表現できないより細かな意味を持った構造を記述していきます。
[58] 当初のマイクロフォーマット各仕様はそれぞれの語彙でそれぞれの要素や属性の用法を規定しており、 類似はしているもののそれぞれに異なるものでした。
[59] microformats2 は語彙に依存しない共通の構文を規定しており、 事前に特定の語彙の知識を持たなくてもマイクロフォーマットとしての構造を把握できるという“拡張性”を備えています。
[46] マイクロフォーマットの標準化はマイクロフォーマットコミュニティー (microformats.org の Wiki やメーリングリスト、 IRC など) で行われています。
[48] なお、 XFN と XMDP は前身である GMPG で出版されたものですが、 最初のマイクロフォーマットとして扱われています。
[49] マイクロフォーマットコミュニティーは Tantek Çelik を中心に運営されています。
[50] Firefox はマイクロフォーマットを構文解析するための JavaScript API を実装しています。 (Web からは利用できません。)
[51] Google は検索エンジンでいくつかのマイクロフォーマットに対応しています。
[52] 鯖側 Webアプリケーションの類でマイクロフォーマットを出力するものは多々あります。
[28] 元々マイクロフォーマット・コミュニティと WHATWG は関わりが深く、 両者の仕様にも親和性があります。既存の HTML の拡張機構に則るか HTML そのものを改良していくかとアプローチの違いこそあれ、 現実の要求に基づき実用性と体系的整合性を重視して HTML の表現能力を向上させていく姿勢はいずれにも共通しています。
[25] HTML5 仕様書がまだ Web Applications 1.0 と呼ばれていた頃、
hCard や hCalendar を取り込む予定があり、 card
要素や calendar
要素の追加提案が示されていました。
[26] しかし、 Ian Hickson はこの自らの提案を 「マイクロフォーマットは処理モデルを明確に規定していないので取り込めない」 として後に削除しています。
[27] HTML5 はリンク型や meta
name
の値を WHATWG wiki における登録制としていますが、
値の審査の仕組みの1つとしてマイクロフォーマットにおける標準化を採用しています。
class
属性#✎[29] マイクロフォーマットは class
属性を積極的に活用していますが、 HTML5 も同様に class
属性に定義済みの値を導入したり、 >>27 同様の WHATWG wiki による登録制度を設けようとしました。
これによってマイクロフォーマットと HTML5 がある意味でシームレスに統合されるとも言えそうなところでしたが、
既に様々に用いられている class
属性値との衝突の懸念が多く、
結局定義済みの値や登録制度は削除されました。詳しくは class
属性の項をご覧ください。
profile
属性#✎[30] マイクロフォーマットの出発点である XMDP は profile
属性に依拠していましたが、 HTML4・XHTML1 における profile
属性の定義の曖昧性はかねてから問題視されてきました。
[31] HTML5 は profile
属性の定義を明確化しましたが、
その後も一向に profile
属性は普及せず、結局削除されました。
[32] マイクロフォーマットも XFN などではHTMLメタ情報プロファイルが定義され、
profile
属性値の多数が XFN を表すものでしたが、
その後のほとんどのマイクロフォーマットではそもそもプロファイルや URL
が定義されず、利用されていないのが実態でした。
[33] 2009年春に HTML5 にはマイクロデータの仕組みが導入されました。 マイクロデータはマイクロフォーマット的手法による HTML の拡張の新たな手段を提供するもので、仕組み的には RDFa とも類似していますが、 より従来の HTML の構文やマイクロフォーマット・コミュニティにおける慣習との整合性も意識され、 かつ処理モデルが明確に規定された機構となっています。
time
要素と data
要素#✎[53] 2011年に HTML に time
要素 (第2世代)
と data
要素が追加されましたが、
Tantek をはじめとるするマイクロフォーマットコミュニティーの調査と実装経験が反映されたものです >>54。
両要素はマイクロフォーマットでも必要性が高かった (のに従来 HTML
に欠如していた) ものだけに、以後マイクロフォーマットコミュニティーでも重用されているようです。
rel="enclosure"
rel="license"
rel="nofollow"
rel="tag"
ROBOTS
meta
タグ[2] microformats http://microformats.org/
[1] 武田の近況報告: Microformats (とSemantic Web) http://www-kasm.nii.ac.jp/mt/archives/000063.html
[4] What are Microformats? http://tantek.com/presentations/2005/06/what-are-microformats/
入門用にどうぞ (英語) (名無しさん)
[5] microformats についての誤解と,ぼくが理解している範囲 / おのひろきおんらいん http://onohiroki.cycling.jp/2005-08-15-1#d20050815n1 (名無しさん 2005-08-22 06:27:11 +00:00)
[6] 檜山正幸のキマイラ飼育記 - Microformatsと多重マークアップ http://d.hatena.ne.jp/m-hiyama/20050722/1122023064
これを見ると、「いつか来た道」というデジャブを感じますね。
と、 CONCUR や HyTime との類似性を指摘している。確かに! (名無しさん 2005-08-22 06:36:18 +00:00)
[7] XHTML Microformats for the Atom Publishing Protocol urn:ietf:id:draft-sayre-atompub-xhtml-micro-00
分類を定義するための hCat と HTTP 誤りのお知らせのための hError が提案されています。 (名無しさん 2005-09-16 08:44:05 +00:00)
[8] adr - Microformats http://microformats.org/wiki/adr
住所表記用のマイクロ書式。 (名無しさん)
[9] ongoing · Word Processing Blues http://www.tbray.org/ongoing/When/200x/2005/11/12/Resume-Blues (名無しさん 2006-01-31 02:23:39 +00:00)
[10] Microformats Search BETA http://kitchen.technorati.com/search/
title
くらい埋めてから公開して欲しいものです。(名無しさん 2006-06-04 07:59:08 +00:00)
[11] Mario Kart DS ID microformat http://www.merkwelt.com/people/stan/marioKartDSMicroformat.html (名無しさん 2006-07-09 06:23:08 +00:00)
[12] bulknews.typepad.com: Tetris DS ID microformat http://bulknews.typepad.com/blog/2006/05/tetris_ds_id_mi.html (名無しさん 2006-07-09 06:23:31 +00:00)
[13] Compound microformat のプロパティ一覧 - 2xup http://2xup.org/log/2006/07/24-0130 (名無しさん 2006-07-24 13:01:15 +00:00)
[14] Vitamin Features » Add microformats magic to your site http://www.thinkvitamin.com/features/design/how-to-use-microformats (名無しさん 2006-08-27 01:00:00 +00:00)
[15] microformatique - a blog about microformats and “data at the edges” http://microformatique.com/ (名無しさん 2006-08-27 01:00:44 +00:00)
[16] microformats に対応したサービスなどまとめ - 2xup http://2xup.org/log/2006/04/21-2154 (名無しさん)
[17] Highlight Microformats with CSS :: journal :: hicksdesign Ο° http://www.hicksdesign.co.uk/journal/highlight-microformats-with-css (名無しさん 2006-09-15 15:18:28 +00:00)
[18] Validating microformats http://norman.walsh.name/2006/04/13/validatingMicroformats (名無しさん 2006-10-05 13:07:55 +00:00)
[19] “まず人にとって読みやすいこと、機械はその次”--Brian Suda氏が語るMicroformats - ZDNet Japan http://japan.zdnet.com/sp/interview/story/0,2000056426,20262447,00.htm (名無しさん 2006-10-08 02:21:12 +00:00)
[20]
>>19 Human readable first
にもっと突っ込まないと・・・。
(名無しさん 2006-10-08 02:25:19 +00:00)
[21] Why Microformats - Home http://www.whymicroformats.com/pages/home (名無しさん 2006-10-20 00:54:18 +00:00)
[22] rel-lint lint tool / validator for XFN, rel-tag and stuff - tools.microformatic.com http://tools.microformatic.com/help/xhtml/rel-lint/ (名無しさん)
[23]
John Resig - Microformats in Firefox 3 (2007-02-01 22:12:34 +09:00
版) http://ejohn.org/blog/microformats-in-firefox-3/
(名無しさん 2007-02-01 13:16:15 +00:00)
[24]
Microformatsの仕様がパブリックドメインに - 行動記録 (IWAI, Masaharu 著, 2007-07-26 03:35:13 +09:00
版) http://iwaim.beering.be/2007/07/microformats-copyright.html
(名無しさん 2007-07-28 04:14:49 +00:00)
[34] IRC logs: freenode / #whatwg / 20090717 ( 版) http://krijnhoetmer.nl/irc-logs/whatwg/20090717#l-335
[35] html5 · Microformats Wiki ( 版) http://microformats.org/wiki/html5
[36] process · Microformats Wiki ( 版) http://microformats.org/wiki/process
[37] microformats 2.0 · Microformats Wiki ( ( 版)) http://microformats.org/wiki/microformats-2
[38] WDC - RDFa, Microdata, and Microformat Data Sets ( ( 版)) http://webdatacommons.org/structureddata/index.html
[39] microformats 2 · Microformats Wiki ( ( 版)) http://microformats.org/wiki/microformats2
[40] [uf-discuss] Process to handle decentralized creation of new microformats? ( ( 版)) http://microformats.org/discuss/mail/microformats-discuss/2006-October/006019.html
[41] Parsing microformats in JavaScript | MDN ( ( 版)) https://developer.mozilla.org/en-US/docs/Parsing_microformats_in_JavaScript
[54] IRC logs: freenode / #whatwg / 20130306 ( ( 版)) http://krijnhoetmer.nl/irc-logs/whatwg/20130306#l-119
[60] Linked Data and a new Browser API event ( 版) https://lists.mozilla.org/pipermail/dev-platform/2015-June/010201.html
[61] Linked Data and a new Browser API event ( 版) https://lists.mozilla.org/pipermail/dev-platform/2015-June/010249.html
[62] The microformats process · Microformats Wiki ( 版) http://microformats.org/wiki/process
[63] microformats2 parsing specification · Microformats Wiki () http://microformats.org/wiki/microformats2-parsing
[64] microformats/microformats2-parsing: For collecting and handling issues with the microformats2 parsing specification: http://microformats.org/wiki/microformats2-parsing () https://github.com/microformats/microformats2-parsing
[65] microformats/tests: Microformats test suite () https://github.com/microformats/tests
[69] Post Type Discovery () https://www.w3.org/TR/2017/WD-post-type-discovery-20170301/
In order to support more complex values of properties, you can create a post with JSON syntax by sending the entry in the parsed Microformats 2 JSON format.
If the source of the post was written as HTML content, then the endpoint must return the content property as an object containing an html property. Otherwise, the endpoint must return a string value for the content property, and the client will treat the value as plain text. This matches the behavior of the values of properties in [microformats2-parsing].