ブログ

たけまる / 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>

microformats の評価 (microformats.org)
評価者: マイクロ 太郎
評価: ★★★★★


■ 参考情報

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>

ブラウザで表示すると次のようになります.

株式会社 マイクロ
マイクロ 太郎
+81-3-1234-5678


■ 参考情報

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 を用意します.

これをブラウザで表示すると,

株式会社 マイクロ
マイクロ 太郎
+81-3-1234-5678


となります.人間がみれば,名前が「マイクロ太郎」であることはすぐに
読みとれます.

また,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]
Referrer (Inside): [2007-06-16-1]