Firefox 2 は検索プラグインの格納に OpenSearch フォーマットを単純化した形式を使います。MozSearch 検索プラグインは検索エンジンとその URL、URL を解釈するのに必要なパラメータを記述した XML ファイルです。
プラグインファイル
MozSearch 形式は OpenSearch フォーマットに似ています。違いはルート要素と XML 名前空間だけです(ただし XML としては非常に重大な違いです)。
例: Yahoo! を検索する
以下の XML は Yahoo! で検索するために Firefox 2 にバンドルされている検索プラグインです:
<SearchPlugin xmlns="https://www.mozilla.org/2006/browser/search/"> <ShortName>Yahoo</ShortName> <Description>Yahoo 検索</Description> <InputEncoding>UTF-8</InputEncoding> <Image width="16" height="16">data:image/x-icon;base64,R0lGODlhEAAQAJECAP8AAAAAAP///wAAACH5BAEAAAIALAAAAAAQABAAAAIplI+py+0NogQuyBDEnEd2kHkfFWUamEzmpZSfmaIHPHrRguUm/fT+UwAAOw==</Image> <Url type="application/x-suggestions+json" method="GET" template="https://ff.search.yahoo.com/gossip?output=fxjson&command={searchTerms}" /> <Url type="text/html" method="GET" template="https://search.yahoo.com/search"> <Param name="p" value="{searchTerms}"/> <Param name="ei" value="UTF-8"/> <MozParam name="fr" condition="pref" pref="yahoo-fr" /> </Url> <SearchForm>https://search.yahoo.com/</SearchForm> </SearchPlugin>
仮にユーザが Yahoo! 検索エンジンプラグインを選び、検索ボックスに 'mozilla' と入力しエンターキーを押しとします。Firefox は以下のような検索 URL を作成するために上の検索エンジンの記述を使います。
https://search.yahoo.com/search?p=mozilla&ei=UTF-8&fr=moz2
もしユーザが検索バーの虫眼鏡のアイコンをクリックするか、検索バーが表示されていない時にツールメニューのウェブ検索オプションを選ぶと、ブラウザは <SearchForm> 要素の値である https://search.yahoo.com/ に移動します。
例: MDC を検索する
このプラグインで Mozilla Developer Center の Web サイト【訳注: 以下は日本語版用。このページの英語版にMozilla Developer Center 英語版用がある】を簡単に検索することができます。
<SearchPlugin xmlns="https://www.mozilla.org/2006/browser/search/"> <ShortName>MDC</ShortName> <Description>Mozilla Developer Center search</Description> <InputEncoding>UTF-8</InputEncoding> <Image width="16" height="16">data:image/x-icon;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8%2F9hAAAABGdBTUEAAK%2FINwWK6QAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAHWSURBVHjaYvz%2F%2Fz8DJQAggJiQOe%2Ffv2fv7Oz8rays%2FN%2BVkfG%2FiYnJfyD%2F1%2BrVq7ffu3dPFpsBAAHEAHIBCJ85c8bN2Nj4vwsDw%2F8zQLwKiO8CcRoQu0DxqlWrdsHUwzBAAIGJmTNnPgYa9j8UqhFElwPxf2MIDeIrKSn9FwSJoRkAEEAM0DD4DzMAyPi%2FG%2BQKY4hh5WAXGf8PDQ0FGwJ22d27CjADAAIIrLmjo%2BMXA9R2kAHvGBA2wwx6B8W7od6CeQcggKCmCEL8bgwxYCbUIGTDVkHDBia%2BCuotgACCueD3TDQN75D4xmAvCoK9ARMHBzAw0AECiBHkAlC0Mdy7x9ABNA3obAZXIAa6iKEcGlMVQHwWyjYuL2d4v2cPg8vZswx7gHyAAAK7AOif7SAbOqCmn4Ha3AHFsIDtgPq%2FvLz8P4MSkJ2W9h8ggBjevXvHDo4FQUQg%2FkdypqCg4H8lUIACnQ%2FSOBMYI8bAsAJFPcj1AAEEjwVQqLpAbXmH5BJjqI0gi9DTAAgDBBCcAVLkgmQ7yKCZxpCQxqUZhAECCJ4XgMl493ug21ZD%2BaDAXH0WLM4A9MZPXJkJIIAwTAR5pQMalaCABQUULttBGCCAGCnNzgABBgAMJ5THwGvJLAAAAABJRU5ErkJggg%3D%3D</Image> <Url type="text/html" method="GET" template="https://developer.mozilla.org/en/docs/Special:Search?search={searchTerms}"/> <SearchForm>https://developer.mozilla.org/ja/docs/Special:Search</SearchForm> </SearchPlugin>
この例では検索エンジンのパラメータを定義するために <Param>
ではなく単純にテンプレート URL の中に埋め込んでいることに注意してください。これは実際にメソッドとして GET
を使うときに都合のよい方法です。<Param>
は POST
のために使うべきです。