――開発作業との親和性が高い「Optimus」の使い方を教えてほしい

Optimusは非常に簡単に使えるツールです。先のとおり、数多くの機能が用意されていますが、ここでは、代表的な機能としてデバッグ機能とデータ変換機能を見ていきましょう。

なお、Optimusは、自分のサーバー上にインストールして実行することも可能ですが、以下ではOptimusサーバー上で利用することを想定して説明していきます。

デバッグ機能

まずはデバッグ機能です。

デバッグ機能の利用手順は、Optimusのページ(http://microformatique.com/optimus/)を開き、同ページのValidatorフィールドにURLを入力してValidateボタンをクリックするだけです。

少し古い例ですが、こちらのページは、Optimasのデバッグ機能を使って出力されたレポートです。マイクロフォーマットの内容がフォーマット別に表示され、問題がある個所ではエラーが表示されていることがおわかりなるでしょう。

データ変換機能

続いてデータ変換機能です。

先述のとおり、Optimusは、マイクロフォーマットをWebページから抽出し、そのデータを変換して出力する機能を備えています。こちらは、Optimusの中でも最も重要な機能として挙げられます。

同機能を使用すれば、マイクロフォーマットのデータを自分のプロジェクトで自由に使えます。例えば、hcardに記述されたコンテンツの詳細をWeb上から探し出す"スパイダー"を作ることになったとしましょう。その場合も、Optimusを使えば、Webページに含まれている全てのhcardフォーマットを抽出し、JSONで書き出すといったことも非常に簡単に行えます。間違いなくデータを扱うのが楽になるはずです。

データ変換機能を、Optimusサーバー上で利用する場合、以下のように、「http://microformatique.com/optimus」の後にさまざまなパラメータを入力して実行することになります。

http://microformatique.com/optimus/ ?uri=《対象WebページのURL》 [&format=《format》 [&function=function》]] [&filter=《filter》]

上記パラメータのうち、《対象サイトのURL》は変換したいページ(マイクロフォーマットを含むWebページ)のURLです。

また、《format》には変換先の言語(フォーマット)を指定します。フォマーットはXML(入力値は「xml」), JSON(入力値は「json」), rss(入力値は「rss」)から選ぶことができ、省略すればxmlになります。

一方、《function》にはJSONのコールバック関数を指定します。何も使用しないのであれば入力する必要はありません。

そして、《Filter》は文字通り"フィルター"です。Optimusでは、変換元のWebページにマイクロフォーマットが数多く記述されていた場合に備え、変換対象のマイクロフォーマットの種類を絞ることができます。そのためのパラメータが《Filter》です。出力結果には、ここで指定したフォーマットのみが(半角スペースで区切られて)表示されます。何も指定しなければ、「vcalendar」、「hcard」、「hatom」、「hresume」、「hreview」、「hlisting」、「xfolkentry」、「adr」、「geo」、「xfn」、「votelinks」、「rel-nofollow」、「rel-tag」、「rel-lincense」が対象となります。なお、《format》にrssを指定した場合は、このパラメータは無視されます。

実行コマンドの例として以下のURIを用意しました。

http://microformatique.com/optimus/?uri=http://johnfallsopp.com/&format=json&function=&filter=hcalendar+hcard+hresume

このコマンドでは、以下のパラメータを指定しています。

  • URI(対象WebページのURI): "http://johnfallsopp.com/"
  • format(変換先フォーマット): json
  • function(JSONのコールバック関数): なし
  • filter(フィルター): "hcalendar+hcard+hresume"

上記URIを実行すると、以下のような結果が表示されるはずです。

上記URIの実行結果

もちろん、formatの値をjsonからxmlに変更すれば、XMLによる出力を得ることができます。

これで、マイクロフォーマットのデータ抽出処理を実装することなく、Web上のさまざまな情報を加工することができるようになりました。ぜひ皆さんもご自分で試してください。