たけまる / microformats
2007-08-22 Wed
_ microformats - 電子メールを表す microformats がない? [microformats]



Atompub にかかりっきりで microformats のことをすっかり忘れていたのですが,Big Sky さんのとこで盛り上がっているようなので,また書いて
みます.
Big Sky :: 今さら聞くのは恥ずかしい「microformatsとは何か?」
さて,これまでに,まとまった情報を表す microformats として,hCard
[2007-06-16-1], hCalendar [2007-06-21-1], hReview [2007-06-29-1]
などをみてきました.これら以外にも,hResume (履歴書), hAtom (フィー
ド) などがあります.メーリングリストでは,hAudio, hAlbum, hMovie
hRebuttal, hEvidence, hSource, hConclusion, hArgument, hSet なども
議論されているようです.
The microformats-new Archives
ところが,電子メールを表す microformats って定義されてないんでしょ
うか? 古い技術とはいえ,メールはまだまだ使われると思うし,アーカイ
ブもたくさんあるので,microformats で表せないのは不便です.少し調
べてみた感じではなさそうだし,メーリングリストでも議論されてないよ
うです.
# ご存じの方がいましたら,是非コメント欄にお願いします
というわけで,考えてみました.
《続きを読む》
2007-07-12 Thu
_ microformats の例 - rel-nofollow, rel-license, rel-tag [microformats]



これまでに hCard [2007-06-16-1], hCalendar [2007-06-21-1], hReview[2007-06-29-1] をみてきました.これらはいくつかの class 属性を組み
合わせてひとつの情報を表すため,"複合 (compound) microformats" と
呼ばれます.
これに対して,ひとつ (あるいは少数) の class 属性のみを用いた "単
純 (elemental) microformats" があります.それらのうち,
rel-nofollow, rel-license, rel-tag についてみていきます.
複合 microformats が名刺やイベントといった個別の情報を表すのに対し,
単純 microformats はページに属性を付加する目的で使われます.
■ rel-nofollow
リンク先との関係を表す microformats です.リンク (a タグ) に
rel="nofollow を加えると,リンク先の内容がそのページとは無関係であ
ることを意味します.下の例は,ページが YouTube と無関係であること
を意味します.
<a href="http://youtube.com/" rel="nofollow">YouTube</a>
検索エンジンはページのランキングを計算するときにリンクを利用してい
ますが,rel-nofollow が使われたリンクは計算の対象外とします.この
ため,他人によって作られるリンク (ブログのコメントやトラックバック)
などに使われています.
この microformats は広く使われています.主な検索エンジンは,かなり
前から rel-nofollow に対応していますし,SixApart の Vox (ブログサー
ビス) はコメントリンクに rel-nofollow を付けています.
nofollow!: blog.bulknews.net
Six Apart, Google, Yahoo! その他検索エンジンやBlog ソフトウェアベ
ンダーから、a タグの rel="nofollow" の取り扱いに対する表明がでまし
た
なお,nofollow という名前から,クローラにリンクをたどることを禁止
するようにも思えますが,そのような意味はないので気を付けてください.
[を] Yahoo! Slurp に rel="nofollow" を無視された
「rel="nofollow"」しとけばアクセスされないはず、と安心している人は
注意!
■ rel-license
ページのライセンス情報を表す microformats です.リンク (a タグ) に
rel="license" があると,リンク先 URL にあるライセンスが適用されま
す.以下の例では,GPLv3 ライセンスが適用されます.
<a href="http://www.gnu.org/licenses/gpl-3.0.html" rel="license">GPLv3</a>
ライセンス文書があれば,リンク先 URL はどのように選んでもかまわな
いと思います.たとえば,GPLv3 の文書は上の URL が大元ですが,同じ
文書が置いてあれば他の URL を指定してもよいでしょう.
■ rel-tag
ブログの "タグ" (カテゴリ) のように使われる microformats です.こ
の microformats もリンク (a タグ) を用いますが,タグ情報の表し方が
わかりにくいです.たとえば,以下のようなリンクがあったとき,このペー
ジのタグは,"ミクシィ" ではなく "mixi" となります.
<a href="http://b.hatena.ne.jp/teahut/mixi/" rel="tag">ミクシィ</a>
つまり,リンクテキストではなく,"URL の最後の部分" がタグとなりま
す.また,リンクパラメータ (search.cgi?q=mixi のような部分) は対象
外です.注意してください.
ちなみに,従来の HTML で同じことを表すために,meta タグが使われて
いました.
<head> <meta name="Keywords" content="mixi"> </head>
しかし,meta タグはページに表示されないため,関係ない単語を連ねて
検索エンジンを惑わすページが数多く作られました.目に見える rel-tag
には,このような行為を抑制する狙いがあります.
2007-06-29 Fri
_ microformats の例 - hReview [microformats]



