Please note, this is a STATIC archive of website developer.mozilla.org from 03 Nov 2016, cach3.com does not collect or store any user information, there is no "phishing" involved.

Describing microformats in JavaScript

microformats は、オブジェクトを説明するいくつかの標準的なメンバを伴った、標準化された構造形式を用いることで、JavaScript によって記述できます。

microformat 定義形式

microformat の定義には以下の項目が含まれていなくてはなりません。

mfVersion
定義の記述に利用される microformat API のバージョン番号を指定します。Firefox 3 では 0.8 と指定します。
mfObject
microformat を実装する JavaScript オブジェクト。
className
HTML 内で参照されている microformat のクラス名を指定する文字列。
required
指定が必須とされるプロトタイプ名を示す配列。すべてのプロパティがオプションの場合、これは省略しても構いません。
properties
microformat のプロパティを記述した構造体。

プロパティの仕様

properties 構造体の各プロパティは、その名前によって指定され、そのプロパティが必要とする場合には追加の属性が含まれる場合もあります。標準の属性は以下の通りです。

plural
真偽値。true の場合、プロパティは複数の値を持つことができます。プロパティが複数の場合、配列として返されます。
virtual
真偽値。プロパティが仮想かどうかを示します。仮想の場合、virtualGetter() メソッドが呼ばれると、そのプロパティが存在しない場合は新規作成を試みます。
virtualGetter
仮想プロパティの値を取得するために呼び出される関数。これは virtualtrue の場合のみ利用されます。
value
プロパティのデフォルト値。
subproperties
プロパティには、それ自身に複数のプロパティを持たせることができます。その場合は、プロパティ内部の subproperties 構造体に、それらのプロパティを追加します。
dataType
プロパティによって指定されているデータの形式。取り得る値は、
dateTime
ISO 形式の日付
anyURI
URI
email
メールアドレス
tel
電話番号
HTML
タグを含む HTML
float
浮動小数点数
microformat
microformat
microformat_property
microformat によって指定された microformat 内の特定のプロパティ
custom
独自データ

シンプルな例

連絡先情報を定義するための hCard microformat では、住所の定義に adr microformat を利用します。adr microformat は以下のように定義されます。

var adr_definition = {
  mfVersion: 0.8,
  mfObject: adr,
  className: "adr",
  properties: {
    "type" : {
      plural: true,
      types: ["work", "home", "pref", "postal", "dom", "intl", "parcel"]
    },
    "post-office-box" : {
    },
    "street-address" : {
      plural: true
    },
    "extended-address" : {
    },
    "locality" : {
    },
    "region" : {
    },
    "postal-code" : {
    },
    "country-name" : {
    }
  }
};

ここでのプロパティは至って単純です。type プロパティは、オブジェクト (職場や自宅など) によって表される住所の形式を示します。plural プロパティが true になっていることから、複数の形式を指定できます。これにより、例えば、小鼓の受け取り先として職場の住所を指定することができます。

street-address プロパティもまた plural となっています。これにより、street-address 配列内に複数行の住所情報を含めることができます。

microformat は、以下のように Microformats.add() を呼び出すことで、microformat API に登録できます。

Microformats.add("adr", adr_definition);

註: なお、adr microformat は Firefox 3 以降には標準で含まれていますので、利用したい場合に、わざわざ自分で追加する必要はありません。

関連記事

Using microformats, Parsing microformats in JavaScript

ドキュメントのタグと貢献者

 このページの貢献者: Mgjbot, Kohei
 最終更新者: Mgjbot,