警告: この記事の内容は古くなっている可能性があります。
microformats (マイクロフォーマット) は、Web サイトがブラウザにセマンティックデータを提供して、ページ上の情報の要約を表示できるようにする仕組みです。ページ作者は、ドキュメント自体をパースする方法を知っている必要はありません。Firefox 3 は、microformats へのアクセスを提供する Microformats
グローバルオブジェクトを実装しています。このオブジェクトと関連する API を利用すれば、microformats を簡単に検出したり読み取ることができます。
microformats API の読み込み
Microformats
オブジェクトは、Firefox 3 に追加された新しい JavaScript スクリプトローダーを使って作成します。API を利用するには、まず次のようにオブジェクトを読み込みます。
Components.utils.import("resource://gre/modules/Microformats.js");
microformats API を読み込んだら、ここに載っているメソッドを用いて microformats を管理できます。microformats のパースに関する情報は Parsing microformats in JavaScript をご覧ください。
定義済み microformats
Firefox 3 はいくつかの一般的な microformats を実装する定義を提供します。
-
adr
- 住所 (通りの名前や完全な住所) を表します。
-
geo
- 緯度と経度を用いて地理的な場所を表します。
-
hCard
- 人の連絡先情報を表します。
-
hCalendar
- カレンダーの予約項目を表します。
-
tag
- 他の microformats にタグを追加するのに使われます。
メソッド
add()
microformat モジュールに新しい microformat を追加します。
add(name, definition);
引数
-
name
- microformat モジュールに追加する microformat の名前
-
definition
- microformat を説明した JavaScript 構造。詳しくは Describing microformats in JavaScript をご覧ください。
count()
指定された条件に一致する、ドキュメント上の microformat の合計数。
numMicroformats = Microformats.count(name, rootElement, options);
引数
-
name
- 数える microformat の名前。
-
rootElement
-
必須。検索を開始する DOM 要素。ドキュメント全体を対象としたい場合は
content.document
を指定します。 - <tt>options</tt>
- オプション。設定する場合、これは、以下のフラグをゼロまたはそれ以上含む JavaScript オブジェクトとします。
recurseExternalFrames
true
の場合、外部コンテンツを参照している子フレームも検索します。デフォルトはtrue
です。showHidden
true
の場合、隠し microformat が追加されます。false
の場合は無視されます。デフォルトはfalse
です。debug
- デバッグモードを使用するときは
true
を指定します。使用しないときはfalse
を指定します。デフォルトはfalse
です。
戻り値
指定された条件に一致する microformat の数を示す整数値。
debug()
microformat オブジェクトを説明した文字列を返します。
debug()
を単純に呼び出すことができます。好みに応じて、このメソッドの代わりに、microformatObject.debug()
を使うこともできます。dumpString = debug(microformatObject)
引数
-
microformatObject
- dump する microformat オブジェクト。
戻り値
指定された microformat オブジェクトの内容を説明した文字列。
get()
指定された条件に一致する microformat の検索結果に相当する、microformat オブジェクトの配列を返します。
microformatsArray = Microformats.get(name, rootElement, options, targetArray);
引数
-
name
- 検索する microformat の名前。
-
rootElement
-
必須。検索を開始する DOM 要素。ドキュメント全体を対象としたい場合は
content.document
を指定します。 -
options
- オプション。指定する場合、これは、以下のフラグをゼロまたはそれ以上含む JavaScript オブジェクトとします:
recurseFrames
true
の場合、子フレームも検索します。デフォルトはtrue
です。showHidden
true
の場合、隠し microformat が追加されます。false
の場合は無視されます。デフォルトはfalse
です。debug
- デバッグモードを使用するときは
true
を指定します。使用しないときはfalse
を指定します。デフォルトはfalse
です。
-
targetArray
- オプション。指定する場合、これは、検索結果を追加する microformat オブジェクトの配列です。
戻り値
検索条件に一致する microformat オブジェクトの新しい配列。あるいは、新たに見つかった microformat オブジェクトが追加された、microformats
で指定された配列。
getNamesFromNode()
指定された microformat ノードに相当する、microformat の名前のスペース区切りのリストを返します。
nameList = Microformats.getNamesFromNode(node);
引数
-
node
- microformat の名前のリストを取得するノード。
戻り値
指定された node
が microformat である場合、戻り値は、そのノードに相当する microformat の名前をすべてリストした、スペース区切りの文字列になります。ノードが microformat でなかった場合、何も戻りません。
getParent()
指定された microformat の親ノード、または microformat の子ノードを返します。
parentNode = Microformats.getParent(node);
引数
-
node
- 親ノードを取得したいノード。
戻り値
指定されたノードの親ノード。指定された node
が microformat でなかった場合や、microformat の子ノードでなかった場合は、何も戻りません。
isMicroformat()
指定された DOM ノードが microformat かどうかを判別します。
flag = Microformats.isMicroformat(node);
引数
-
node
- microformat かどうかを判別する DOM ノード。
戻り値
ノードが microformat である場合は true
を、そうでない場合は false
。
true
を返しません。