hReview は,ブログの記事などを評価するときに用いられます.■ class 属性
主な class 属性です (CSS selector 表記).評価対象は必須です.
| .hreview ".fn .url" | 評価対象 |
| .hreview .summary | 概要 |
| .hreview .dtreviewed | 評価日時 |
| .hreview .type | 種類 (product, business, event, person, place, website) |
| .hreview .reviewer | 評価者 (hCard) |
| .hreview .rating | 評価 (1-5) |
| .hreview .description | 詳細 |
評価対象には hCard と hCalendar を指定することもできます.
■ 代替表記について
評価は 1 から 5 の数値で表すことになっていますが,代替表記を使うこ
ともできます.タグ名を abbr とし,正式な表記を title 属性に書きま
す (たぶん評価以外に使ってもよいと思います).
<abbr class="rating" title="5">★★★★★</abbr>
■ 例
hReview の簡単な例を示します.
<div class="hreview">
<div>
<span class="summary">microformats の評価</span>
(<a class="fn url" href="http://microformats.org/">microformats.org</a>)
</div>
<div>
評価者:
<span class="reviewer vcard">
<span class="fn">マイクロ 太郎</span>
</span>
</div>
<div>
評価:
<abbr class="rating" title="5">★★★★★</abbr>
</div>
</div>
■ 参考情報
hReview を生成するツールがあります.概要や日時を入力すると,
hReview に対応した HTML を出力してくれます.
- hReview Creator
hReview の仕様は以下にあります.
- hreview - Microformats
- hreview-ja - Microformats
- hreview-cheatsheet
2007-06-21 Thu
_ microformats の例 - hCalendar [microformats]



hCalendar は,スケジュール情報を表すために用いられます.iCalendarという規格のうち,イベントを表す部分 (VEVENT) を microformats に移
植したようです.
■ class 属性
主な class 属性です (CSS selector 表記).概要,開始日時は必須です.
| .vevent .summary | 概要 |
| .vevent .dtstart | 開始日時 |
| .vevent .dtend | 終了時刻 |
| .vevent .description | 説明 |
| .vevent .location | 場所 |
| .vevent .url | URL |
| .vevent .category | カテゴリ |
主催者などの情報は定義されていないようです.
■ 代替表記について
日時は 2007-01-01T00:00:00+09:00 のように表すことになっていますが
(RFC3339 参照),人間にとって読みにくいので,代替表記を使うことがで
きます.タグ名を abbr とし,正式な表記を title 属性に書きます (代
替表記は日時以外に使ってもよいと思います).
<abbr class="dtstart" title="2007-01-01T00:00:00+09:00">平成19年元旦</abbr>
■ 例
hCalendar の簡単な例を示します.
<div class="vevent">
<span class="summary">初詣</span>
<table>
<tr>
<th>日時
<td><abbr class="dtstart" title="2007-01-01T00:00:00+09::00">平成19年元旦</abbr>
<tr>
<th>場所
<td><span class="location">明治神宮</span>
<tr>
<th>詳細
<td><div class="description">参加者募集中</div>
</table>
</div>
ブラウザで表示すると次のようになります.
| 日時 | 平成19年元旦 |
|---|---|
| 場所 | 明治神宮 |
| 詳細 | 参加者募集中
|
■ 参考情報
hCalendar を生成するツールがあります.概要や日時を入力すると,
hCalendar に対応した HTML を出力してくれます.
- hCalendar Creator
hCalendar の仕様は以下にあります.
- hcalendar - Microformats
- hcalendar-ja - Microformats
- hcalendar-cheatsheet - Microformats
2007-06-16 Sat
_ microformats の例 - hCard [microformats]



