hcard と vcard の違い
私にとって microformats の提唱するメタデータにはいくつか疑問が残ります。その最たるものが hcard の名称です。
"hcard" という名称が与えられているにも関わらず、メタデータとしては "vcard" と表記します。 あるいは、データの形式は vcard であるにも関わらず、メタデータとしては "hcard" や "h-card" と表記します。
このような設計によって、私は vcard と hcard について遠回りしたり、誤解したりしていました。非常に分かりにくいのです。
vcard が元々あり、hcard が生まれた
そもそも vcard とは、電子メールなどで利用されている、デジタル名刺のフォーマットです。 IETF によって管理されていて、hcard よりも先に定義されていたフォーマットです。
そして hcard は vcard を HTML(XHTML) にマークアップするためのフォーマットです。
便宜上名称を分けたのでしょうが、これが私を混乱させることになりました。 なにより、hCard 1.0 の仕様 は、 hCard メタデータを記述するために、class 名に vcard を追加するようになっています。
<div class="vcard">
<a class="url fn" href="http:\/\/tantek.com/">Tantek Çelik</a>
</div>
hCard 1.0 の記述方法
hCard 1.0より引用。
後継に当たる microformats2 では vcard ではなく、 h-card と表記するようになり、この問題を解決しようとしているようです。
実際には vcard, hcard, h-card など表記が割れてしまったりしているようで、 microformats2 のページでそれらの議論を確認することができます。