[2007-06-11-1] では microformats の概要について説明しました.今回から個々の microformats 仕様をみていきます.
hcard は,名刺に書かれるような情報を表す microformats です.元々
vCard という規格があって,それを microformats に移植したようです.
■ class 属性
主な class 属性です (CSS selector 表記).名前は必須です.
| .vcard .fn | 名前 |
| .vcard .adr | 住所 |
| .vcard .tel | 電話番号 |
| .vcard .email | 電子メール |
| .vcard .org | 所属 |
| .vcard .title | 役職 |
| .vcard .url | URL |
| .vcard .category | カテゴリ |
いくつかの class 属性は,より詳細に指定することができます.
名前を詳細に指定するときは,.fn ではなく .n を使います.
| .vcard .n .given-name | 名前 (ファーストネーム) |
| .vcard .n .family-name | 名字 |
| .vcard .n .additional-name | ミドルネーム |
住所です.
| .vcard .adr .type | 種類 (work, home, etc.) |
| .vcard .adr .street-address | 町内住所 |
| .vcard .adr .locality | 市町村 |
| .vcard .adr .region | 州・県 |
| .vcard .adr .postal-code | 郵便番号 |
| .vcard .adr .country-name | 国 |
電話番号や電子メールは,種類を指定することができます.電話番号の例
です.
| .vcard .tel .type | 種類 (home, work, fax, cell, pager) |
| .vcard .tel .value | 電話番号 |
■ 例
簡単な例を示します.これは,株式会社マイクロ に勤めている マイクロ
太郎 さんの名刺です.
<div class="vcard"> <div class="org">株式会社 マイクロ</div> <span class="fn">マイクロ 太郎</span> <div class="tel">+81-3-1234-5678</div> <a class="email" href="mailto:foo@example.com">foo@example.com</a> </div>
ブラウザで表示すると次のようになります.
■ 参考情報
hCard を生成するツールがあります.名前や住所を入力すると,hCard に
対応した HTML を出力してくれます.
- hCard Creator
hCard の仕様は以下にあります.
- hcard - Microformats
- hcard-ja - Microformats
- hcard-cheatsheet
2007-06-11 Mon
_ microformats とは [microformats]



Web2.0 の次を目指す技術として microformats が注目されています.一言でいうと,ウェブページに簡単な「目印」を付けるための技術です.
microformats には,ウェブ検索を変える力があると期待されています.
まず,microformats とはどのような技術なのかみていきます.
ウェブページに使われている HTML は,ページのレイアウトを指定する言
語です.このため,機械がページの内容を読むことはできません.XML を
使えば機械が読めるようになりますが,人間が読むには殺風景です (CSS
と組み合わせてレイアウトを指定できますが,面倒です).
大雑把にいうと,microformats は「HTML に XML のフレイバーを加えた
もの」です.そのために,class 属性を用います.
たとえば,microformats で名刺を表すには,
<div class="vcard"> <div class="org">株式会社 マイクロ</div> <span class="fn">マイクロ 太郎</span> <div class="tel">+81-3-1234-5678</div> <a class="email" href="mailto:foo@example.com">foo@example.com</a> </div>
のような HTML を用意します.
これをブラウザで表示すると,
となります.人間がみれば,名前が「マイクロ太郎」であることはすぐに
読みとれます.
また,CSS selector で ".vcard .fn" のように指定すれば名前を取得で
きるため,機械も「読む」ことができるわけです.
このように,「".vcard .fn" のような class 属性の使い方を決めておく」
のが microformats です.名刺やイベントのように,よく使われる情報を
中心に class 属性が決められています.
ところで,microformats によって何が変わるのでしょうか?
まず,ウェブページに表示されている情報を,他のアプリケーションで利
用できるようになると思います.たとえば,Google hCalendar @ Make Data Make Sense
にある Greasemonkey Script を使うと,microformats で表されたイベン
ト情報を,ワンクリックで Google Calendar に送ることができます.イ
ベント名や日時をコピペする必要はありません.こういったことが簡単に
できるようになるでしょう.
さらに,microformats によって「ピンポイントな検索」ができるように
なりそうです.Technorati Microformats Search では,microformats の
種類 (hCard など) を指定して検索することができます.つまり,名刺や
イベントといった情報のカテゴリを指定した検索が可能です.将来的には,
「イベントの開始時刻」のようにさらにピンポイントな検索ができるので
はないでしょうか.
まだ対応ツールは少ないですが,普及してこなれてくればウェブがもっと
便利になると期待しています.
残念ながら,microformats を紹介した書籍はまだ少ないです.邦書では
Web2.0 BOOK で軽く触れられているくらいでしょうか.

洋書では,まるごと microformats についての本が出版されています (ま
だ読んでませんが).

次のエントリからは,よく使われる microformats を紹介します.
- hCard [2007-06-16-1]
- hCalendar [2007-06-21-1]
- hReview [2007-06-29-1]
